mirror of
https://github.com/QIDITECH/klipper.git
synced 2026-01-30 23:48:43 +03:00
plus4的klipper版本
This commit is contained in:
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
out
|
||||||
|
*.so
|
||||||
|
*.pyc
|
||||||
|
.config
|
||||||
|
.config.old
|
||||||
|
klippy/.version
|
||||||
674
LICENSE
674
LICENSE
@@ -1,674 +0,0 @@
|
|||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
Version 3, 29 June 2007
|
|
||||||
|
|
||||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
|
||||||
of this license document, but changing it is not allowed.
|
|
||||||
|
|
||||||
Preamble
|
|
||||||
|
|
||||||
The GNU General Public License is a free, copyleft license for
|
|
||||||
software and other kinds of works.
|
|
||||||
|
|
||||||
The licenses for most software and other practical works are designed
|
|
||||||
to take away your freedom to share and change the works. By contrast,
|
|
||||||
the GNU General Public License is intended to guarantee your freedom to
|
|
||||||
share and change all versions of a program--to make sure it remains free
|
|
||||||
software for all its users. We, the Free Software Foundation, use the
|
|
||||||
GNU General Public License for most of our software; it applies also to
|
|
||||||
any other work released this way by its authors. You can apply it to
|
|
||||||
your programs, too.
|
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom, not
|
|
||||||
price. Our General Public Licenses are designed to make sure that you
|
|
||||||
have the freedom to distribute copies of free software (and charge for
|
|
||||||
them if you wish), that you receive source code or can get it if you
|
|
||||||
want it, that you can change the software or use pieces of it in new
|
|
||||||
free programs, and that you know you can do these things.
|
|
||||||
|
|
||||||
To protect your rights, we need to prevent others from denying you
|
|
||||||
these rights or asking you to surrender the rights. Therefore, you have
|
|
||||||
certain responsibilities if you distribute copies of the software, or if
|
|
||||||
you modify it: responsibilities to respect the freedom of others.
|
|
||||||
|
|
||||||
For example, if you distribute copies of such a program, whether
|
|
||||||
gratis or for a fee, you must pass on to the recipients the same
|
|
||||||
freedoms that you received. You must make sure that they, too, receive
|
|
||||||
or can get the source code. And you must show them these terms so they
|
|
||||||
know their rights.
|
|
||||||
|
|
||||||
Developers that use the GNU GPL protect your rights with two steps:
|
|
||||||
(1) assert copyright on the software, and (2) offer you this License
|
|
||||||
giving you legal permission to copy, distribute and/or modify it.
|
|
||||||
|
|
||||||
For the developers' and authors' protection, the GPL clearly explains
|
|
||||||
that there is no warranty for this free software. For both users' and
|
|
||||||
authors' sake, the GPL requires that modified versions be marked as
|
|
||||||
changed, so that their problems will not be attributed erroneously to
|
|
||||||
authors of previous versions.
|
|
||||||
|
|
||||||
Some devices are designed to deny users access to install or run
|
|
||||||
modified versions of the software inside them, although the manufacturer
|
|
||||||
can do so. This is fundamentally incompatible with the aim of
|
|
||||||
protecting users' freedom to change the software. The systematic
|
|
||||||
pattern of such abuse occurs in the area of products for individuals to
|
|
||||||
use, which is precisely where it is most unacceptable. Therefore, we
|
|
||||||
have designed this version of the GPL to prohibit the practice for those
|
|
||||||
products. If such problems arise substantially in other domains, we
|
|
||||||
stand ready to extend this provision to those domains in future versions
|
|
||||||
of the GPL, as needed to protect the freedom of users.
|
|
||||||
|
|
||||||
Finally, every program is threatened constantly by software patents.
|
|
||||||
States should not allow patents to restrict development and use of
|
|
||||||
software on general-purpose computers, but in those that do, we wish to
|
|
||||||
avoid the special danger that patents applied to a free program could
|
|
||||||
make it effectively proprietary. To prevent this, the GPL assures that
|
|
||||||
patents cannot be used to render the program non-free.
|
|
||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
|
||||||
modification follow.
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
0. Definitions.
|
|
||||||
|
|
||||||
"This License" refers to version 3 of the GNU General Public License.
|
|
||||||
|
|
||||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
|
||||||
works, such as semiconductor masks.
|
|
||||||
|
|
||||||
"The Program" refers to any copyrightable work licensed under this
|
|
||||||
License. Each licensee is addressed as "you". "Licensees" and
|
|
||||||
"recipients" may be individuals or organizations.
|
|
||||||
|
|
||||||
To "modify" a work means to copy from or adapt all or part of the work
|
|
||||||
in a fashion requiring copyright permission, other than the making of an
|
|
||||||
exact copy. The resulting work is called a "modified version" of the
|
|
||||||
earlier work or a work "based on" the earlier work.
|
|
||||||
|
|
||||||
A "covered work" means either the unmodified Program or a work based
|
|
||||||
on the Program.
|
|
||||||
|
|
||||||
To "propagate" a work means to do anything with it that, without
|
|
||||||
permission, would make you directly or secondarily liable for
|
|
||||||
infringement under applicable copyright law, except executing it on a
|
|
||||||
computer or modifying a private copy. Propagation includes copying,
|
|
||||||
distribution (with or without modification), making available to the
|
|
||||||
public, and in some countries other activities as well.
|
|
||||||
|
|
||||||
To "convey" a work means any kind of propagation that enables other
|
|
||||||
parties to make or receive copies. Mere interaction with a user through
|
|
||||||
a computer network, with no transfer of a copy, is not conveying.
|
|
||||||
|
|
||||||
An interactive user interface displays "Appropriate Legal Notices"
|
|
||||||
to the extent that it includes a convenient and prominently visible
|
|
||||||
feature that (1) displays an appropriate copyright notice, and (2)
|
|
||||||
tells the user that there is no warranty for the work (except to the
|
|
||||||
extent that warranties are provided), that licensees may convey the
|
|
||||||
work under this License, and how to view a copy of this License. If
|
|
||||||
the interface presents a list of user commands or options, such as a
|
|
||||||
menu, a prominent item in the list meets this criterion.
|
|
||||||
|
|
||||||
1. Source Code.
|
|
||||||
|
|
||||||
The "source code" for a work means the preferred form of the work
|
|
||||||
for making modifications to it. "Object code" means any non-source
|
|
||||||
form of a work.
|
|
||||||
|
|
||||||
A "Standard Interface" means an interface that either is an official
|
|
||||||
standard defined by a recognized standards body, or, in the case of
|
|
||||||
interfaces specified for a particular programming language, one that
|
|
||||||
is widely used among developers working in that language.
|
|
||||||
|
|
||||||
The "System Libraries" of an executable work include anything, other
|
|
||||||
than the work as a whole, that (a) is included in the normal form of
|
|
||||||
packaging a Major Component, but which is not part of that Major
|
|
||||||
Component, and (b) serves only to enable use of the work with that
|
|
||||||
Major Component, or to implement a Standard Interface for which an
|
|
||||||
implementation is available to the public in source code form. A
|
|
||||||
"Major Component", in this context, means a major essential component
|
|
||||||
(kernel, window system, and so on) of the specific operating system
|
|
||||||
(if any) on which the executable work runs, or a compiler used to
|
|
||||||
produce the work, or an object code interpreter used to run it.
|
|
||||||
|
|
||||||
The "Corresponding Source" for a work in object code form means all
|
|
||||||
the source code needed to generate, install, and (for an executable
|
|
||||||
work) run the object code and to modify the work, including scripts to
|
|
||||||
control those activities. However, it does not include the work's
|
|
||||||
System Libraries, or general-purpose tools or generally available free
|
|
||||||
programs which are used unmodified in performing those activities but
|
|
||||||
which are not part of the work. For example, Corresponding Source
|
|
||||||
includes interface definition files associated with source files for
|
|
||||||
the work, and the source code for shared libraries and dynamically
|
|
||||||
linked subprograms that the work is specifically designed to require,
|
|
||||||
such as by intimate data communication or control flow between those
|
|
||||||
subprograms and other parts of the work.
|
|
||||||
|
|
||||||
The Corresponding Source need not include anything that users
|
|
||||||
can regenerate automatically from other parts of the Corresponding
|
|
||||||
Source.
|
|
||||||
|
|
||||||
The Corresponding Source for a work in source code form is that
|
|
||||||
same work.
|
|
||||||
|
|
||||||
2. Basic Permissions.
|
|
||||||
|
|
||||||
All rights granted under this License are granted for the term of
|
|
||||||
copyright on the Program, and are irrevocable provided the stated
|
|
||||||
conditions are met. This License explicitly affirms your unlimited
|
|
||||||
permission to run the unmodified Program. The output from running a
|
|
||||||
covered work is covered by this License only if the output, given its
|
|
||||||
content, constitutes a covered work. This License acknowledges your
|
|
||||||
rights of fair use or other equivalent, as provided by copyright law.
|
|
||||||
|
|
||||||
You may make, run and propagate covered works that you do not
|
|
||||||
convey, without conditions so long as your license otherwise remains
|
|
||||||
in force. You may convey covered works to others for the sole purpose
|
|
||||||
of having them make modifications exclusively for you, or provide you
|
|
||||||
with facilities for running those works, provided that you comply with
|
|
||||||
the terms of this License in conveying all material for which you do
|
|
||||||
not control copyright. Those thus making or running the covered works
|
|
||||||
for you must do so exclusively on your behalf, under your direction
|
|
||||||
and control, on terms that prohibit them from making any copies of
|
|
||||||
your copyrighted material outside their relationship with you.
|
|
||||||
|
|
||||||
Conveying under any other circumstances is permitted solely under
|
|
||||||
the conditions stated below. Sublicensing is not allowed; section 10
|
|
||||||
makes it unnecessary.
|
|
||||||
|
|
||||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
|
||||||
|
|
||||||
No covered work shall be deemed part of an effective technological
|
|
||||||
measure under any applicable law fulfilling obligations under article
|
|
||||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
|
||||||
similar laws prohibiting or restricting circumvention of such
|
|
||||||
measures.
|
|
||||||
|
|
||||||
When you convey a covered work, you waive any legal power to forbid
|
|
||||||
circumvention of technological measures to the extent such circumvention
|
|
||||||
is effected by exercising rights under this License with respect to
|
|
||||||
the covered work, and you disclaim any intention to limit operation or
|
|
||||||
modification of the work as a means of enforcing, against the work's
|
|
||||||
users, your or third parties' legal rights to forbid circumvention of
|
|
||||||
technological measures.
|
|
||||||
|
|
||||||
4. Conveying Verbatim Copies.
|
|
||||||
|
|
||||||
You may convey verbatim copies of the Program's source code as you
|
|
||||||
receive it, in any medium, provided that you conspicuously and
|
|
||||||
appropriately publish on each copy an appropriate copyright notice;
|
|
||||||
keep intact all notices stating that this License and any
|
|
||||||
non-permissive terms added in accord with section 7 apply to the code;
|
|
||||||
keep intact all notices of the absence of any warranty; and give all
|
|
||||||
recipients a copy of this License along with the Program.
|
|
||||||
|
|
||||||
You may charge any price or no price for each copy that you convey,
|
|
||||||
and you may offer support or warranty protection for a fee.
|
|
||||||
|
|
||||||
5. Conveying Modified Source Versions.
|
|
||||||
|
|
||||||
You may convey a work based on the Program, or the modifications to
|
|
||||||
produce it from the Program, in the form of source code under the
|
|
||||||
terms of section 4, provided that you also meet all of these conditions:
|
|
||||||
|
|
||||||
a) The work must carry prominent notices stating that you modified
|
|
||||||
it, and giving a relevant date.
|
|
||||||
|
|
||||||
b) The work must carry prominent notices stating that it is
|
|
||||||
released under this License and any conditions added under section
|
|
||||||
7. This requirement modifies the requirement in section 4 to
|
|
||||||
"keep intact all notices".
|
|
||||||
|
|
||||||
c) You must license the entire work, as a whole, under this
|
|
||||||
License to anyone who comes into possession of a copy. This
|
|
||||||
License will therefore apply, along with any applicable section 7
|
|
||||||
additional terms, to the whole of the work, and all its parts,
|
|
||||||
regardless of how they are packaged. This License gives no
|
|
||||||
permission to license the work in any other way, but it does not
|
|
||||||
invalidate such permission if you have separately received it.
|
|
||||||
|
|
||||||
d) If the work has interactive user interfaces, each must display
|
|
||||||
Appropriate Legal Notices; however, if the Program has interactive
|
|
||||||
interfaces that do not display Appropriate Legal Notices, your
|
|
||||||
work need not make them do so.
|
|
||||||
|
|
||||||
A compilation of a covered work with other separate and independent
|
|
||||||
works, which are not by their nature extensions of the covered work,
|
|
||||||
and which are not combined with it such as to form a larger program,
|
|
||||||
in or on a volume of a storage or distribution medium, is called an
|
|
||||||
"aggregate" if the compilation and its resulting copyright are not
|
|
||||||
used to limit the access or legal rights of the compilation's users
|
|
||||||
beyond what the individual works permit. Inclusion of a covered work
|
|
||||||
in an aggregate does not cause this License to apply to the other
|
|
||||||
parts of the aggregate.
|
|
||||||
|
|
||||||
6. Conveying Non-Source Forms.
|
|
||||||
|
|
||||||
You may convey a covered work in object code form under the terms
|
|
||||||
of sections 4 and 5, provided that you also convey the
|
|
||||||
machine-readable Corresponding Source under the terms of this License,
|
|
||||||
in one of these ways:
|
|
||||||
|
|
||||||
a) Convey the object code in, or embodied in, a physical product
|
|
||||||
(including a physical distribution medium), accompanied by the
|
|
||||||
Corresponding Source fixed on a durable physical medium
|
|
||||||
customarily used for software interchange.
|
|
||||||
|
|
||||||
b) Convey the object code in, or embodied in, a physical product
|
|
||||||
(including a physical distribution medium), accompanied by a
|
|
||||||
written offer, valid for at least three years and valid for as
|
|
||||||
long as you offer spare parts or customer support for that product
|
|
||||||
model, to give anyone who possesses the object code either (1) a
|
|
||||||
copy of the Corresponding Source for all the software in the
|
|
||||||
product that is covered by this License, on a durable physical
|
|
||||||
medium customarily used for software interchange, for a price no
|
|
||||||
more than your reasonable cost of physically performing this
|
|
||||||
conveying of source, or (2) access to copy the
|
|
||||||
Corresponding Source from a network server at no charge.
|
|
||||||
|
|
||||||
c) Convey individual copies of the object code with a copy of the
|
|
||||||
written offer to provide the Corresponding Source. This
|
|
||||||
alternative is allowed only occasionally and noncommercially, and
|
|
||||||
only if you received the object code with such an offer, in accord
|
|
||||||
with subsection 6b.
|
|
||||||
|
|
||||||
d) Convey the object code by offering access from a designated
|
|
||||||
place (gratis or for a charge), and offer equivalent access to the
|
|
||||||
Corresponding Source in the same way through the same place at no
|
|
||||||
further charge. You need not require recipients to copy the
|
|
||||||
Corresponding Source along with the object code. If the place to
|
|
||||||
copy the object code is a network server, the Corresponding Source
|
|
||||||
may be on a different server (operated by you or a third party)
|
|
||||||
that supports equivalent copying facilities, provided you maintain
|
|
||||||
clear directions next to the object code saying where to find the
|
|
||||||
Corresponding Source. Regardless of what server hosts the
|
|
||||||
Corresponding Source, you remain obligated to ensure that it is
|
|
||||||
available for as long as needed to satisfy these requirements.
|
|
||||||
|
|
||||||
e) Convey the object code using peer-to-peer transmission, provided
|
|
||||||
you inform other peers where the object code and Corresponding
|
|
||||||
Source of the work are being offered to the general public at no
|
|
||||||
charge under subsection 6d.
|
|
||||||
|
|
||||||
A separable portion of the object code, whose source code is excluded
|
|
||||||
from the Corresponding Source as a System Library, need not be
|
|
||||||
included in conveying the object code work.
|
|
||||||
|
|
||||||
A "User Product" is either (1) a "consumer product", which means any
|
|
||||||
tangible personal property which is normally used for personal, family,
|
|
||||||
or household purposes, or (2) anything designed or sold for incorporation
|
|
||||||
into a dwelling. In determining whether a product is a consumer product,
|
|
||||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
|
||||||
product received by a particular user, "normally used" refers to a
|
|
||||||
typical or common use of that class of product, regardless of the status
|
|
||||||
of the particular user or of the way in which the particular user
|
|
||||||
actually uses, or expects or is expected to use, the product. A product
|
|
||||||
is a consumer product regardless of whether the product has substantial
|
|
||||||
commercial, industrial or non-consumer uses, unless such uses represent
|
|
||||||
the only significant mode of use of the product.
|
|
||||||
|
|
||||||
"Installation Information" for a User Product means any methods,
|
|
||||||
procedures, authorization keys, or other information required to install
|
|
||||||
and execute modified versions of a covered work in that User Product from
|
|
||||||
a modified version of its Corresponding Source. The information must
|
|
||||||
suffice to ensure that the continued functioning of the modified object
|
|
||||||
code is in no case prevented or interfered with solely because
|
|
||||||
modification has been made.
|
|
||||||
|
|
||||||
If you convey an object code work under this section in, or with, or
|
|
||||||
specifically for use in, a User Product, and the conveying occurs as
|
|
||||||
part of a transaction in which the right of possession and use of the
|
|
||||||
User Product is transferred to the recipient in perpetuity or for a
|
|
||||||
fixed term (regardless of how the transaction is characterized), the
|
|
||||||
Corresponding Source conveyed under this section must be accompanied
|
|
||||||
by the Installation Information. But this requirement does not apply
|
|
||||||
if neither you nor any third party retains the ability to install
|
|
||||||
modified object code on the User Product (for example, the work has
|
|
||||||
been installed in ROM).
|
|
||||||
|
|
||||||
The requirement to provide Installation Information does not include a
|
|
||||||
requirement to continue to provide support service, warranty, or updates
|
|
||||||
for a work that has been modified or installed by the recipient, or for
|
|
||||||
the User Product in which it has been modified or installed. Access to a
|
|
||||||
network may be denied when the modification itself materially and
|
|
||||||
adversely affects the operation of the network or violates the rules and
|
|
||||||
protocols for communication across the network.
|
|
||||||
|
|
||||||
Corresponding Source conveyed, and Installation Information provided,
|
|
||||||
in accord with this section must be in a format that is publicly
|
|
||||||
documented (and with an implementation available to the public in
|
|
||||||
source code form), and must require no special password or key for
|
|
||||||
unpacking, reading or copying.
|
|
||||||
|
|
||||||
7. Additional Terms.
|
|
||||||
|
|
||||||
"Additional permissions" are terms that supplement the terms of this
|
|
||||||
License by making exceptions from one or more of its conditions.
|
|
||||||
Additional permissions that are applicable to the entire Program shall
|
|
||||||
be treated as though they were included in this License, to the extent
|
|
||||||
that they are valid under applicable law. If additional permissions
|
|
||||||
apply only to part of the Program, that part may be used separately
|
|
||||||
under those permissions, but the entire Program remains governed by
|
|
||||||
this License without regard to the additional permissions.
|
|
||||||
|
|
||||||
When you convey a copy of a covered work, you may at your option
|
|
||||||
remove any additional permissions from that copy, or from any part of
|
|
||||||
it. (Additional permissions may be written to require their own
|
|
||||||
removal in certain cases when you modify the work.) You may place
|
|
||||||
additional permissions on material, added by you to a covered work,
|
|
||||||
for which you have or can give appropriate copyright permission.
|
|
||||||
|
|
||||||
Notwithstanding any other provision of this License, for material you
|
|
||||||
add to a covered work, you may (if authorized by the copyright holders of
|
|
||||||
that material) supplement the terms of this License with terms:
|
|
||||||
|
|
||||||
a) Disclaiming warranty or limiting liability differently from the
|
|
||||||
terms of sections 15 and 16 of this License; or
|
|
||||||
|
|
||||||
b) Requiring preservation of specified reasonable legal notices or
|
|
||||||
author attributions in that material or in the Appropriate Legal
|
|
||||||
Notices displayed by works containing it; or
|
|
||||||
|
|
||||||
c) Prohibiting misrepresentation of the origin of that material, or
|
|
||||||
requiring that modified versions of such material be marked in
|
|
||||||
reasonable ways as different from the original version; or
|
|
||||||
|
|
||||||
d) Limiting the use for publicity purposes of names of licensors or
|
|
||||||
authors of the material; or
|
|
||||||
|
|
||||||
e) Declining to grant rights under trademark law for use of some
|
|
||||||
trade names, trademarks, or service marks; or
|
|
||||||
|
|
||||||
f) Requiring indemnification of licensors and authors of that
|
|
||||||
material by anyone who conveys the material (or modified versions of
|
|
||||||
it) with contractual assumptions of liability to the recipient, for
|
|
||||||
any liability that these contractual assumptions directly impose on
|
|
||||||
those licensors and authors.
|
|
||||||
|
|
||||||
All other non-permissive additional terms are considered "further
|
|
||||||
restrictions" within the meaning of section 10. If the Program as you
|
|
||||||
received it, or any part of it, contains a notice stating that it is
|
|
||||||
governed by this License along with a term that is a further
|
|
||||||
restriction, you may remove that term. If a license document contains
|
|
||||||
a further restriction but permits relicensing or conveying under this
|
|
||||||
License, you may add to a covered work material governed by the terms
|
|
||||||
of that license document, provided that the further restriction does
|
|
||||||
not survive such relicensing or conveying.
|
|
||||||
|
|
||||||
If you add terms to a covered work in accord with this section, you
|
|
||||||
must place, in the relevant source files, a statement of the
|
|
||||||
additional terms that apply to those files, or a notice indicating
|
|
||||||
where to find the applicable terms.
|
|
||||||
|
|
||||||
Additional terms, permissive or non-permissive, may be stated in the
|
|
||||||
form of a separately written license, or stated as exceptions;
|
|
||||||
the above requirements apply either way.
|
|
||||||
|
|
||||||
8. Termination.
|
|
||||||
|
|
||||||
You may not propagate or modify a covered work except as expressly
|
|
||||||
provided under this License. Any attempt otherwise to propagate or
|
|
||||||
modify it is void, and will automatically terminate your rights under
|
|
||||||
this License (including any patent licenses granted under the third
|
|
||||||
paragraph of section 11).
|
|
||||||
|
|
||||||
However, if you cease all violation of this License, then your
|
|
||||||
license from a particular copyright holder is reinstated (a)
|
|
||||||
provisionally, unless and until the copyright holder explicitly and
|
|
||||||
finally terminates your license, and (b) permanently, if the copyright
|
|
||||||
holder fails to notify you of the violation by some reasonable means
|
|
||||||
prior to 60 days after the cessation.
|
|
||||||
|
|
||||||
Moreover, your license from a particular copyright holder is
|
|
||||||
reinstated permanently if the copyright holder notifies you of the
|
|
||||||
violation by some reasonable means, this is the first time you have
|
|
||||||
received notice of violation of this License (for any work) from that
|
|
||||||
copyright holder, and you cure the violation prior to 30 days after
|
|
||||||
your receipt of the notice.
|
|
||||||
|
|
||||||
Termination of your rights under this section does not terminate the
|
|
||||||
licenses of parties who have received copies or rights from you under
|
|
||||||
this License. If your rights have been terminated and not permanently
|
|
||||||
reinstated, you do not qualify to receive new licenses for the same
|
|
||||||
material under section 10.
|
|
||||||
|
|
||||||
9. Acceptance Not Required for Having Copies.
|
|
||||||
|
|
||||||
You are not required to accept this License in order to receive or
|
|
||||||
run a copy of the Program. Ancillary propagation of a covered work
|
|
||||||
occurring solely as a consequence of using peer-to-peer transmission
|
|
||||||
to receive a copy likewise does not require acceptance. However,
|
|
||||||
nothing other than this License grants you permission to propagate or
|
|
||||||
modify any covered work. These actions infringe copyright if you do
|
|
||||||
not accept this License. Therefore, by modifying or propagating a
|
|
||||||
covered work, you indicate your acceptance of this License to do so.
|
|
||||||
|
|
||||||
10. Automatic Licensing of Downstream Recipients.
|
|
||||||
|
|
||||||
Each time you convey a covered work, the recipient automatically
|
|
||||||
receives a license from the original licensors, to run, modify and
|
|
||||||
propagate that work, subject to this License. You are not responsible
|
|
||||||
for enforcing compliance by third parties with this License.
|
|
||||||
|
|
||||||
An "entity transaction" is a transaction transferring control of an
|
|
||||||
organization, or substantially all assets of one, or subdividing an
|
|
||||||
organization, or merging organizations. If propagation of a covered
|
|
||||||
work results from an entity transaction, each party to that
|
|
||||||
transaction who receives a copy of the work also receives whatever
|
|
||||||
licenses to the work the party's predecessor in interest had or could
|
|
||||||
give under the previous paragraph, plus a right to possession of the
|
|
||||||
Corresponding Source of the work from the predecessor in interest, if
|
|
||||||
the predecessor has it or can get it with reasonable efforts.
|
|
||||||
|
|
||||||
You may not impose any further restrictions on the exercise of the
|
|
||||||
rights granted or affirmed under this License. For example, you may
|
|
||||||
not impose a license fee, royalty, or other charge for exercise of
|
|
||||||
rights granted under this License, and you may not initiate litigation
|
|
||||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
|
||||||
any patent claim is infringed by making, using, selling, offering for
|
|
||||||
sale, or importing the Program or any portion of it.
|
|
||||||
|
|
||||||
11. Patents.
|
|
||||||
|
|
||||||
A "contributor" is a copyright holder who authorizes use under this
|
|
||||||
License of the Program or a work on which the Program is based. The
|
|
||||||
work thus licensed is called the contributor's "contributor version".
|
|
||||||
|
|
||||||
A contributor's "essential patent claims" are all patent claims
|
|
||||||
owned or controlled by the contributor, whether already acquired or
|
|
||||||
hereafter acquired, that would be infringed by some manner, permitted
|
|
||||||
by this License, of making, using, or selling its contributor version,
|
|
||||||
but do not include claims that would be infringed only as a
|
|
||||||
consequence of further modification of the contributor version. For
|
|
||||||
purposes of this definition, "control" includes the right to grant
|
|
||||||
patent sublicenses in a manner consistent with the requirements of
|
|
||||||
this License.
|
|
||||||
|
|
||||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
|
||||||
patent license under the contributor's essential patent claims, to
|
|
||||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
|
||||||
propagate the contents of its contributor version.
|
|
||||||
|
|
||||||
In the following three paragraphs, a "patent license" is any express
|
|
||||||
agreement or commitment, however denominated, not to enforce a patent
|
|
||||||
(such as an express permission to practice a patent or covenant not to
|
|
||||||
sue for patent infringement). To "grant" such a patent license to a
|
|
||||||
party means to make such an agreement or commitment not to enforce a
|
|
||||||
patent against the party.
|
|
||||||
|
|
||||||
If you convey a covered work, knowingly relying on a patent license,
|
|
||||||
and the Corresponding Source of the work is not available for anyone
|
|
||||||
to copy, free of charge and under the terms of this License, through a
|
|
||||||
publicly available network server or other readily accessible means,
|
|
||||||
then you must either (1) cause the Corresponding Source to be so
|
|
||||||
available, or (2) arrange to deprive yourself of the benefit of the
|
|
||||||
patent license for this particular work, or (3) arrange, in a manner
|
|
||||||
consistent with the requirements of this License, to extend the patent
|
|
||||||
license to downstream recipients. "Knowingly relying" means you have
|
|
||||||
actual knowledge that, but for the patent license, your conveying the
|
|
||||||
covered work in a country, or your recipient's use of the covered work
|
|
||||||
in a country, would infringe one or more identifiable patents in that
|
|
||||||
country that you have reason to believe are valid.
|
|
||||||
|
|
||||||
If, pursuant to or in connection with a single transaction or
|
|
||||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
|
||||||
covered work, and grant a patent license to some of the parties
|
|
||||||
receiving the covered work authorizing them to use, propagate, modify
|
|
||||||
or convey a specific copy of the covered work, then the patent license
|
|
||||||
you grant is automatically extended to all recipients of the covered
|
|
||||||
work and works based on it.
|
|
||||||
|
|
||||||
A patent license is "discriminatory" if it does not include within
|
|
||||||
the scope of its coverage, prohibits the exercise of, or is
|
|
||||||
conditioned on the non-exercise of one or more of the rights that are
|
|
||||||
specifically granted under this License. You may not convey a covered
|
|
||||||
work if you are a party to an arrangement with a third party that is
|
|
||||||
in the business of distributing software, under which you make payment
|
|
||||||
to the third party based on the extent of your activity of conveying
|
|
||||||
the work, and under which the third party grants, to any of the
|
|
||||||
parties who would receive the covered work from you, a discriminatory
|
|
||||||
patent license (a) in connection with copies of the covered work
|
|
||||||
conveyed by you (or copies made from those copies), or (b) primarily
|
|
||||||
for and in connection with specific products or compilations that
|
|
||||||
contain the covered work, unless you entered into that arrangement,
|
|
||||||
or that patent license was granted, prior to 28 March 2007.
|
|
||||||
|
|
||||||
Nothing in this License shall be construed as excluding or limiting
|
|
||||||
any implied license or other defenses to infringement that may
|
|
||||||
otherwise be available to you under applicable patent law.
|
|
||||||
|
|
||||||
12. No Surrender of Others' Freedom.
|
|
||||||
|
|
||||||
If conditions are imposed on you (whether by court order, agreement or
|
|
||||||
otherwise) that contradict the conditions of this License, they do not
|
|
||||||
excuse you from the conditions of this License. If you cannot convey a
|
|
||||||
covered work so as to satisfy simultaneously your obligations under this
|
|
||||||
License and any other pertinent obligations, then as a consequence you may
|
|
||||||
not convey it at all. For example, if you agree to terms that obligate you
|
|
||||||
to collect a royalty for further conveying from those to whom you convey
|
|
||||||
the Program, the only way you could satisfy both those terms and this
|
|
||||||
License would be to refrain entirely from conveying the Program.
|
|
||||||
|
|
||||||
13. Use with the GNU Affero General Public License.
|
|
||||||
|
|
||||||
Notwithstanding any other provision of this License, you have
|
|
||||||
permission to link or combine any covered work with a work licensed
|
|
||||||
under version 3 of the GNU Affero General Public License into a single
|
|
||||||
combined work, and to convey the resulting work. The terms of this
|
|
||||||
License will continue to apply to the part which is the covered work,
|
|
||||||
but the special requirements of the GNU Affero General Public License,
|
|
||||||
section 13, concerning interaction through a network will apply to the
|
|
||||||
combination as such.
|
|
||||||
|
|
||||||
14. Revised Versions of this License.
|
|
||||||
|
|
||||||
The Free Software Foundation may publish revised and/or new versions of
|
|
||||||
the GNU General Public License from time to time. Such new versions will
|
|
||||||
be similar in spirit to the present version, but may differ in detail to
|
|
||||||
address new problems or concerns.
|
|
||||||
|
|
||||||
Each version is given a distinguishing version number. If the
|
|
||||||
Program specifies that a certain numbered version of the GNU General
|
|
||||||
Public License "or any later version" applies to it, you have the
|
|
||||||
option of following the terms and conditions either of that numbered
|
|
||||||
version or of any later version published by the Free Software
|
|
||||||
Foundation. If the Program does not specify a version number of the
|
|
||||||
GNU General Public License, you may choose any version ever published
|
|
||||||
by the Free Software Foundation.
|
|
||||||
|
|
||||||
If the Program specifies that a proxy can decide which future
|
|
||||||
versions of the GNU General Public License can be used, that proxy's
|
|
||||||
public statement of acceptance of a version permanently authorizes you
|
|
||||||
to choose that version for the Program.
|
|
||||||
|
|
||||||
Later license versions may give you additional or different
|
|
||||||
permissions. However, no additional obligations are imposed on any
|
|
||||||
author or copyright holder as a result of your choosing to follow a
|
|
||||||
later version.
|
|
||||||
|
|
||||||
15. Disclaimer of Warranty.
|
|
||||||
|
|
||||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
|
||||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
|
||||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
|
||||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
|
||||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
|
||||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
|
||||||
|
|
||||||
16. Limitation of Liability.
|
|
||||||
|
|
||||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
|
||||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
|
||||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
|
||||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
|
||||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
|
||||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
|
||||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
|
||||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
|
||||||
SUCH DAMAGES.
|
|
||||||
|
|
||||||
17. Interpretation of Sections 15 and 16.
|
|
||||||
|
|
||||||
If the disclaimer of warranty and limitation of liability provided
|
|
||||||
above cannot be given local legal effect according to their terms,
|
|
||||||
reviewing courts shall apply local law that most closely approximates
|
|
||||||
an absolute waiver of all civil liability in connection with the
|
|
||||||
Program, unless a warranty or assumption of liability accompanies a
|
|
||||||
copy of the Program in return for a fee.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
How to Apply These Terms to Your New Programs
|
|
||||||
|
|
||||||
If you develop a new program, and you want it to be of the greatest
|
|
||||||
possible use to the public, the best way to achieve this is to make it
|
|
||||||
free software which everyone can redistribute and change under these terms.
|
|
||||||
|
|
||||||
To do so, attach the following notices to the program. It is safest
|
|
||||||
to attach them to the start of each source file to most effectively
|
|
||||||
state the exclusion of warranty; and each file should have at least
|
|
||||||
the "copyright" line and a pointer to where the full notice is found.
|
|
||||||
|
|
||||||
<one line to give the program's name and a brief idea of what it does.>
|
|
||||||
Copyright (C) <year> <name of author>
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
|
||||||
|
|
||||||
If the program does terminal interaction, make it output a short
|
|
||||||
notice like this when it starts in an interactive mode:
|
|
||||||
|
|
||||||
<program> Copyright (C) <year> <name of author>
|
|
||||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
|
||||||
This is free software, and you are welcome to redistribute it
|
|
||||||
under certain conditions; type `show c' for details.
|
|
||||||
|
|
||||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
|
||||||
parts of the General Public License. Of course, your program's commands
|
|
||||||
might be different; for a GUI interface, you would use an "about box".
|
|
||||||
|
|
||||||
You should also get your employer (if you work as a programmer) or school,
|
|
||||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
|
||||||
For more information on this, and how to apply and follow the GNU GPL, see
|
|
||||||
<https://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
The GNU General Public License does not permit incorporating your program
|
|
||||||
into proprietary programs. If your program is a subroutine library, you
|
|
||||||
may consider it more useful to permit linking proprietary applications with
|
|
||||||
the library. If this is what you want to do, use the GNU Lesser General
|
|
||||||
Public License instead of this License. But first, please read
|
|
||||||
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
|
||||||
24
README.md
24
README.md
@@ -1,14 +1,18 @@
|
|||||||
<p align="center"><img src="https://github.com/QIDITECH/QIDI_MAX3/blob/main/other/QIDI.png" height="240" alt="QIDI's logo" /></p>
|
Welcome to the Klipper project!
|
||||||
<p align="center"><a href="LICENSE"><img alt="GPL-V3.0 License" src="https://github.com/QIDITECH/QIDI_MAX3/blob/main/other/qidi.svg"></a></p>
|
|
||||||
|
|
||||||
# Introduction
|
[](https://www.klipper3d.org/)
|
||||||
QIDI's 3D printers are based on open-source software such as Klipper and Moonraker, with some modifications to meet our specific requirements.
|
|
||||||
|
|
||||||
We extend our gratitude to the developers and maintainers of these open-source projects and encourage users to explore or support these great projects.
|
https://www.klipper3d.org/
|
||||||
- <a href="https://github.com/Klipper3d/klipper">**Klipper**</a>
|
|
||||||
- <a href="https://github.com/Arksine/moonraker">**Moonraker**</a>
|
|
||||||
|
|
||||||
**Note:** Please avoid using Kiauh or git to manually update Klipper, Moonraker, as this may cause the printer to malfunction.
|
Klipper is a 3d-Printer firmware. It combines the power of a general
|
||||||
|
purpose computer with one or more micro-controllers. See the
|
||||||
|
[features document](https://www.klipper3d.org/Features.html) for more
|
||||||
|
information on why you should use Klipper.
|
||||||
|
|
||||||
## Report Issues and Make Suggestions
|
To begin using Klipper start by
|
||||||
You can contact [After-Sales Service](https://qidi3d.com/pages/warranty-policy-after-sales-support) to report issues and make suggestions. Alternatively, you can post an issue in this repository, our developers will reply to you directly.
|
[installing](https://www.klipper3d.org/Installation.html) it.
|
||||||
|
|
||||||
|
Klipper is Free Software. See the [license](COPYING) or read the
|
||||||
|
[documentation](https://www.klipper3d.org/Overview.html). We depend on
|
||||||
|
the generous support from our
|
||||||
|
[sponsors](https://www.klipper3d.org/Sponsors.html).
|
||||||
|
|||||||
73
config/example-deltesian.cfg
Normal file
73
config/example-deltesian.cfg
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
# This file is an example config file for deltesian style printers.
|
||||||
|
# One may copy and edit this file to configure a new deltesian
|
||||||
|
# printer.
|
||||||
|
|
||||||
|
# DO NOT COPY THIS FILE WITHOUT CAREFULLY READING AND UPDATING IT
|
||||||
|
# FIRST. Incorrectly configured parameters may cause damage.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[stepper_left]
|
||||||
|
step_pin: PF0
|
||||||
|
dir_pin: PF1
|
||||||
|
enable_pin: !PD7
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PE5
|
||||||
|
homing_speed: 50
|
||||||
|
position_endstop: 268
|
||||||
|
arm_length: 217
|
||||||
|
arm_x_length: 160
|
||||||
|
|
||||||
|
[stepper_right]
|
||||||
|
step_pin: PL3
|
||||||
|
dir_pin: PL1
|
||||||
|
enable_pin: !PK0
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PD3
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PF6
|
||||||
|
dir_pin: !PF7
|
||||||
|
enable_pin: !PF2
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PJ1
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PA4
|
||||||
|
dir_pin: PA6
|
||||||
|
enable_pin: !PA2
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 33.500
|
||||||
|
nozzle_diameter: 0.500
|
||||||
|
filament_diameter: 3.500
|
||||||
|
heater_pin: PB4
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PK5
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 22.2
|
||||||
|
pid_Ki: 1.08
|
||||||
|
pid_Kd: 114
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 210
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PH5
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PK6
|
||||||
|
control: watermark
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 110
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/ttyACM0
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: deltesian
|
||||||
|
max_velocity: 500
|
||||||
|
max_accel: 3000
|
||||||
|
max_z_velocity: 150
|
||||||
223
config/generic-I3DBEEZ9.cfg
Normal file
223
config/generic-I3DBEEZ9.cfg
Normal file
@@ -0,0 +1,223 @@
|
|||||||
|
# This file contains common pin mappings for the I3DBEEZ9 V1.0.
|
||||||
|
# To use this config, the firmware should be compiled for the
|
||||||
|
# STM32F407 with a "32KiB bootloader".
|
||||||
|
|
||||||
|
# The "make flash" command does not work on the I3DBEEZ9. Instead,
|
||||||
|
# after running "make", copy the generated "out/klipper.bin" file to a
|
||||||
|
# file named "firmware.bin" on an SD card and then restart the I3DBEEZ9
|
||||||
|
# with that SD card.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PE9
|
||||||
|
dir_pin: PF1
|
||||||
|
enable_pin: !PF2
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: PB10
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PE11
|
||||||
|
dir_pin: PE1
|
||||||
|
enable_pin: !PD7
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: PE12
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PE13
|
||||||
|
dir_pin: PC2
|
||||||
|
enable_pin: !PC0
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: PG8
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PE14
|
||||||
|
dir_pin: PA0
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 33.500
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PB1 # Heat0
|
||||||
|
sensor_pin: PF4 # T1 Header
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 22.2
|
||||||
|
pid_Ki: 1.08
|
||||||
|
pid_Kd: 114
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
#[extruder1]
|
||||||
|
#step_pin: PD15
|
||||||
|
#dir_pin: PE7
|
||||||
|
#enable_pin: !PA3
|
||||||
|
#heater_pin: PD14 # Heat1
|
||||||
|
#sensor_pin: PF5 # T2
|
||||||
|
#...
|
||||||
|
|
||||||
|
#[extruder2]
|
||||||
|
#step_pin: PD13
|
||||||
|
#dir_pin: PG9
|
||||||
|
#enable_pin: !PF0
|
||||||
|
#heater_pin: PB0 # Heat2
|
||||||
|
#sensor_pin: PF6 # T3
|
||||||
|
#...
|
||||||
|
|
||||||
|
#[stepper_z1]
|
||||||
|
#step_pin: PE4
|
||||||
|
#dir_pin: PE3
|
||||||
|
#enable_pin: !PC13
|
||||||
|
#microsteps: 16
|
||||||
|
#rotation_distance: 8
|
||||||
|
#endstop_pin: PD0
|
||||||
|
#position_endstop: 0.5
|
||||||
|
#position_max: 200
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PD12
|
||||||
|
sensor_pin: PF3 # T0
|
||||||
|
sensor_type: ATC Semitec 104GT-2
|
||||||
|
control: watermark
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PC8
|
||||||
|
|
||||||
|
[heater_fan fan1]
|
||||||
|
pin: PE5
|
||||||
|
|
||||||
|
#[heater_fan fan2]
|
||||||
|
#pin: PE6
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 3000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC2208 configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2208 stepper_x]
|
||||||
|
#uart_pin: PA15
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2208 stepper_y]
|
||||||
|
#uart_pin: PB8
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2208 stepper_z]
|
||||||
|
#uart_pin: PB9
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2208 extruder]
|
||||||
|
#uart_pin: PB3
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2208 extruder1]
|
||||||
|
#uart_pin: PG15
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2208 extruder2]
|
||||||
|
#uart_pin: PG12
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2208 stepper_z1]
|
||||||
|
#uart_pin: PE2
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC2130 configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2130 stepper_x]
|
||||||
|
#cs_pin: PA15
|
||||||
|
#spi_bus: spi3a
|
||||||
|
##diag1_pin: PB10
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_y]
|
||||||
|
#cs_pin: PB8
|
||||||
|
#spi_bus: spi3a
|
||||||
|
##diag1_pin: PE12
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_z]
|
||||||
|
#cs_pin: PB9
|
||||||
|
#spi_bus: spi3a
|
||||||
|
##diag1_pin: PG8
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder]
|
||||||
|
#cs_pin: PB3
|
||||||
|
#spi_bus: spi3a
|
||||||
|
##diag1_pin: PE15
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder1]
|
||||||
|
#cs_pin: PG15
|
||||||
|
#spi_bus: spi3a
|
||||||
|
##diag1_pin: PE10
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder2]
|
||||||
|
#cs_pin: PG12
|
||||||
|
#spi_bus: spi3a
|
||||||
|
##diag1_pin: PG5
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_z1]
|
||||||
|
#cs_pin: PE2
|
||||||
|
#spi_bus: spi3a
|
||||||
|
##diag1_pin: PD0
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# EXP1 / EXP2 (display) pins
|
||||||
|
########################################
|
||||||
|
|
||||||
|
[board_pins]
|
||||||
|
aliases:
|
||||||
|
# EXP1 header
|
||||||
|
EXP1_1=PG4, EXP1_3=PD11, EXP1_5=PG2, EXP1_7=PG6, EXP1_9=<GND>,
|
||||||
|
EXP1_2=PA8, EXP1_4=PD10, EXP1_6=PG3, EXP1_8=PG7, EXP1_10=<5V>,
|
||||||
|
# EXP2 header
|
||||||
|
EXP2_1=PB14, EXP2_3=PG10, EXP2_5=PF11, EXP2_7=PF12, EXP2_9=<GND>,
|
||||||
|
EXP2_2=PB13, EXP2_4=PB12, EXP2_6=PB15, EXP2_8=<RST>, EXP2_10=PF13
|
||||||
|
# Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus "spi2"
|
||||||
|
|
||||||
|
# See the sample-lcd.cfg file for definitions of common LCD displays.
|
||||||
200
config/generic-bigtreetech-manta-e3ez.cfg
Normal file
200
config/generic-bigtreetech-manta-e3ez.cfg
Normal file
@@ -0,0 +1,200 @@
|
|||||||
|
# This file contains common pin mappings for the BIGTREETECH Manta E3EZ
|
||||||
|
# To use this config, the firmware should be compiled for the
|
||||||
|
# STM32G0B1 with a "8KiB bootloader" "8 MHz crystal"
|
||||||
|
# and "USB (on PA11/PA12)" or "CAN bus (on PB12/PB13)".
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PA14
|
||||||
|
dir_pin: !PA10
|
||||||
|
enable_pin: !PA13
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PC4
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 235
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PC8
|
||||||
|
dir_pin: !PA15
|
||||||
|
enable_pin: !PC14
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PB0
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 235
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PD2
|
||||||
|
dir_pin: PD4
|
||||||
|
enable_pin: !PD3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: ^PC6
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 270
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PD5
|
||||||
|
dir_pin: !PD6
|
||||||
|
enable_pin: !PB3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 33.500
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PB11 #HE0
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PA4 #TH0
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 21.527
|
||||||
|
pid_Ki: 1.063
|
||||||
|
pid_Kd: 108.982
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
#[filament_switch_sensor material_0]
|
||||||
|
#switch_pin: PC5
|
||||||
|
|
||||||
|
#[extruder1]
|
||||||
|
#step_pin: PB7
|
||||||
|
#dir_pin: PB6
|
||||||
|
#enable_pin: !PB4
|
||||||
|
#heater_pin: PB10 # HE1
|
||||||
|
#sensor_pin: PA5 # T1
|
||||||
|
|
||||||
|
#[filament_switch_sensor material_1]
|
||||||
|
#switch_pin: PB1
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PB2 #HB
|
||||||
|
sensor_type: EPCOS 100K B57560G104F #Generic 3950
|
||||||
|
sensor_pin: PA3 #TB
|
||||||
|
control: watermark
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PA8
|
||||||
|
|
||||||
|
#[heater_fan fan1]
|
||||||
|
#pin: PB15
|
||||||
|
|
||||||
|
#[heater_fan fan2]
|
||||||
|
#pin: PB14
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 3000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC2209 configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2209 stepper_x]
|
||||||
|
#uart_pin: PB8
|
||||||
|
##diag_pin: PC4
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 stepper_y]
|
||||||
|
#uart_pin: PC9
|
||||||
|
##diag_pin: PB0
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 stepper_z]
|
||||||
|
#uart_pin: PD0
|
||||||
|
##diag_pin: PC6
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder]
|
||||||
|
#uart_pin: PD1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder1]
|
||||||
|
#uart_pin: PB5
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC2130 configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2130 stepper_x]
|
||||||
|
#cs_pin: PB8
|
||||||
|
#spi_software_miso_pin: PC11
|
||||||
|
#spi_software_mosi_pin: PC12
|
||||||
|
#spi_software_sclk_pin: PC10
|
||||||
|
##diag1_pin: PF3
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_y]
|
||||||
|
#cs_pin: PC9
|
||||||
|
#spi_software_miso_pin: PC11
|
||||||
|
#spi_software_mosi_pin: PC12
|
||||||
|
#spi_software_sclk_pin: PC10
|
||||||
|
##diag1_pin: PF4
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_z]
|
||||||
|
#cs_pin: PD0
|
||||||
|
#spi_software_miso_pin: PC11
|
||||||
|
#spi_software_mosi_pin: PC12
|
||||||
|
#spi_software_sclk_pin: PC10
|
||||||
|
##diag1_pin: PF5
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder]
|
||||||
|
#cs_pin: PD1
|
||||||
|
#spi_software_miso_pin: PC11
|
||||||
|
#spi_software_mosi_pin: PC12
|
||||||
|
#spi_software_sclk_pin: PC10
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder1]
|
||||||
|
#cs_pin: PB5
|
||||||
|
#spi_software_miso_pin: PC11
|
||||||
|
#spi_software_mosi_pin: PC12
|
||||||
|
#spi_software_sclk_pin: PC10
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
[board_pins]
|
||||||
|
aliases:
|
||||||
|
# EXP1 header
|
||||||
|
EXP1_1=PC1, EXP1_3=PC3, EXP1_5=PC0, EXP1_7=PA2, EXP1_9=<GND>,
|
||||||
|
EXP1_2=PC2, EXP1_4=<RST>, EXP1_6=PA0, EXP1_8=PA1, EXP1_10=<5V>
|
||||||
|
|
||||||
|
#[bltouch]
|
||||||
|
#sensor_pin: PA6
|
||||||
|
#control_pin: PA7
|
||||||
|
|
||||||
|
#[output_pin PS_ON]
|
||||||
|
#pin: PA9
|
||||||
|
|
||||||
|
#[output_pin pb9_pin]
|
||||||
|
#pin: PB9
|
||||||
|
|
||||||
|
#[neopixel my_neopixel]
|
||||||
|
#pin: PC7
|
||||||
|
|
||||||
|
#[adxl345]
|
||||||
|
#cs_pin: PC15
|
||||||
|
#spi_software_miso_pin: PC11
|
||||||
|
#spi_software_mosi_pin: PC12
|
||||||
|
#spi_software_sclk_pin: PC10
|
||||||
175
config/generic-bigtreetech-manta-m4p.cfg
Normal file
175
config/generic-bigtreetech-manta-m4p.cfg
Normal file
@@ -0,0 +1,175 @@
|
|||||||
|
# This file contains common pin mappings for the BIGTREETECH Manta M4P
|
||||||
|
# To use this config, the firmware should be compiled for the
|
||||||
|
# STM32G0B1 with a "8KiB bootloader" and USB communication.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PC6
|
||||||
|
dir_pin: PA14
|
||||||
|
enable_pin: !PC7
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PC0
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 235
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PB10
|
||||||
|
dir_pin: !PB2
|
||||||
|
enable_pin: !PB11
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PC1
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 235
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PB0
|
||||||
|
dir_pin: !PC5
|
||||||
|
enable_pin: !PB1
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: ^PC2
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 270
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PB3
|
||||||
|
dir_pin: PB4
|
||||||
|
enable_pin: !PD5
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 33.500
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PC8
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PA0
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 22.2
|
||||||
|
pid_Ki: 1.08
|
||||||
|
pid_Kd: 114
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
#[filament_switch_sensor filament_sensor]
|
||||||
|
#switch_pin: ^!PC15
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PD8
|
||||||
|
sensor_type: Generic 3950
|
||||||
|
sensor_pin: PC4
|
||||||
|
control: watermark
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PD2
|
||||||
|
|
||||||
|
#[heater_fan fan1]
|
||||||
|
#pin: PD3
|
||||||
|
|
||||||
|
#[heater_fan fan2]
|
||||||
|
#pin: PD4
|
||||||
|
|
||||||
|
#[heater_fan SoC_fan]
|
||||||
|
#pin: CB1:gpio79
|
||||||
|
#pin: RPI:gpio26
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 180
|
||||||
|
max_accel: 3000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# EXP1 / EXP2 (display) pins
|
||||||
|
########################################
|
||||||
|
|
||||||
|
[board_pins]
|
||||||
|
aliases:
|
||||||
|
# EXP1 header
|
||||||
|
EXP1_1=PD6, EXP1_3=PB9, EXP1_5=PA15, EXP1_7=PA9, EXP1_9=<GND>,
|
||||||
|
EXP1_2=PB8, EXP1_4=PC3, EXP1_6=PA10, EXP1_8=PB5, EXP1_10=<5V>,
|
||||||
|
# EXP2 header
|
||||||
|
EXP2_1=PB14, EXP2_3=PC11, EXP2_5=PC12, EXP2_7=PC13, EXP2_9=<GND>,
|
||||||
|
EXP2_2=PB13, EXP2_4=PA8, EXP2_6=PB15, EXP2_8=<RST>, EXP2_10=<NC>
|
||||||
|
|
||||||
|
# See the sample-lcd.cfg file for definitions of common LCD displays.
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC2209 configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2209 stepper_x]
|
||||||
|
#uart_pin: PB12
|
||||||
|
#run_current: 0.800
|
||||||
|
#diag_pin:
|
||||||
|
|
||||||
|
#[tmc2209 stepper_y]
|
||||||
|
#uart_pin: PC10
|
||||||
|
#run_current: 0.800
|
||||||
|
#diag_pin:
|
||||||
|
|
||||||
|
#[tmc2209 stepper_z]
|
||||||
|
#uart_pin: PC9
|
||||||
|
#run_current: 0.800
|
||||||
|
#diag_pin:
|
||||||
|
|
||||||
|
#[tmc2209 extruder]
|
||||||
|
#uart_pin: PA13
|
||||||
|
#run_current: 0.600
|
||||||
|
#diag_pin:
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC5160 configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[[tmc2130 stepper_x]
|
||||||
|
#cs_pin: PB12
|
||||||
|
#spi_bus: spi1
|
||||||
|
#diag1_pin: PG6
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_y]
|
||||||
|
#cs_pin: PC10
|
||||||
|
#spi_bus: spi1
|
||||||
|
#diag1_pin: PG9
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_z]
|
||||||
|
#cs_pin: PC9
|
||||||
|
#spi_bus: spi1
|
||||||
|
#diag1_pin: PG10
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder]
|
||||||
|
#cs_pin: PA13
|
||||||
|
#spi_bus: spi1
|
||||||
|
#diag1_pin: PC15
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[bltouch]
|
||||||
|
#sensor_pin: PC14
|
||||||
|
#control_pin: PA1
|
||||||
|
|
||||||
|
#[adxl345]
|
||||||
|
#cs_pin: PD9
|
||||||
|
#spi_bus: spi1
|
||||||
|
#axes_map: z,y,-x
|
||||||
|
|
||||||
|
#[neopixel rgb1]
|
||||||
|
#pin: PD0
|
||||||
|
|
||||||
|
#[neopixel rgb2]
|
||||||
|
#pin: PD1
|
||||||
199
config/generic-bigtreetech-manta-m5p.cfg
Normal file
199
config/generic-bigtreetech-manta-m5p.cfg
Normal file
@@ -0,0 +1,199 @@
|
|||||||
|
# This file contains common pin mappings for the BIGTREETECH Manta M5P
|
||||||
|
# To use this config, the firmware should be compiled for the
|
||||||
|
# STM32G0B1 with a "8KiB bootloader" "8 MHz crystal"
|
||||||
|
# and "USB (on PA11/PA12)" or "CAN bus (on PD0/PD1)".
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PC8
|
||||||
|
dir_pin: !PC9
|
||||||
|
enable_pin: !PA15
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PD3
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PA10
|
||||||
|
dir_pin: !PA14
|
||||||
|
enable_pin: !PA13
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PD2
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PC6
|
||||||
|
dir_pin: PC7
|
||||||
|
enable_pin: !PA9
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: ^PC3
|
||||||
|
position_endstop: 0.0
|
||||||
|
position_max: 200
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PB12
|
||||||
|
dir_pin: !PB11
|
||||||
|
enable_pin: !PA8
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 33.500
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PC5
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PA1
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 21.527
|
||||||
|
pid_Ki: 1.063
|
||||||
|
pid_Kd: 108.982
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
#sensor_type:MAX31865
|
||||||
|
#sensor_pin: PA4
|
||||||
|
#spi_bus: spi1
|
||||||
|
#rtd_nominal_r: 100
|
||||||
|
#rtd_reference_r: 430
|
||||||
|
#rtd_num_of_wires: 2
|
||||||
|
|
||||||
|
#[filament_switch_sensor material_0]
|
||||||
|
#switch_pin: PC2
|
||||||
|
|
||||||
|
#[extruder1]
|
||||||
|
#step_pin: PB0
|
||||||
|
#dir_pin: PB1
|
||||||
|
#enable_pin: !PC4
|
||||||
|
#heater_pin: PA7
|
||||||
|
#sensor_pin: PA2
|
||||||
|
#...
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PA5
|
||||||
|
sensor_type: Generic 3950
|
||||||
|
sensor_pin: PA0
|
||||||
|
control: watermark
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PA4
|
||||||
|
|
||||||
|
#[heater_fan fan1]
|
||||||
|
#pin: PA3
|
||||||
|
|
||||||
|
#[heater_fan SoC_fan]
|
||||||
|
#pin: CB1:gpio79
|
||||||
|
#pin: RPI:gpio26
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 3000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC2209 configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2209 stepper_x]
|
||||||
|
#uart_pin: PD9
|
||||||
|
#run_current: 0.800
|
||||||
|
#diag_pin: PD3
|
||||||
|
|
||||||
|
#[tmc2209 stepper_y]
|
||||||
|
#uart_pin: PD8
|
||||||
|
#run_current: 0.800
|
||||||
|
#diag_pin: PD2
|
||||||
|
|
||||||
|
#[tmc2209 stepper_z]
|
||||||
|
#uart_pin: PB10
|
||||||
|
#run_current: 0.800
|
||||||
|
#diag_pin: PC3
|
||||||
|
|
||||||
|
#[tmc2209 extruder]
|
||||||
|
#uart_pin: PB2
|
||||||
|
#run_current: 0.600
|
||||||
|
#diag_pin: PC2
|
||||||
|
|
||||||
|
#[tmc2209 extruder1]
|
||||||
|
#uart_pin: PA6
|
||||||
|
#run_current: 0.600
|
||||||
|
#diag_pin:
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC2130 configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2130 stepper_x]
|
||||||
|
#cs_pin: PD9
|
||||||
|
#spi_bus: spi2
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
#diag1_pin: PD3
|
||||||
|
|
||||||
|
#[tmc2130 stepper_y]
|
||||||
|
#cs_pin: PD8
|
||||||
|
#spi_bus: spi2
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
#diag1_pin: PD2
|
||||||
|
|
||||||
|
#[tmc2130 stepper_z]
|
||||||
|
#cs_pin: PB10
|
||||||
|
#spi_bus: spi2
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
#diag1_pin: PC3
|
||||||
|
|
||||||
|
#[tmc2130 extruder]
|
||||||
|
#cs_pin: PB2
|
||||||
|
#spi_bus: spi2
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
#diag1_pin: PC2
|
||||||
|
|
||||||
|
#[tmc2130 extruder1]
|
||||||
|
#cs_pin: PA6
|
||||||
|
#spi_bus: spi2
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
#diag1_pin:
|
||||||
|
|
||||||
|
[board_pins]
|
||||||
|
aliases:
|
||||||
|
# EXP1 header
|
||||||
|
EXP1_1=PD5, EXP1_3=PB3, EXP1_5=PB5, EXP1_7=PB7, EXP1_9=<GND>,
|
||||||
|
EXP1_2=PD4, EXP1_4=PD6, EXP1_6=PB4, EXP1_8=PB6, EXP1_10=<5V>,
|
||||||
|
# EXP2 header
|
||||||
|
EXP2_1=PB14, EXP2_3=PB8, EXP2_5=PC10, EXP2_7=PC12, EXP2_9=<GND>,
|
||||||
|
EXP2_2=PB13, EXP2_4=PB9, EXP2_6=PB15, EXP2_8=<RST>, EXP2_10=<NC>
|
||||||
|
|
||||||
|
# See the sample-lcd.cfg file for definitions of common LCD displays.
|
||||||
|
|
||||||
|
#[bltouch]
|
||||||
|
#sensor_pin: PC13
|
||||||
|
#control_pin: PC15
|
||||||
|
|
||||||
|
# Proximity switch
|
||||||
|
#[probe]
|
||||||
|
#pin: PC15
|
||||||
|
|
||||||
|
#[neopixel my_neopixel1]
|
||||||
|
#pin: PC11
|
||||||
|
|
||||||
|
#[neopixel my_neopixel2]
|
||||||
|
#pin: PC14
|
||||||
|
|
||||||
|
#[adxl345]
|
||||||
|
#cs_pin: PC0
|
||||||
|
#spi_bus: spi2
|
||||||
288
config/generic-bigtreetech-manta-m8p-v1.0.cfg
Normal file
288
config/generic-bigtreetech-manta-m8p-v1.0.cfg
Normal file
@@ -0,0 +1,288 @@
|
|||||||
|
# This file contains common pin mappings for the BIGTREETECH Manta M8P
|
||||||
|
# To use this config, the firmware should be compiled for the
|
||||||
|
# STM32G0B1 with a "8KiB bootloader" and USB communication.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PE2
|
||||||
|
dir_pin: PB4
|
||||||
|
enable_pin: !PC11
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PF3
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 235
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PF12
|
||||||
|
dir_pin: PF11
|
||||||
|
enable_pin: !PB3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PF4
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 235
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PD7
|
||||||
|
dir_pin: !PD6
|
||||||
|
enable_pin: !PF10
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: ^PF5
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 270
|
||||||
|
|
||||||
|
# Motor4
|
||||||
|
# The M8P only has 4 heater outputs which leaves an extra stepper
|
||||||
|
# This can be used for a second Z stepper, dual_carriage, extruder co-stepper,
|
||||||
|
# or other accesory such as an MMU
|
||||||
|
#[stepper_]
|
||||||
|
#step_pin: PD3
|
||||||
|
#dir_pin: PD2
|
||||||
|
#enable_pin: !PD5
|
||||||
|
#endstop_pin: PC0
|
||||||
|
#...
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PC9
|
||||||
|
dir_pin: PC8
|
||||||
|
enable_pin: !PD1
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 33.500
|
||||||
|
nozzle_diameter: 0.4
|
||||||
|
filament_diameter: 1.75
|
||||||
|
heater_pin: PE3 # HE0
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PA1 # T0
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 22.2
|
||||||
|
pid_Ki: 1.08
|
||||||
|
pid_Kd: 114
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
#[filament_switch_sensor material_0]
|
||||||
|
#switch_pin: PC1
|
||||||
|
|
||||||
|
# Motor6
|
||||||
|
#[extruder1]
|
||||||
|
#step_pin: PA10
|
||||||
|
#dir_pin: PD15
|
||||||
|
#enable_pin: !PA15
|
||||||
|
#heater_pin: PB5 # HE1
|
||||||
|
#sensor_pin: PA2 # T1
|
||||||
|
#...
|
||||||
|
|
||||||
|
#[filament_switch_sensor material_1]
|
||||||
|
#switch_pin: PC2
|
||||||
|
|
||||||
|
# Motor7
|
||||||
|
#[extruder2]
|
||||||
|
#step_pin: PD12
|
||||||
|
#dir_pin: PD11
|
||||||
|
#enable_pin: !PD14
|
||||||
|
#heater_pin: PB6 # HE2
|
||||||
|
#sensor_pin: PA3 # T2
|
||||||
|
#...
|
||||||
|
|
||||||
|
# Motor8
|
||||||
|
#[extruder3]
|
||||||
|
#step_pin: PD10
|
||||||
|
#dir_pin: PD8
|
||||||
|
#enable_pin: !PD9
|
||||||
|
#heater_pin: PE1 # HE3
|
||||||
|
#sensor_pin: PA4 # T3
|
||||||
|
#...
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PB7
|
||||||
|
sensor_type: Generic 3950
|
||||||
|
sensor_pin: PA0 # TB
|
||||||
|
control: watermark
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PE6
|
||||||
|
|
||||||
|
#[heater_fan fan1]
|
||||||
|
#pin: PE0
|
||||||
|
|
||||||
|
#[heater_fan fan2]
|
||||||
|
#pin: PC12
|
||||||
|
|
||||||
|
#[heater_fan fan3]
|
||||||
|
#pin: PE5
|
||||||
|
|
||||||
|
#[heater_fan fan4]
|
||||||
|
#pin: PE4
|
||||||
|
#tachometer_pin: PC13
|
||||||
|
|
||||||
|
#[heater_fan fan5]
|
||||||
|
#pin: PB8
|
||||||
|
#tachometer_pin: PC14
|
||||||
|
|
||||||
|
#[heater_fan fan6]
|
||||||
|
#pin: PB9
|
||||||
|
#tachometer_pin: PC15
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 3000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC2209 configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2209 stepper_x]
|
||||||
|
#uart_pin: PC10
|
||||||
|
##diag_pin: PF3
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 stepper_y]
|
||||||
|
#uart_pin: PF13
|
||||||
|
##diag_pin: PF4
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 stepper_z]
|
||||||
|
#uart_pin: PF9
|
||||||
|
##diag_pin: PF5
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 stepper_]
|
||||||
|
#uart_pin: PD4
|
||||||
|
##diag_pin: PC0
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder]
|
||||||
|
#uart_pin: PD0
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder1]
|
||||||
|
#uart_pin: PF8
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder2]
|
||||||
|
#uart_pin: PD13
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder3]
|
||||||
|
#uart_pin: PC7
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC2130 configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2130 stepper_x]
|
||||||
|
#cs_pin: PC10
|
||||||
|
#spi_bus: spi1
|
||||||
|
##diag1_pin: PF3
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_y]
|
||||||
|
#cs_pin: PF13
|
||||||
|
#spi_bus: spi1
|
||||||
|
##diag1_pin: PF4
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_z]
|
||||||
|
#cs_pin: PF9
|
||||||
|
#spi_bus: spi1
|
||||||
|
##diag1_pin: PF5
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_]
|
||||||
|
#cs_pin: PD4
|
||||||
|
#spi_bus: spi1
|
||||||
|
##diag1_pin: PC0
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder]
|
||||||
|
#cs_pin: PD0
|
||||||
|
#spi_bus: spi1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder1]
|
||||||
|
#cs_pin: PF8
|
||||||
|
#spi_bus: spi1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder2]
|
||||||
|
#cs_pin: PD13
|
||||||
|
#spi_bus: spi1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder3]
|
||||||
|
#cs_pin: PC7
|
||||||
|
#spi_bus: spi1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
[board_pins]
|
||||||
|
aliases:
|
||||||
|
# EXP1 header
|
||||||
|
EXP1_1=PE9, EXP1_2=PE10,
|
||||||
|
EXP1_3=PE11, EXP1_4=PE12,
|
||||||
|
EXP1_5=PE13, EXP1_6=PE14, # Slot in the socket on this side
|
||||||
|
EXP1_7=PE15, EXP1_8=PB10,
|
||||||
|
EXP1_9=<GND>, EXP1_10=<5V>,
|
||||||
|
|
||||||
|
# EXP2 header
|
||||||
|
EXP2_1=PB14, EXP2_2=PB13,
|
||||||
|
EXP2_3=PF7, EXP2_4=PB12,
|
||||||
|
EXP2_5=PE7, EXP2_6=PB11, # Slot in the socket on this side
|
||||||
|
EXP2_7=PE8, EXP2_8=<RST>,
|
||||||
|
EXP2_9=<GND>, EXP2_10=<NC>
|
||||||
|
|
||||||
|
# See the sample-lcd.cfg file for definitions of common LCD displays.
|
||||||
|
|
||||||
|
#[bltouch]
|
||||||
|
#sensor_pin: PB2
|
||||||
|
#control_pin: PB1
|
||||||
|
|
||||||
|
# Proximity switch
|
||||||
|
#[probe]
|
||||||
|
#pin: PF6
|
||||||
|
|
||||||
|
#[output_pin ps_on_pin]
|
||||||
|
#pin: PC3
|
||||||
|
|
||||||
|
#[neopixel my_neopixel_1]
|
||||||
|
#pin: PC6
|
||||||
|
|
||||||
|
#[neopixel my_neopixel_2]
|
||||||
|
#pin: PA9
|
||||||
|
|
||||||
|
#[hall_filament_width_sensor]
|
||||||
|
#adc1: PC5
|
||||||
|
#adc2: PB0
|
||||||
|
|
||||||
|
#[adxl345]
|
||||||
|
#cs_pin: PB15
|
||||||
|
#spi_bus: spi1
|
||||||
295
config/generic-bigtreetech-manta-m8p-v1.1.cfg
Normal file
295
config/generic-bigtreetech-manta-m8p-v1.1.cfg
Normal file
@@ -0,0 +1,295 @@
|
|||||||
|
# This file contains common pin mappings for the BIGTREETECH Manta M8P
|
||||||
|
# To use this config, the firmware should be compiled for the
|
||||||
|
# STM32G0B1 with a "8KiB bootloader" "8 MHz crystal"
|
||||||
|
# and "USB (on PA11/PA12)" or "CAN bus (on PD12/PD13)".
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PE2
|
||||||
|
dir_pin: PB4
|
||||||
|
enable_pin: !PC11
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PF3
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 235
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PF12
|
||||||
|
dir_pin: PF11
|
||||||
|
enable_pin: !PB3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PF4
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 235
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PD7
|
||||||
|
dir_pin: !PD6
|
||||||
|
enable_pin: !PF10
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: ^PF5
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 270
|
||||||
|
|
||||||
|
# Motor4
|
||||||
|
# The M8P only has 4 heater outputs which leaves an extra stepper
|
||||||
|
# This can be used for a second Z stepper, dual_carriage, extruder co-stepper,
|
||||||
|
# or other accesory such as an MMU
|
||||||
|
#[stepper_]
|
||||||
|
#step_pin: PD3
|
||||||
|
#dir_pin: PD2
|
||||||
|
#enable_pin: !PD5
|
||||||
|
#endstop_pin: PC0
|
||||||
|
#...
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PC9
|
||||||
|
dir_pin: PC8
|
||||||
|
enable_pin: !PD1
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 33.500
|
||||||
|
nozzle_diameter: 0.4
|
||||||
|
filament_diameter: 1.75
|
||||||
|
heater_pin: PE3 # HE0
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PA1 # T0
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 22.2
|
||||||
|
pid_Ki: 1.08
|
||||||
|
pid_Kd: 114
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
#[filament_switch_sensor material_0]
|
||||||
|
#switch_pin: PC1
|
||||||
|
|
||||||
|
# Motor6
|
||||||
|
#[extruder1]
|
||||||
|
#step_pin: PA10
|
||||||
|
#dir_pin: PA14
|
||||||
|
#enable_pin: !PA15
|
||||||
|
#heater_pin: PB5 # HE1
|
||||||
|
#sensor_pin: PA2 # T1
|
||||||
|
#...
|
||||||
|
|
||||||
|
#[filament_switch_sensor material_1]
|
||||||
|
#switch_pin: PC2
|
||||||
|
|
||||||
|
# Motor7
|
||||||
|
#[extruder2]
|
||||||
|
#step_pin: PD11
|
||||||
|
#dir_pin: PD9
|
||||||
|
#enable_pin: !PD15
|
||||||
|
#heater_pin: PB6 # HE2
|
||||||
|
#sensor_pin: PA3 # T2
|
||||||
|
#...
|
||||||
|
|
||||||
|
# Motor8
|
||||||
|
#[extruder3]
|
||||||
|
#step_pin: PD8
|
||||||
|
#dir_pin: PC6
|
||||||
|
#enable_pin: !PC7
|
||||||
|
#heater_pin: PE1 # HE3
|
||||||
|
#sensor_pin: PA4 # T3
|
||||||
|
#...
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PB7
|
||||||
|
sensor_type: Generic 3950
|
||||||
|
sensor_pin: PA0 # TB
|
||||||
|
control: watermark
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PE6
|
||||||
|
|
||||||
|
#[heater_fan fan1]
|
||||||
|
#pin: PE0
|
||||||
|
|
||||||
|
#[heater_fan fan2]
|
||||||
|
#pin: PC12
|
||||||
|
|
||||||
|
#[heater_fan fan3]
|
||||||
|
#pin: PE5
|
||||||
|
|
||||||
|
#[heater_fan fan4]
|
||||||
|
#pin: PE4
|
||||||
|
|
||||||
|
#[heater_fan fan5]
|
||||||
|
#pin: PB8
|
||||||
|
#tachometer_pin: PC14
|
||||||
|
|
||||||
|
#[heater_fan fan6]
|
||||||
|
#pin: PB9
|
||||||
|
#tachometer_pin: PC15
|
||||||
|
|
||||||
|
#[heater_fan SoC_fan]
|
||||||
|
#pin: CB1:gpio79
|
||||||
|
#pin: RPI:gpio26
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 3000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC2209 configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2209 stepper_x]
|
||||||
|
#uart_pin: PC10
|
||||||
|
##diag_pin: PF3
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 stepper_y]
|
||||||
|
#uart_pin: PF13
|
||||||
|
##diag_pin: PF4
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 stepper_z]
|
||||||
|
#uart_pin: PF9
|
||||||
|
##diag_pin: PF5
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 stepper_]
|
||||||
|
#uart_pin: PD4
|
||||||
|
##diag_pin: PC0
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder]
|
||||||
|
#uart_pin: PD0
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder1]
|
||||||
|
#uart_pin: PF8
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder2]
|
||||||
|
#uart_pin: PD14
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder3]
|
||||||
|
#uart_pin: PD10
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC2130 configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2130 stepper_x]
|
||||||
|
#cs_pin: PC10
|
||||||
|
#spi_bus: spi1
|
||||||
|
##diag1_pin: PF3
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_y]
|
||||||
|
#cs_pin: PF13
|
||||||
|
#spi_bus: spi1
|
||||||
|
##diag1_pin: PF4
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_z]
|
||||||
|
#cs_pin: PF9
|
||||||
|
#spi_bus: spi1
|
||||||
|
##diag1_pin: PF5
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_]
|
||||||
|
#cs_pin: PD4
|
||||||
|
#spi_bus: spi1
|
||||||
|
##diag1_pin: PC0
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder]
|
||||||
|
#cs_pin: PD0
|
||||||
|
#spi_bus: spi1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder1]
|
||||||
|
#cs_pin: PF8
|
||||||
|
#spi_bus: spi1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder2]
|
||||||
|
#cs_pin: PD14
|
||||||
|
#spi_bus: spi1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder3]
|
||||||
|
#cs_pin: PD10
|
||||||
|
#spi_bus: spi1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
[board_pins]
|
||||||
|
aliases:
|
||||||
|
# EXP1 header
|
||||||
|
EXP1_1=PE9, EXP1_2=PE10,
|
||||||
|
EXP1_3=PE11, EXP1_4=PE12,
|
||||||
|
EXP1_5=PE13, EXP1_6=PE14, # Slot in the socket on this side
|
||||||
|
EXP1_7=PE15, EXP1_8=PB10,
|
||||||
|
EXP1_9=<GND>, EXP1_10=<5V>,
|
||||||
|
|
||||||
|
# EXP2 header
|
||||||
|
EXP2_1=PB14, EXP2_2=PB13,
|
||||||
|
EXP2_3=PF7, EXP2_4=PB12,
|
||||||
|
EXP2_5=PE7, EXP2_6=PB11, # Slot in the socket on this side
|
||||||
|
EXP2_7=PE8, EXP2_8=<RST>,
|
||||||
|
EXP2_9=<GND>, EXP2_10=<NC>
|
||||||
|
|
||||||
|
# See the sample-lcd.cfg file for definitions of common LCD displays.
|
||||||
|
|
||||||
|
#[bltouch]
|
||||||
|
#sensor_pin: PB2
|
||||||
|
#control_pin: PB1
|
||||||
|
|
||||||
|
# Proximity switch
|
||||||
|
#[probe]
|
||||||
|
#pin: PF6
|
||||||
|
|
||||||
|
#[output_pin ps_on_pin]
|
||||||
|
#pin: PC3
|
||||||
|
|
||||||
|
#[output_pin pc13_pin]
|
||||||
|
#pin: PC13
|
||||||
|
|
||||||
|
#[neopixel my_neopixel_1]
|
||||||
|
#pin: PA9
|
||||||
|
|
||||||
|
#[neopixel my_neopixel_2]
|
||||||
|
#pin: PB15
|
||||||
|
|
||||||
|
#[hall_filament_width_sensor]
|
||||||
|
#adc1: PC5
|
||||||
|
#adc2: PB0
|
||||||
|
|
||||||
|
#[adxl345]
|
||||||
|
#cs_pin: PC4
|
||||||
|
#spi_bus: spi1
|
||||||
332
config/generic-bigtreetech-octopus-max-ez.cfg
Normal file
332
config/generic-bigtreetech-octopus-max-ez.cfg
Normal file
@@ -0,0 +1,332 @@
|
|||||||
|
# This file contains common pin mappings for the BIGTREETECH Octopus Max EZ.
|
||||||
|
# To use this config, the firmware should be compiled for the
|
||||||
|
# STM32H723 with a "128KiB bootloader" "25 MHz crystal"
|
||||||
|
# and "USB (on PA11/PA12)" or "CAN bus (on PD0/PD1)".
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
# Motor-1
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PC13
|
||||||
|
dir_pin: PC14
|
||||||
|
enable_pin: !PE6
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: PF0
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
# Motor-2
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PE4
|
||||||
|
dir_pin: PE5
|
||||||
|
enable_pin: !PE3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: PF2
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
# Motor-3
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PE1
|
||||||
|
dir_pin: PE0
|
||||||
|
enable_pin: !PE2
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: PF4
|
||||||
|
position_endstop: 0.5
|
||||||
|
position_max: 200
|
||||||
|
|
||||||
|
# Motor-4
|
||||||
|
# The Octopus only has 4 heater outputs which leaves an extra stepper
|
||||||
|
# This can be used for a second Z stepper, dual_carriage, extruder co-stepper,
|
||||||
|
# or other accesory such as an MMU
|
||||||
|
#[stepper_]
|
||||||
|
#step_pin: PB8
|
||||||
|
#dir_pin: PB9
|
||||||
|
#enable_pin: PB7
|
||||||
|
#endstop_pin: PF3
|
||||||
|
#...
|
||||||
|
|
||||||
|
# Motor-5
|
||||||
|
[extruder]
|
||||||
|
step_pin: PB5
|
||||||
|
dir_pin: PB4
|
||||||
|
enable_pin: !PB6
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 33.500
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PF6 # HE0
|
||||||
|
sensor_pin: PB0 # T0
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 22.2
|
||||||
|
pid_Ki: 1.08
|
||||||
|
pid_Kd: 114
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
#[filament_switch_sensor material_0]
|
||||||
|
#switch_pin: PF1
|
||||||
|
|
||||||
|
# Motor-6
|
||||||
|
#[extruder1]
|
||||||
|
#step_pin: PG15
|
||||||
|
#dir_pin: PB3
|
||||||
|
#enable_pin: !PD5
|
||||||
|
#heater_pin: PA0 # HE1
|
||||||
|
#sensor_pin: PC5 # T1
|
||||||
|
#...
|
||||||
|
|
||||||
|
#[filament_switch_sensor material_1]
|
||||||
|
#switch_pin: PC15
|
||||||
|
|
||||||
|
# Motor-7
|
||||||
|
#[extruder2]
|
||||||
|
#step_pin: PD3
|
||||||
|
#dir_pin: PD2
|
||||||
|
#enable_pin: !PD4
|
||||||
|
#heater_pin: PF9 # HE2
|
||||||
|
#sensor_pin: PC4 # T2
|
||||||
|
#...
|
||||||
|
|
||||||
|
# Motor-8
|
||||||
|
#[extruder3]
|
||||||
|
#step_pin: PA10
|
||||||
|
#dir_pin: PA9
|
||||||
|
#enable_pin: !PA15
|
||||||
|
#heater_pin: PF7 # HE3
|
||||||
|
#sensor_pin: PA7 # T3
|
||||||
|
#...
|
||||||
|
|
||||||
|
# Motor-9
|
||||||
|
#[extruder4]
|
||||||
|
#step_pin: PA8
|
||||||
|
#dir_pin: PC7
|
||||||
|
#enable_pin: !PC9
|
||||||
|
#...
|
||||||
|
|
||||||
|
# Motor-10
|
||||||
|
#[extruder5]
|
||||||
|
#step_pin: PG6
|
||||||
|
#dir_pin: PC6
|
||||||
|
#enable_pin: !PC8
|
||||||
|
#...
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PF5
|
||||||
|
sensor_pin: PB1 # TB
|
||||||
|
sensor_type: ATC Semitec 104GT-2
|
||||||
|
control: watermark
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PA6
|
||||||
|
|
||||||
|
#[heater_fan fan1]
|
||||||
|
#pin: PA5
|
||||||
|
|
||||||
|
#[heater_fan fan2]
|
||||||
|
#pin: PA4
|
||||||
|
|
||||||
|
#[heater_fan fan3]
|
||||||
|
#pin: PA3
|
||||||
|
|
||||||
|
#[heater_fan fan4]
|
||||||
|
#pin: PA1
|
||||||
|
#tachometer_pin: PC3
|
||||||
|
|
||||||
|
#[heater_fan fan5]
|
||||||
|
#pin: PF8
|
||||||
|
#tachometer_pin: PC1
|
||||||
|
|
||||||
|
#[heater_fan fan6]
|
||||||
|
#pin: PA2
|
||||||
|
#tachometer_pin: PC2
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 3000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC2209 configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2209 stepper_x]
|
||||||
|
#uart_pin: PG14
|
||||||
|
##diag_pin: PF0
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 stepper_y]
|
||||||
|
#uart_pin: PG13
|
||||||
|
##diag_pin: PF2
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 stepper_z]
|
||||||
|
#uart_pin: PG12
|
||||||
|
##diag_pin: PF4
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 stepper_]
|
||||||
|
#uart_pin: PG11
|
||||||
|
##diag_pin: PF3
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder]
|
||||||
|
#uart_pin: PG10
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder1]
|
||||||
|
#uart_pin: PG9
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder2]
|
||||||
|
#uart_pin: PD7
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder3]
|
||||||
|
#uart_pin: PD6
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder4]
|
||||||
|
#uart_pin: PG8
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder5]
|
||||||
|
#uart_pin: PG7
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC2130 configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2130 stepper_x]
|
||||||
|
#cs_pin: PG14
|
||||||
|
#spi_bus: spi4
|
||||||
|
##diag1_pin: PF0
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_y]
|
||||||
|
#cs_pin: PG13
|
||||||
|
#spi_bus: spi4
|
||||||
|
##diag1_pin: PF2
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_z]
|
||||||
|
#cs_pin: PG12
|
||||||
|
#spi_bus: spi4
|
||||||
|
##diag1_pin: PF4
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_]
|
||||||
|
#cs_pin: PG11
|
||||||
|
#spi_bus: spi4
|
||||||
|
##diag1_pin: PF3
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder]
|
||||||
|
#cs_pin: PG10
|
||||||
|
#spi_bus: spi4
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder1]
|
||||||
|
#cs_pin: PG9
|
||||||
|
#spi_bus: spi4
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder2]
|
||||||
|
#cs_pin: PD7
|
||||||
|
#spi_bus: spi4
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder3]
|
||||||
|
#cs_pin: PD6
|
||||||
|
#spi_bus: spi4
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder4]
|
||||||
|
#cs_pin: PG8
|
||||||
|
#spi_bus: spi4
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder5]
|
||||||
|
#cs_pin: PG7
|
||||||
|
#spi_bus: spi4
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
[board_pins]
|
||||||
|
aliases:
|
||||||
|
# FPC header, Aliases EXP1 & EXP2 for mini12864
|
||||||
|
EXP1_1=PG2, EXP1_2=PD15,
|
||||||
|
EXP1_3=PD14, EXP1_4=PD13,
|
||||||
|
EXP1_5=PD12, EXP1_6=PD11,
|
||||||
|
EXP1_7=PD10, EXP1_8=PE15,
|
||||||
|
EXP1_9=<GND>, EXP1_10=<5V>,
|
||||||
|
|
||||||
|
# EXP2 header
|
||||||
|
EXP2_1=PE13, EXP2_2=PE12,
|
||||||
|
EXP2_3=PG5, EXP2_4=PE11,
|
||||||
|
EXP2_5=PG4, EXP2_6=PE14,
|
||||||
|
EXP2_7=PG3, EXP2_8=<RST>,
|
||||||
|
EXP2_9=<GND>, EXP2_10=<NC>
|
||||||
|
|
||||||
|
# See the sample-lcd.cfg file for definitions of common LCD displays.
|
||||||
|
|
||||||
|
#[bltouch]
|
||||||
|
#sensor_pin: ^PB15
|
||||||
|
#control_pin: PB14
|
||||||
|
|
||||||
|
# Proximity switch
|
||||||
|
#[probe]
|
||||||
|
#pin: PF11
|
||||||
|
|
||||||
|
#[output_pin ps_on_pin]
|
||||||
|
#pin: PF13
|
||||||
|
|
||||||
|
#[output_pin pf12_pin]
|
||||||
|
#pin: PF12
|
||||||
|
|
||||||
|
#[neopixel my_neopixel_1]
|
||||||
|
#pin: PE10
|
||||||
|
|
||||||
|
#[neopixel my_neopixel_2]
|
||||||
|
#pin: PE9
|
||||||
|
|
||||||
|
#[hall_filament_width_sensor]
|
||||||
|
#adc1: PC0
|
||||||
|
#adc2: PF10
|
||||||
|
|
||||||
|
#[adxl345]
|
||||||
|
#cs_pin: PF14
|
||||||
|
#spi_bus: spi4
|
||||||
289
config/generic-bigtreetech-octopus-pro-v1.0.cfg
Normal file
289
config/generic-bigtreetech-octopus-pro-v1.0.cfg
Normal file
@@ -0,0 +1,289 @@
|
|||||||
|
# This file contains common pin mappings for the BigTreeTech Octopus
|
||||||
|
# Pro v1.0 board.
|
||||||
|
|
||||||
|
# Important! Do not use this config with an Octopus Pro v1.1 board as
|
||||||
|
# doing so could result in a heater being inadvertently enabled.
|
||||||
|
|
||||||
|
# To use this config, start by identifying the micro-controller on the
|
||||||
|
# board - it may be an STM32F446, STM32F429, or an STM32H723. Select
|
||||||
|
# the appropriate micro-controller in "make menuconfig" and select
|
||||||
|
# "Enable low-level configuration options". For STM32F446 boards the
|
||||||
|
# firmware should be compiled with a "32KiB bootloader" and a "12MHz
|
||||||
|
# crystal" clock reference. For STM32F429 boards use a "32KiB
|
||||||
|
# bootloader" and an "8MHz crystal". For STM32H723 boards use a
|
||||||
|
# "128KiB bootloader" and a "25Mhz crystal".
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
# Driver0
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PF13
|
||||||
|
dir_pin: PF12
|
||||||
|
enable_pin: !PF14
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: PG6
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
# Driver1
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PG0
|
||||||
|
dir_pin: PG1
|
||||||
|
enable_pin: !PF15
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: PG9
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
# Driver2
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PF11
|
||||||
|
dir_pin: PG3
|
||||||
|
enable_pin: !PG5
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: PG10
|
||||||
|
position_endstop: 0.5
|
||||||
|
position_max: 200
|
||||||
|
|
||||||
|
# Driver3
|
||||||
|
# The Octopus only has 4 heater outputs which leaves an extra stepper
|
||||||
|
# This can be used for a second Z stepper, dual_carriage, extruder co-stepper,
|
||||||
|
# or other accesory such as an MMU
|
||||||
|
#[stepper_]
|
||||||
|
#step_pin: PG4
|
||||||
|
#dir_pin: PC1
|
||||||
|
#enable_pin: !PA0
|
||||||
|
#endstop_pin: PG11
|
||||||
|
#...
|
||||||
|
|
||||||
|
# Driver4
|
||||||
|
[extruder]
|
||||||
|
step_pin: PF9
|
||||||
|
dir_pin: PF10
|
||||||
|
enable_pin: !PG2
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 33.500
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PA2 # HE0
|
||||||
|
sensor_pin: PF4 # T0
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 22.2
|
||||||
|
pid_Ki: 1.08
|
||||||
|
pid_Kd: 114
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
#[filament_switch_sensor material_0]
|
||||||
|
#switch_pin: PG12
|
||||||
|
|
||||||
|
# Driver5
|
||||||
|
#[extruder1]
|
||||||
|
#step_pin: PC13
|
||||||
|
#dir_pin: PF0
|
||||||
|
#enable_pin: !PF1
|
||||||
|
#heater_pin: PA3 # HE1
|
||||||
|
#sensor_pin: PF5 # T1
|
||||||
|
#...
|
||||||
|
|
||||||
|
#[filament_switch_sensor material_1]
|
||||||
|
#switch_pin: PG13
|
||||||
|
|
||||||
|
# Driver6
|
||||||
|
#[extruder2]
|
||||||
|
#step_pin: PE2
|
||||||
|
#dir_pin: PE3
|
||||||
|
#enable_pin: !PD4
|
||||||
|
#heater_pin: PB10 # HE2
|
||||||
|
#sensor_pin: PF6 # T2
|
||||||
|
#...
|
||||||
|
|
||||||
|
#[filament_switch_sensor material_2]
|
||||||
|
#switch_pin: PG14
|
||||||
|
|
||||||
|
# Driver7
|
||||||
|
#[extruder3]
|
||||||
|
#step_pin: PE6
|
||||||
|
#dir_pin: PA14
|
||||||
|
#enable_pin: !PE0
|
||||||
|
#heater_pin: PB11 # HE3
|
||||||
|
#sensor_pin: PF7 # T3
|
||||||
|
#...
|
||||||
|
|
||||||
|
#[filament_switch_sensor material_3]
|
||||||
|
#switch_pin: PG15
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PA1
|
||||||
|
sensor_pin: PF3 # TB
|
||||||
|
sensor_type: ATC Semitec 104GT-2
|
||||||
|
control: watermark
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PA8
|
||||||
|
|
||||||
|
#[heater_fan fan1]
|
||||||
|
#pin: PE5
|
||||||
|
|
||||||
|
#[heater_fan fan2]
|
||||||
|
#pin: PD12
|
||||||
|
|
||||||
|
#[heater_fan fan3]
|
||||||
|
#pin: PD13
|
||||||
|
|
||||||
|
#[heater_fan fan4]
|
||||||
|
#pin: PD14
|
||||||
|
|
||||||
|
#[controller_fan fan5]
|
||||||
|
#pin: PD15
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
|
||||||
|
# CAN bus is also available on this board
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 3000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC2209 configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2209 stepper_x]
|
||||||
|
#uart_pin: PC4
|
||||||
|
##diag_pin: PG6
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 stepper_y]
|
||||||
|
#uart_pin: PD11
|
||||||
|
##diag_pin: PG9
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 stepper_z]
|
||||||
|
#uart_pin: PC6
|
||||||
|
##diag_pin: PG10
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 stepper_]
|
||||||
|
#uart_pin: PC7
|
||||||
|
##diag_pin: PG11
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder]
|
||||||
|
#uart_pin: PF2
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder1]
|
||||||
|
#uart_pin: PE4
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder2]
|
||||||
|
#uart_pin: PE1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder3]
|
||||||
|
#uart_pin: PD3
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC2130 configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2130 stepper_x]
|
||||||
|
#cs_pin: PC4
|
||||||
|
#spi_bus: spi1
|
||||||
|
##diag1_pin: PG6
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_y]
|
||||||
|
#cs_pin: PD11
|
||||||
|
#spi_bus: spi1
|
||||||
|
##diag1_pin: PG9
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_z]
|
||||||
|
#cs_pin: PC6
|
||||||
|
#spi_bus: spi1
|
||||||
|
##diag1_pin: PG10
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_]
|
||||||
|
#cs_pin: PC7
|
||||||
|
#spi_bus: spi1
|
||||||
|
##diag1_pin: PG11
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder]
|
||||||
|
#cs_pin: PF2
|
||||||
|
#spi_bus: spi1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder1]
|
||||||
|
#cs_pin: PE4
|
||||||
|
#spi_bus: spi1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder2]
|
||||||
|
#cs_pin: PE1
|
||||||
|
#spi_bus: spi1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder3]
|
||||||
|
#cs_pin: PD3
|
||||||
|
#spi_bus: spi1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
[board_pins]
|
||||||
|
aliases:
|
||||||
|
# EXP1 header
|
||||||
|
EXP1_1=PE8, EXP1_2=PE7,
|
||||||
|
EXP1_3=PE9, EXP1_4=PE10,
|
||||||
|
EXP1_5=PE12, EXP1_6=PE13, # Slot in the socket on this side
|
||||||
|
EXP1_7=PE14, EXP1_8=PE15,
|
||||||
|
EXP1_9=<GND>, EXP1_10=<5V>,
|
||||||
|
|
||||||
|
# EXP2 header
|
||||||
|
EXP2_1=PA6, EXP2_2=PA5,
|
||||||
|
EXP2_3=PB1, EXP2_4=PA4,
|
||||||
|
EXP2_5=PB2, EXP2_6=PA7, # Slot in the socket on this side
|
||||||
|
EXP2_7=PC15, EXP2_8=<RST>,
|
||||||
|
EXP2_9=<GND>, EXP2_10=PC5
|
||||||
|
|
||||||
|
# See the sample-lcd.cfg file for definitions of common LCD displays.
|
||||||
|
|
||||||
|
# A [probe] section can be defined instead with a pin: setting identical
|
||||||
|
# to the sensor_pin: for a bltouch
|
||||||
|
#[bltouch]
|
||||||
|
#sensor_pin: PB7
|
||||||
|
#control_pin: PB6
|
||||||
|
#z_offset: 0
|
||||||
|
|
||||||
|
#[neopixel my_neopixel]
|
||||||
|
#pin: PB0
|
||||||
@@ -1,6 +1,13 @@
|
|||||||
# This file contains common pin mappings for the BigTreeTech Octopus.
|
# This file contains common pin mappings for the BigTreeTech Octopus
|
||||||
# To use this config, the firmware should be compiled for the
|
# Pro v1.1 board.
|
||||||
# STM32F446 with a "32KiB bootloader" and a "12MHz crystal" clock reference.
|
|
||||||
|
# Important! Do not use this config with an Octopus Pro v1.0 board nor
|
||||||
|
# non-Pro board.
|
||||||
|
|
||||||
|
# To use this config, during "make menuconfig", select "Enable
|
||||||
|
# low-level configuration options", select the STM32H723
|
||||||
|
# micro-controller, select a "128KiB bootloader", and select a "25Mhz
|
||||||
|
# crystal".
|
||||||
|
|
||||||
# See docs/Config_Reference.md for a description of parameters.
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
@@ -46,7 +53,7 @@ position_max: 200
|
|||||||
#[stepper_]
|
#[stepper_]
|
||||||
#step_pin: PG4
|
#step_pin: PG4
|
||||||
#dir_pin: PC1
|
#dir_pin: PC1
|
||||||
#enable_pin: PA0
|
#enable_pin: !PA2
|
||||||
#endstop_pin: PG11
|
#endstop_pin: PG11
|
||||||
#...
|
#...
|
||||||
|
|
||||||
@@ -59,7 +66,7 @@ microsteps: 16
|
|||||||
rotation_distance: 33.500
|
rotation_distance: 33.500
|
||||||
nozzle_diameter: 0.400
|
nozzle_diameter: 0.400
|
||||||
filament_diameter: 1.750
|
filament_diameter: 1.750
|
||||||
heater_pin: PA2 # HE0
|
heater_pin: PA0 # HE0
|
||||||
sensor_pin: PF4 # T0
|
sensor_pin: PF4 # T0
|
||||||
sensor_type: EPCOS 100K B57560G104F
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
control: pid
|
control: pid
|
||||||
@@ -89,7 +96,7 @@ max_temp: 250
|
|||||||
#step_pin: PE2
|
#step_pin: PE2
|
||||||
#dir_pin: PE3
|
#dir_pin: PE3
|
||||||
#enable_pin: !PD4
|
#enable_pin: !PD4
|
||||||
#heater_pin: PB10 # HE2
|
#heater_pin: PB0 # HE2
|
||||||
#sensor_pin: PF6 # T2
|
#sensor_pin: PF6 # T2
|
||||||
#...
|
#...
|
||||||
|
|
||||||
@@ -275,4 +282,4 @@ aliases:
|
|||||||
#z_offset: 0
|
#z_offset: 0
|
||||||
|
|
||||||
#[neopixel my_neopixel]
|
#[neopixel my_neopixel]
|
||||||
#pin: PB0
|
#pin: PB10
|
||||||
288
config/generic-bigtreetech-octopus-v1.1.cfg
Normal file
288
config/generic-bigtreetech-octopus-v1.1.cfg
Normal file
@@ -0,0 +1,288 @@
|
|||||||
|
# This file contains common pin mappings for the BigTreeTech Octopus
|
||||||
|
# (non-Pro) boards.
|
||||||
|
|
||||||
|
# Important! Do not use this config with an Octopus Pro v1.1 board as
|
||||||
|
# doing so could result in a heater being inadvertently enabled.
|
||||||
|
|
||||||
|
# To use this config, start by identifying the micro-controller on the
|
||||||
|
# board - it may be an STM32F446, or STM32F429. Select the
|
||||||
|
# appropriate micro-controller in "make menuconfig" and select "Enable
|
||||||
|
# low-level configuration options". For STM32F446 boards the firmware
|
||||||
|
# should be compiled with a "32KiB bootloader" and a "12MHz crystal"
|
||||||
|
# clock reference. For STM32F429 boards use a "32KiB bootloader" and
|
||||||
|
# an "8MHz crystal".
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
# Driver0
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PF13
|
||||||
|
dir_pin: PF12
|
||||||
|
enable_pin: !PF14
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: PG6
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
# Driver1
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PG0
|
||||||
|
dir_pin: PG1
|
||||||
|
enable_pin: !PF15
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: PG9
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
# Driver2
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PF11
|
||||||
|
dir_pin: PG3
|
||||||
|
enable_pin: !PG5
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: PG10
|
||||||
|
position_endstop: 0.5
|
||||||
|
position_max: 200
|
||||||
|
|
||||||
|
# Driver3
|
||||||
|
# The Octopus only has 4 heater outputs which leaves an extra stepper
|
||||||
|
# This can be used for a second Z stepper, dual_carriage, extruder co-stepper,
|
||||||
|
# or other accesory such as an MMU
|
||||||
|
#[stepper_]
|
||||||
|
#step_pin: PG4
|
||||||
|
#dir_pin: PC1
|
||||||
|
#enable_pin: !PA0
|
||||||
|
#endstop_pin: PG11
|
||||||
|
#...
|
||||||
|
|
||||||
|
# Driver4
|
||||||
|
[extruder]
|
||||||
|
step_pin: PF9
|
||||||
|
dir_pin: PF10
|
||||||
|
enable_pin: !PG2
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 33.500
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PA2 # HE0
|
||||||
|
sensor_pin: PF4 # T0
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 22.2
|
||||||
|
pid_Ki: 1.08
|
||||||
|
pid_Kd: 114
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
#[filament_switch_sensor material_0]
|
||||||
|
#switch_pin: PG12
|
||||||
|
|
||||||
|
# Driver5
|
||||||
|
#[extruder1]
|
||||||
|
#step_pin: PC13
|
||||||
|
#dir_pin: PF0
|
||||||
|
#enable_pin: !PF1
|
||||||
|
#heater_pin: PA3 # HE1
|
||||||
|
#sensor_pin: PF5 # T1
|
||||||
|
#...
|
||||||
|
|
||||||
|
#[filament_switch_sensor material_1]
|
||||||
|
#switch_pin: PG13
|
||||||
|
|
||||||
|
# Driver6
|
||||||
|
#[extruder2]
|
||||||
|
#step_pin: PE2
|
||||||
|
#dir_pin: PE3
|
||||||
|
#enable_pin: !PD4
|
||||||
|
#heater_pin: PB10 # HE2
|
||||||
|
#sensor_pin: PF6 # T2
|
||||||
|
#...
|
||||||
|
|
||||||
|
#[filament_switch_sensor material_2]
|
||||||
|
#switch_pin: PG14
|
||||||
|
|
||||||
|
# Driver7
|
||||||
|
#[extruder3]
|
||||||
|
#step_pin: PE6
|
||||||
|
#dir_pin: PA14
|
||||||
|
#enable_pin: !PE0
|
||||||
|
#heater_pin: PB11 # HE3
|
||||||
|
#sensor_pin: PF7 # T3
|
||||||
|
#...
|
||||||
|
|
||||||
|
#[filament_switch_sensor material_3]
|
||||||
|
#switch_pin: PG15
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PA1
|
||||||
|
sensor_pin: PF3 # TB
|
||||||
|
sensor_type: ATC Semitec 104GT-2
|
||||||
|
control: watermark
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PA8
|
||||||
|
|
||||||
|
#[heater_fan fan1]
|
||||||
|
#pin: PE5
|
||||||
|
|
||||||
|
#[heater_fan fan2]
|
||||||
|
#pin: PD12
|
||||||
|
|
||||||
|
#[heater_fan fan3]
|
||||||
|
#pin: PD13
|
||||||
|
|
||||||
|
#[heater_fan fan4]
|
||||||
|
#pin: PD14
|
||||||
|
|
||||||
|
#[controller_fan fan5]
|
||||||
|
#pin: PD15
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
|
||||||
|
# CAN bus is also available on this board
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 3000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC2209 configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2209 stepper_x]
|
||||||
|
#uart_pin: PC4
|
||||||
|
##diag_pin: PG6
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 stepper_y]
|
||||||
|
#uart_pin: PD11
|
||||||
|
##diag_pin: PG9
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 stepper_z]
|
||||||
|
#uart_pin: PC6
|
||||||
|
##diag_pin: PG10
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 stepper_]
|
||||||
|
#uart_pin: PC7
|
||||||
|
##diag_pin: PG11
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder]
|
||||||
|
#uart_pin: PF2
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder1]
|
||||||
|
#uart_pin: PE4
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder2]
|
||||||
|
#uart_pin: PE1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2209 extruder3]
|
||||||
|
#uart_pin: PD3
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC2130 configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2130 stepper_x]
|
||||||
|
#cs_pin: PC4
|
||||||
|
#spi_bus: spi1
|
||||||
|
##diag1_pin: PG6
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_y]
|
||||||
|
#cs_pin: PD11
|
||||||
|
#spi_bus: spi1
|
||||||
|
##diag1_pin: PG9
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_z]
|
||||||
|
#cs_pin: PC6
|
||||||
|
#spi_bus: spi1
|
||||||
|
##diag1_pin: PG10
|
||||||
|
#run_current: 0.650
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_]
|
||||||
|
#cs_pin: PC7
|
||||||
|
#spi_bus: spi1
|
||||||
|
##diag1_pin: PG11
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder]
|
||||||
|
#cs_pin: PF2
|
||||||
|
#spi_bus: spi1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder1]
|
||||||
|
#cs_pin: PE4
|
||||||
|
#spi_bus: spi1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder2]
|
||||||
|
#cs_pin: PE1
|
||||||
|
#spi_bus: spi1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder3]
|
||||||
|
#cs_pin: PD3
|
||||||
|
#spi_bus: spi1
|
||||||
|
#run_current: 0.800
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
[board_pins]
|
||||||
|
aliases:
|
||||||
|
# EXP1 header
|
||||||
|
EXP1_1=PE8, EXP1_2=PE7,
|
||||||
|
EXP1_3=PE9, EXP1_4=PE10,
|
||||||
|
EXP1_5=PE12, EXP1_6=PE13, # Slot in the socket on this side
|
||||||
|
EXP1_7=PE14, EXP1_8=PE15,
|
||||||
|
EXP1_9=<GND>, EXP1_10=<5V>,
|
||||||
|
|
||||||
|
# EXP2 header
|
||||||
|
EXP2_1=PA6, EXP2_2=PA5,
|
||||||
|
EXP2_3=PB1, EXP2_4=PA4,
|
||||||
|
EXP2_5=PB2, EXP2_6=PA7, # Slot in the socket on this side
|
||||||
|
EXP2_7=PC15, EXP2_8=<RST>,
|
||||||
|
EXP2_9=<GND>, EXP2_10=PC5
|
||||||
|
|
||||||
|
# See the sample-lcd.cfg file for definitions of common LCD displays.
|
||||||
|
|
||||||
|
# A [probe] section can be defined instead with a pin: setting identical
|
||||||
|
# to the sensor_pin: for a bltouch
|
||||||
|
#[bltouch]
|
||||||
|
#sensor_pin: PB7
|
||||||
|
#control_pin: PB6
|
||||||
|
#z_offset: 0
|
||||||
|
|
||||||
|
#[neopixel my_neopixel]
|
||||||
|
#pin: PB0
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
# This file contains common pin mappings for the BigTreeTech SKR 3.
|
# This file contains common pin mappings for the BigTreeTech SKR 3.
|
||||||
|
# This board can ship with one of two chips, STM32H743 or STM32H723.
|
||||||
# To use this config, during "make menuconfig" enable "low-level
|
# To use this config, during "make menuconfig" enable "low-level
|
||||||
# options", "STM32H743", "128KiB bootloader", and "25MHz clock".
|
# options", "STM32H743" or "STM32H723", "128KiB bootloader",
|
||||||
|
# and "25MHz clock".
|
||||||
|
|
||||||
# See docs/Config_Reference.md for a description of parameters.
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ homing_speed: 50
|
|||||||
[tmc2209 stepper_y]
|
[tmc2209 stepper_y]
|
||||||
uart_pin: PC11
|
uart_pin: PC11
|
||||||
tx_pin: PC10
|
tx_pin: PC10
|
||||||
uart_address: 2
|
uart_address: 1
|
||||||
run_current: 0.550
|
run_current: 0.550
|
||||||
stealthchop_threshold: 999999
|
stealthchop_threshold: 999999
|
||||||
|
|
||||||
@@ -63,7 +63,7 @@ position_max: 250
|
|||||||
[tmc2209 stepper_z]
|
[tmc2209 stepper_z]
|
||||||
uart_pin: PC11
|
uart_pin: PC11
|
||||||
tx_pin: PC10
|
tx_pin: PC10
|
||||||
uart_address: 1
|
uart_address: 2
|
||||||
run_current: 0.550
|
run_current: 0.550
|
||||||
stealthchop_threshold: 999999
|
stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
|||||||
@@ -106,6 +106,9 @@ pin: gpio18
|
|||||||
[heater_fan controller_fan]
|
[heater_fan controller_fan]
|
||||||
pin: gpio20
|
pin: gpio20
|
||||||
|
|
||||||
|
[temperature_sensor pico]
|
||||||
|
sensor_type: temperature_mcu
|
||||||
|
|
||||||
[mcu]
|
[mcu]
|
||||||
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
|
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
|
||||||
|
|
||||||
|
|||||||
152
config/generic-duet3-6hc.cfg
Normal file
152
config/generic-duet3-6hc.cfg
Normal file
@@ -0,0 +1,152 @@
|
|||||||
|
# This file contains common pin mappings for the Duet3 6HC. To use
|
||||||
|
# this config, the firmware should be compiled for the SAME70Q20B.
|
||||||
|
|
||||||
|
# To flash the board, erase the existing firmware by jumpering the erase jumper.
|
||||||
|
# Boot the board, wait for reset to complete, remove the jumper, and then reboot the board,
|
||||||
|
# as described in Duet's documentation:
|
||||||
|
# https://docs.duet3d.com/en/User_manual/RepRapFirmware/Updating_firmware#all-other-duet-boards
|
||||||
|
# Then run: make flash FLASH_DEVICE=/dev/ttyACM0
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
|
||||||
|
# Pins for reference, v1.02 board:
|
||||||
|
# Driver Step Pins - 0:PC18 1:PC16 2:PC28 3:PC1 4:PC4 5:PC9
|
||||||
|
# Driver Dir Pins - 0:PB5 1:PD10 2:PA4 3:PA22 4:PC3 5:PD14
|
||||||
|
# Driver Enable - !PA9
|
||||||
|
# Driver CS - PD17
|
||||||
|
# Thermistor Pins - TEMP0:PC15 TEMP1:PC29 TEMP2:PC30 TEMP3:PC31
|
||||||
|
# Pullup Resistor - 2200
|
||||||
|
# Vssa Sense:PC13 | Vref Sense:PC0
|
||||||
|
# Current Sense resistor for drivers - 0.05ohm
|
||||||
|
# SPI lines:{PC25} -> SPIMosi:PC27 SPIMiso:PC26 SPISCLK:PC24
|
||||||
|
# Vin Monitor:PA20
|
||||||
|
# CAN Pins - TX0:PB2 RX0:PB3 TX1:PD12 RX1:PC12
|
||||||
|
# Heaters - Out0:PA7 Out1:PA24 Out2:PA16 Out3:PA11
|
||||||
|
# Fan outputs - Out4:PA15 Out5:PC5 Out6:PA8 Out7:PC11 Out8:PC8 Out9:PA12 | Out9 is shared with VFD_Out
|
||||||
|
# Tach Pins for Fans - Out4.Tach:PC7 Out5.Tach:PD23 Out6.Tach:PA1
|
||||||
|
# GPIO_out - IO0:PD26 IO1:PD16 IO2:PD27 IO3:PA3 IO4:PE0 IO5:PD21 IO6:PA0 IO7:PD23 IO8:PE1
|
||||||
|
# GPIO_in - IO0:PD25 IO1:PD15 IO2:PD28 IO3:PE5 IO4:PD30 IO5:PA19 IO6:PA18 IO7:PA17 IO8:PE3
|
||||||
|
# Driver Diag - 0:PD29 1:PC17 2:PD13 3:PC2 4:PD31 5:PC10
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
#driver 0
|
||||||
|
step_pin: PC18
|
||||||
|
dir_pin: PB5
|
||||||
|
enable_pin: !PA9
|
||||||
|
microsteps: 128
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: PD25 #IO0
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 450
|
||||||
|
|
||||||
|
[tmc5160 stepper_x]
|
||||||
|
cs_pin: PD17
|
||||||
|
spi_bus: usart1
|
||||||
|
chain_position: 1
|
||||||
|
chain_length: 6
|
||||||
|
interpolate: False
|
||||||
|
run_current: 1
|
||||||
|
sense_resistor: 0.05
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
#driver 1
|
||||||
|
step_pin: PC16
|
||||||
|
dir_pin: PD10
|
||||||
|
enable_pin: !PA9
|
||||||
|
microsteps: 128
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: PD15 #IO1
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 450
|
||||||
|
|
||||||
|
[tmc5160 stepper_y]
|
||||||
|
cs_pin: PD17
|
||||||
|
chain_position: 2
|
||||||
|
chain_length: 6
|
||||||
|
interpolate: False
|
||||||
|
run_current: 1.0
|
||||||
|
sense_resistor: 0.05
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
#driver2
|
||||||
|
step_pin: PC28
|
||||||
|
dir_pin: PA4
|
||||||
|
enable_pin: !PA9
|
||||||
|
microsteps: 64
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: PD28 #IO2
|
||||||
|
position_endstop: 0
|
||||||
|
position_min: 0
|
||||||
|
position_max: 400
|
||||||
|
|
||||||
|
[tmc5160 stepper_z]
|
||||||
|
cs_pin: PD17
|
||||||
|
chain_position: 3
|
||||||
|
chain_length: 6
|
||||||
|
interpolate: False
|
||||||
|
run_current: 1.0
|
||||||
|
sense_resistor: 0.05
|
||||||
|
|
||||||
|
[adc_scaled vref_scaled]
|
||||||
|
vref_pin: PC0
|
||||||
|
vssa_pin: PC13
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
#driver3
|
||||||
|
step_pin: PC1
|
||||||
|
dir_pin: PA22
|
||||||
|
enable_pin: !PA9
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 33.500
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PA24 #Out1
|
||||||
|
sensor_type: ATC Semitec 104GT-2
|
||||||
|
pullup_resistor: 2200
|
||||||
|
sensor_pin: vref_scaled:PC29 #Temp1
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 30.089
|
||||||
|
pid_Ki: 2.229
|
||||||
|
pid_Kd: 101.550
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 285
|
||||||
|
|
||||||
|
[tmc5160 extruder]
|
||||||
|
cs_pin: PD17
|
||||||
|
chain_position: 4
|
||||||
|
chain_length: 6
|
||||||
|
interpolate: False
|
||||||
|
run_current: .6
|
||||||
|
sense_resistor: 0.05
|
||||||
|
|
||||||
|
[heater_fan heatbreak_fan]
|
||||||
|
pin: PC8 #Out8
|
||||||
|
heater: extruder
|
||||||
|
heater_temp: 50.0
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PA7 #Out0
|
||||||
|
sensor_type: Generic 3950
|
||||||
|
sensor_pin: vref_scaled:PC15 #Temp0
|
||||||
|
control: pid
|
||||||
|
pullup_resistor: 2200
|
||||||
|
pid_Kp: 61.049
|
||||||
|
pid_Ki: 2.339
|
||||||
|
pid_Kd: 398.344
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[heater_fan heatbreak_fan]
|
||||||
|
pin: PA15 #Out4
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PC5 #Out5
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/ttyACM0
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 350
|
||||||
|
max_accel: 3000
|
||||||
108
config/generic-duet3-6xd.cfg
Normal file
108
config/generic-duet3-6xd.cfg
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
# This file contains common pin mappings for the Duet3 6XD. To use
|
||||||
|
# this config, the firmware should be compiled for the SAME70Q20B.
|
||||||
|
|
||||||
|
# To flash the board, erase the existing firmware by jumpering the erase jumper.
|
||||||
|
# Boot the board, wait for reset to complete, remove the jumper, and then reboot the board,
|
||||||
|
# as described in Duet's documentation:
|
||||||
|
# https://docs.duet3d.com/en/User_manual/RepRapFirmware/Updating_firmware#all-other-duet-boards
|
||||||
|
# Then run: make flash FLASH_DEVICE=/dev/ttyACM0
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
|
||||||
|
# Pins for reference, v1.0 board:
|
||||||
|
# Driver Step Pins - 0:PC18 1:PC16 2:PC28 3:PC1 4:PC4 5:PC9
|
||||||
|
# Driver Dir Pins - 0:PB5 1:PD10 2:PA4 3:PA22 4:PC3 5:PD14
|
||||||
|
# Driver En Pins - 0:PB4 1:PA21 2:PC20 3:PA23 4:PA2 5:PD17
|
||||||
|
# Driver Err Pins - 0:PD29 1:PC17 2:PD13 3:PC2 4:PD31 5:PC10
|
||||||
|
# Thermistor Pins - TEMP0:PC15 TEMP1:PC29 TEMP2:PC0 TEMP3:PC31
|
||||||
|
# Pullup Resistor - 2200
|
||||||
|
# Vssa Sense:PC13 | Vref Sense:PC30
|
||||||
|
# SPI0:{PD19, PA5, PA6, PD20, PC22} -> SPIMosi:PB1 SPIMiso:PB0 SPISCLK:PB13
|
||||||
|
# SPI1:{PC25} -> SPIMosi:PC27 SPIMiso:PC26 SPISCLK:PC24 DATA_RDY:PE2
|
||||||
|
# Vin Monitor:PA20
|
||||||
|
# LED's - Diag:PB6, Act:PB7
|
||||||
|
# CAN Pins - TX0:PB2 RX0:PB3 TX1:PD12 RX1:PC12
|
||||||
|
# Heaters - Out0:PA24 Out1:PA16 Out2:PA11
|
||||||
|
# Fan outputs - Out3:PA15 Out4:PC5 Out5:PA8 Out6:PC11 Out7:PC8 Out8:PA12
|
||||||
|
# Tach Pins for Fans - Out3.Tach:PC7 Out4.Tach:PD23 Out5.Tach:PA1
|
||||||
|
# VFD - PA7
|
||||||
|
# GPIO_out - IO0:PD26 IO1:PD16 IO2:PD27 IO3:PA3 IO4:PE0 IO5:PD21 IO6:PA0 IO7:PD23 IO8:PE1
|
||||||
|
# GPIO_in - IO0:PD25 IO1:PD15 IO2:PD28 IO3:PE5 IO4:PD30 IO5:PA19 IO6:PA18 IO7:PA17 IO8:PE3
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
#driver 0
|
||||||
|
step_pin: PC18
|
||||||
|
dir_pin: PB5
|
||||||
|
enable_pin: PB4
|
||||||
|
microsteps: 128
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: PD25 #IO0
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 450
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
#driver 1
|
||||||
|
step_pin: PC16
|
||||||
|
dir_pin: PD10
|
||||||
|
enable_pin: PA21
|
||||||
|
microsteps: 128
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: PD15 #IO1
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 450
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
#driver2
|
||||||
|
step_pin: PC28
|
||||||
|
dir_pin: PA4
|
||||||
|
enable_pin: PC20
|
||||||
|
microsteps: 64
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: PD28 #IO2
|
||||||
|
position_endstop: 0
|
||||||
|
position_min: 0
|
||||||
|
position_max: 400
|
||||||
|
|
||||||
|
[adc_scaled vref_scaled]
|
||||||
|
vref_pin: PC30
|
||||||
|
vssa_pin: PC13
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
#driver3
|
||||||
|
step_pin: PC1
|
||||||
|
dir_pin: PA22
|
||||||
|
enable_pin: PA23
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 33.500
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PA24 #Out0
|
||||||
|
sensor_type: ATC Semitec 104GT-2
|
||||||
|
pullup_resistor: 2200
|
||||||
|
sensor_pin: vref_scaled:PC29 #Temp1
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 30.089
|
||||||
|
pid_Ki: 2.229
|
||||||
|
pid_Kd: 101.550
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 285
|
||||||
|
|
||||||
|
[heater_fan heatbreak_fan]
|
||||||
|
pin: PC8 #Out7
|
||||||
|
heater: extruder
|
||||||
|
heater_temp: 50.0
|
||||||
|
|
||||||
|
[heater_fan heatbreak_fan]
|
||||||
|
pin: PA15 #Out3
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PC5 #Out4
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/ttyACM0
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 350
|
||||||
|
max_accel: 3000
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# This file contains common pin mappings for the Duet3 Mini 5+. To use
|
# This file contains common pin mappings for the Duet3 Mini 5+. To use
|
||||||
# this config, the firmware should be compiled for the ATSAMD51P20
|
# this config, the firmware should be compiled for the SAME54P20 with
|
||||||
# with a "25Mhz crystal", "16KiB bootloader", and USB communication.
|
# a "25Mhz crystal", "16KiB bootloader", and USB communication.
|
||||||
|
|
||||||
# To flash the board, double tap the board's reset button to enter the
|
# To flash the board, double tap the board's reset button to enter the
|
||||||
# bootloader and then run: make flash FLASH_DEVICE=/dev/ttyACM0
|
# bootloader and then run: make flash FLASH_DEVICE=/dev/ttyACM0
|
||||||
|
|||||||
138
config/generic-fysetc-cheetah-v2.0.cfg
Normal file
138
config/generic-fysetc-cheetah-v2.0.cfg
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
# This file contains common pin mappings for the Fysetc Cheetah V2.0
|
||||||
|
# To use this config, the firmware should be compiled for the
|
||||||
|
# STM32F401 with a "32KiB bootloader".
|
||||||
|
|
||||||
|
# Rename "klipper.bin" to "firmware.bin", copy to Sdcard and insert in motherboard
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PC0
|
||||||
|
dir_pin: PC1
|
||||||
|
enable_pin: !PA8
|
||||||
|
rotation_distance: 40
|
||||||
|
microsteps: 64
|
||||||
|
endstop_pin: ^PB4
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[tmc2209 stepper_x]
|
||||||
|
uart_pin: PA3
|
||||||
|
tx_pin: PA2
|
||||||
|
uart_address: 0
|
||||||
|
run_current: 0.800
|
||||||
|
interpolate: false
|
||||||
|
stealthchop_threshold: 0
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PC14
|
||||||
|
dir_pin: !PC13
|
||||||
|
enable_pin: !PC15
|
||||||
|
rotation_distance: 40
|
||||||
|
microsteps: 64
|
||||||
|
endstop_pin: ^PC8
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[tmc2209 stepper_y]
|
||||||
|
uart_pin: PA3
|
||||||
|
tx_pin: PA2
|
||||||
|
uart_address: 2
|
||||||
|
run_current: 0.800
|
||||||
|
interpolate: false
|
||||||
|
stealthchop_threshold: 0
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PB9
|
||||||
|
dir_pin: PB8
|
||||||
|
enable_pin: !PC2
|
||||||
|
rotation_distance: 8
|
||||||
|
microsteps: 64
|
||||||
|
endstop_pin: ^PB1
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
|
||||||
|
[tmc2209 stepper_z]
|
||||||
|
uart_pin: PA3
|
||||||
|
tx_pin: PA2
|
||||||
|
uart_address: 1
|
||||||
|
run_current: 0.800
|
||||||
|
interpolate: false
|
||||||
|
stealthchop_threshold: 0
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PB2
|
||||||
|
dir_pin: !PA15
|
||||||
|
enable_pin: !PD2
|
||||||
|
rotation_distance: 33.500
|
||||||
|
microsteps: 16
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PC6
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC4
|
||||||
|
control: pid
|
||||||
|
pid_kp: 21.527
|
||||||
|
pid_ki: 1.063
|
||||||
|
pid_kd: 108.982
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
[tmc2209 extruder]
|
||||||
|
uart_pin: PA3
|
||||||
|
tx_pin: PA2
|
||||||
|
uart_address: 3
|
||||||
|
run_current: 0.800
|
||||||
|
interpolate: false
|
||||||
|
stealthchop_threshold: 0
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PC7
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC5
|
||||||
|
control: pid
|
||||||
|
pid_kp: 54.027
|
||||||
|
pid_ki: 0.770
|
||||||
|
pid_kd: 948.182
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 120
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PA1
|
||||||
|
|
||||||
|
[heater_fan my_hotend_fan]
|
||||||
|
pin: PA13
|
||||||
|
heater: extruder
|
||||||
|
heater_temp: 50.0
|
||||||
|
|
||||||
|
[controller_fan my_controller_fan]
|
||||||
|
pin: PA14
|
||||||
|
heater: extruder, heater_bed
|
||||||
|
stepper: stepper_x, stepper_y, stepper_z, extruder
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 500
|
||||||
|
max_accel: 5000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 1000
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: INSERTSERIALIDHERE
|
||||||
|
|
||||||
|
[board_pins]
|
||||||
|
aliases:
|
||||||
|
# EXP1 header
|
||||||
|
EXP1_1=<5V>, EXP1_3=<RST>, EXP1_5=PA7, EXP1_7=PA4, EXP1_9=PA5,
|
||||||
|
EXP1_2=<GND>, EXP1_4=PC3, EXP1_6=PC11, EXP1_8=PC10, EXP1_10=PA6,
|
||||||
|
|
||||||
|
# EXP2 header
|
||||||
|
EXP2_1=<5V>, EXP2_3=PB7, EXP2_5=PB14, EXP2_7=PB12, EXP2_9=PC12,
|
||||||
|
EXP2_2=<GND>, EXP2_4=PB6, EXP2_6=PB13, EXP2_8=PB15, EXP2_10=PC9,
|
||||||
|
|
||||||
|
# EXP3 header
|
||||||
|
EXP3_1=PC9, EXP3_3=PC10, EXP3_5=PC11, EXP3_7=PB12, EXP3_9=<GND>,
|
||||||
|
EXP3_2=PC12, EXP3_4=PB14, EXP3_6=PB13, EXP3_8=PB15, EXP3_10=<5V>
|
||||||
|
# Pins EXP1_4, EXP1_8, EXP1_6 are also MISO, MOSI, SCK of bus "spi2"
|
||||||
@@ -78,7 +78,7 @@ max_temp: 130
|
|||||||
pin: PL5
|
pin: PL5
|
||||||
|
|
||||||
#fan for hotend FAN1
|
#fan for hotend FAN1
|
||||||
#[heater_fan my_nozzle_fan]
|
#[heater_fan heatbreak_cooling_fan]
|
||||||
#pin: PL4
|
#pin: PL4
|
||||||
#shutdown_speed: 1
|
#shutdown_speed: 1
|
||||||
|
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ max_temp: 130
|
|||||||
pin: PB0
|
pin: PB0
|
||||||
|
|
||||||
#fan for hotend FAN1
|
#fan for hotend FAN1
|
||||||
#[heater_fan my_nozzle_fan]
|
#[heater_fan heatbreak_cooling_fan]
|
||||||
#pin: PB1
|
#pin: PB1
|
||||||
#shutdown_speed: 1
|
#shutdown_speed: 1
|
||||||
|
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ max_temp: 130
|
|||||||
pin: PB0
|
pin: PB0
|
||||||
|
|
||||||
#fan for hotend FAN1
|
#fan for hotend FAN1
|
||||||
#[heater_fan my_nozzle_fan]
|
#[heater_fan heatbreak_cooling_fan]
|
||||||
#pin: PB1
|
#pin: PB1
|
||||||
#shutdown_speed: 1
|
#shutdown_speed: 1
|
||||||
|
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ max_temp: 130
|
|||||||
pin: PB0
|
pin: PB0
|
||||||
|
|
||||||
#fan for hotend FAN1
|
#fan for hotend FAN1
|
||||||
#[heater_fan my_nozzle_fan]
|
#[heater_fan heatbreak_cooling_fan]
|
||||||
#pin: PB1
|
#pin: PB1
|
||||||
#shutdown_speed: 1
|
#shutdown_speed: 1
|
||||||
|
|
||||||
|
|||||||
241
config/generic-ldo-leviathan-v1.2.cfg
Normal file
241
config/generic-ldo-leviathan-v1.2.cfg
Normal file
@@ -0,0 +1,241 @@
|
|||||||
|
# This file contains common pin mappings for the LDO Leviathan v1.2.
|
||||||
|
|
||||||
|
# To use this config, during "make menuconfig", select "Enable
|
||||||
|
# low-level configuration options", select the STM32F446 micro-controller,
|
||||||
|
# select a "32KiB bootloader", and select a "12Mhz crystal".
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
# HV-STEPPER-0
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PB10
|
||||||
|
dir_pin: PB11
|
||||||
|
enable_pin: !PG0
|
||||||
|
microsteps: 32
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: PC1 # X-ENDSTOP
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[tmc5160 stepper_x]
|
||||||
|
spi_bus: spi4
|
||||||
|
cs_pin: PE15
|
||||||
|
#diag0_pin: PG1
|
||||||
|
interpolate: False
|
||||||
|
sense_resistor: 0.075
|
||||||
|
run_current: 0.8
|
||||||
|
stealthchop_threshold: 0
|
||||||
|
|
||||||
|
# HV-STEPPER-1
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PF15
|
||||||
|
dir_pin: PF14
|
||||||
|
enable_pin: !PE9
|
||||||
|
microsteps: 32
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: PC2 # Y-ENDSTOP
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[tmc5160 stepper_y]
|
||||||
|
spi_bus: spi4
|
||||||
|
cs_pin: PE11
|
||||||
|
#diag0_pin: PE10
|
||||||
|
interpolate: False
|
||||||
|
sense_resistor: 0.075
|
||||||
|
run_current: 0.8
|
||||||
|
stealthchop_threshold: 0
|
||||||
|
|
||||||
|
# STEPPER-0
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PD4
|
||||||
|
dir_pin: PD3
|
||||||
|
enable_pin: !PD7
|
||||||
|
microsteps: 32
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: PC3 # Z-ENDSTOP
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
|
||||||
|
[tmc2209 stepper_z]
|
||||||
|
uart_pin: PD5
|
||||||
|
#diag_pin: PD6
|
||||||
|
interpolate: False
|
||||||
|
run_current: 0.6
|
||||||
|
stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
# The Leviathan was developed for Voron printers. It therefore has several
|
||||||
|
# steppers for the z-axes, but only one heater for one extruder.
|
||||||
|
|
||||||
|
# STEPPER-1
|
||||||
|
#[stepper_z1]
|
||||||
|
#step_pin: PC12
|
||||||
|
#dir_pin: PC11
|
||||||
|
#enable_pin: !PD2
|
||||||
|
#microsteps: 32
|
||||||
|
#rotation_distance: 8
|
||||||
|
#
|
||||||
|
#[tmc2209 stepper_z1]
|
||||||
|
#uart_pin: PD5
|
||||||
|
##diag_pin: PD6
|
||||||
|
#interpolate: False
|
||||||
|
#run_current: 0.6
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
# STEPPER-2
|
||||||
|
#[stepper_z2]
|
||||||
|
#step_pin: PC9
|
||||||
|
#dir_pin: PC8
|
||||||
|
#enable_pin: !PC10
|
||||||
|
#microsteps: 32
|
||||||
|
#rotation_distance: 8
|
||||||
|
#
|
||||||
|
#[tmc2209 stepper_z2]
|
||||||
|
#uart_pin: PA8
|
||||||
|
##diag_pin: PA15
|
||||||
|
#interpolate: False
|
||||||
|
#run_current: 0.6
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
# STEPPER-3
|
||||||
|
#[stepper_z3]
|
||||||
|
#step_pin: PG7
|
||||||
|
#dir_pin: PG6
|
||||||
|
#enable_pin: !PC7
|
||||||
|
#microsteps: 32
|
||||||
|
#rotation_distance: 8
|
||||||
|
#
|
||||||
|
#[tmc2209 stepper_z2]
|
||||||
|
#uart_pin: PG8
|
||||||
|
##diag_pin: PC6
|
||||||
|
#interpolate: False
|
||||||
|
#run_current: 0.6
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
# STEPPER-4
|
||||||
|
[extruder]
|
||||||
|
step_pin: PD10
|
||||||
|
dir_pin: PD9
|
||||||
|
enable_pin: !PD13
|
||||||
|
microsteps: 32
|
||||||
|
rotation_distance: 22.67
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PG10 # HEATER
|
||||||
|
sensor_pin: PA2 # TH1
|
||||||
|
sensor_type: ATC Semitec 104NT-4-R025H42G
|
||||||
|
pullup_resistor: 2200
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 36.787
|
||||||
|
pid_Ki: 4.716
|
||||||
|
pid_Kd: 71.735
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
[tmc2209 stepper_z]
|
||||||
|
uart_pin: PD11
|
||||||
|
#diag_pin: PD12
|
||||||
|
interpolate: False
|
||||||
|
run_current: 0.5
|
||||||
|
stealthchop_threshold: 0
|
||||||
|
|
||||||
|
#[filament_switch_sensor material_0]
|
||||||
|
#switch_pin: PC0 # FILAMENT-SENSOR
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PG11 # HEATBED
|
||||||
|
sensor_pin: PA1 # TH0
|
||||||
|
sensor_type: ATC Semitec 104GT-2
|
||||||
|
pullup_resistor: 2200
|
||||||
|
control: pid
|
||||||
|
pid_kp: 56.723
|
||||||
|
pid_ki: 5.561
|
||||||
|
pid_kd: 144.642
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PB7 # FAN0
|
||||||
|
#tachometer_pin: PB0
|
||||||
|
|
||||||
|
#[heater_fan fan1]
|
||||||
|
#pin: PB3
|
||||||
|
#tachometer_pin: PB4
|
||||||
|
|
||||||
|
#[heater_fan fan2]
|
||||||
|
#pin: PF7
|
||||||
|
#tachometer_pin: PF6
|
||||||
|
|
||||||
|
#[controller_fan fan3]
|
||||||
|
#pin: PF9
|
||||||
|
#tachometer_pin: PF8
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
|
||||||
|
# CAN bus is also available on this board
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 3000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
[board_pins]
|
||||||
|
aliases:
|
||||||
|
# EXP1 header
|
||||||
|
EXP1_1=PG9, EXP1_2=PG12,
|
||||||
|
EXP1_3=PG13, EXP1_4=PG14,
|
||||||
|
EXP1_5=PC13, EXP1_6=PC14,
|
||||||
|
EXP1_7=PC15, EXP1_8=PF0,
|
||||||
|
EXP1_9=<GND>, EXP1_10=<5V>,
|
||||||
|
|
||||||
|
# EXP2 header
|
||||||
|
EXP2_1=PA6, EXP2_2=PA5,
|
||||||
|
EXP2_3=PE2, EXP2_4=PE4,
|
||||||
|
EXP2_5=PE3, EXP2_6=PA7,
|
||||||
|
EXP2_7=PE5, EXP2_8=<RST>,
|
||||||
|
EXP2_9=<GND>, EXP2_10=PE4,
|
||||||
|
|
||||||
|
# See the sample-lcd.cfg file for definitions of common LCD displays.
|
||||||
|
|
||||||
|
# EXTENSION PORT
|
||||||
|
EXP3_1=<5V>, EXP3_2=<5V>, # max. 0.5A
|
||||||
|
EXP3_3=<GND>, EXP3_4=<GND>,
|
||||||
|
EXP3_5=<3.3V>, EXP3_6=<3.3V>, # max. 0.5A
|
||||||
|
EXP3_7=PF5, EXP3_8=PF4,
|
||||||
|
EXP3_9=PF3, EXP3_10=PF2,
|
||||||
|
EXP3_11=PC4, EXP3_12=PC5, # EXP3_11 and EXP3_12 are ADC inputs
|
||||||
|
EXP3_13=PB0, EXP3_14=PB1, # EXP3_13 and EXP3_14 are ADC inputs
|
||||||
|
EXP3_15=PE8, EXP3_16=PE7, # EXP3_15 is UART5_TX, EXP3_16 is UART5_RX
|
||||||
|
EXP3_17=PG5, EXP3_18=PG4,
|
||||||
|
EXP3_19=PG3, EXP3_20=PG2,
|
||||||
|
EXP3_21=PD15, EXP3_22=PD14,
|
||||||
|
EXP3_23=PB15, EXP3_24=PB14, # EXP3_23 is SPI2_MOSI
|
||||||
|
# EXP3_24 is SPI2_MISO
|
||||||
|
EXP3_25=PB13, EXP3_26=PB12, # EXP3_25 is SPI2_SCK + CAN2_TX
|
||||||
|
# EXP3_26 is SPI2_CS + CAN2_RX
|
||||||
|
EXP3_27=<GND>, EXP3_28=<GND>,
|
||||||
|
EXP3_29=<24V>, EXP3_30=<24V>, # max. 0.5A
|
||||||
|
|
||||||
|
#[probe]
|
||||||
|
#sensor_pin: PF1 # Z-PROBE
|
||||||
|
#z_offset: 0
|
||||||
|
|
||||||
|
#[led my_led]
|
||||||
|
#white_pin: PE6 # LED-Strip
|
||||||
|
|
||||||
|
#[neopixel my_neopixel]
|
||||||
|
#pin: PF10 # NEOPIXEL
|
||||||
|
|
||||||
|
#[temperature_sensor TH2]
|
||||||
|
#sensor_type: ATC Semitec 104GT-2
|
||||||
|
#sensor_pin: PA0 # TH2
|
||||||
|
#pullup_resistor: 2200
|
||||||
|
|
||||||
|
#[temperature_sensor TH3]
|
||||||
|
#sensor_type: ATC Semitec 104GT-2
|
||||||
|
#sensor_pin: PA3 # TH3
|
||||||
|
#pullup_resistor: 2200
|
||||||
268
config/generic-mks-monster8.cfg
Normal file
268
config/generic-mks-monster8.cfg
Normal file
@@ -0,0 +1,268 @@
|
|||||||
|
# This file contains common pin mappings for MKS Monster8
|
||||||
|
# boards. To use this config, the firmware should be compiled for the
|
||||||
|
# stm32f407. When running "make menuconfig", select the 48KiB
|
||||||
|
# bootloader, and enable "USB for communication".
|
||||||
|
|
||||||
|
# The "make flash" command does not work on the MKS Monster8. Instead,
|
||||||
|
# after running "make", copy the generated "out/klipper.bin" file to a
|
||||||
|
# file named "mks_monster8.bin" on an SD card or Udisk and then restart the
|
||||||
|
# MKS Monster8 with that SD card or Udisk.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PC14
|
||||||
|
dir_pin: PC13
|
||||||
|
enable_pin: !PC15
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: !PA14 # PA13 for X-max; endstop have'!' is NO
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PE5
|
||||||
|
dir_pin: !PE4
|
||||||
|
enable_pin: !PC15
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: !PA15 # PC5 for Y-max; endstop have'!' is NO
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PE1
|
||||||
|
dir_pin: PE0
|
||||||
|
enable_pin: !PE2
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: !PB13 # PB12 for Z-max; endstop have'!' is NO
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 220
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PB5
|
||||||
|
dir_pin: !PB4
|
||||||
|
enable_pin: !PB6
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 33.500
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PB1
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC1
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 22
|
||||||
|
pid_Ki: 1.08
|
||||||
|
pid_Kd: 114
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 260
|
||||||
|
|
||||||
|
#[extruder1]
|
||||||
|
#step_pin: PD6
|
||||||
|
#dir_pin: !PD5
|
||||||
|
#enable_pin: !PD7
|
||||||
|
#heater_pin: PB0
|
||||||
|
#sensor_pin: PC2
|
||||||
|
|
||||||
|
#[extruder2]
|
||||||
|
#step_pin: PD2
|
||||||
|
#dir_pin: !PD1
|
||||||
|
#enable_pin: !PD3
|
||||||
|
#heater_pin: PA3
|
||||||
|
#sensor_pin: PC3
|
||||||
|
|
||||||
|
#[extruder3]
|
||||||
|
#step_pin: PC7
|
||||||
|
#dir_pin: PC6
|
||||||
|
#enable_pin: !PC8
|
||||||
|
|
||||||
|
#[extruder4]
|
||||||
|
#step_pin: PD13
|
||||||
|
#dir_pin: !PD12
|
||||||
|
#enable_pin: !PD14
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PB10
|
||||||
|
sensor_type: NTC 100K MGB18-104F39050L32
|
||||||
|
sensor_pin: PC0
|
||||||
|
max_power: 1.0
|
||||||
|
control: pid
|
||||||
|
pid_kp: 71.039
|
||||||
|
pid_ki: 2.223
|
||||||
|
pid_kd: 567.421
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 200
|
||||||
|
|
||||||
|
#fan for printed model FAN0
|
||||||
|
[fan]
|
||||||
|
pin: PA2
|
||||||
|
|
||||||
|
#fan for hotend FAN1
|
||||||
|
#[heater_fan my_nozzle_fan]
|
||||||
|
[heater_fan fan1]
|
||||||
|
pin: PA1
|
||||||
|
shutdown_speed: 1
|
||||||
|
|
||||||
|
#fan for control board FAN2
|
||||||
|
#[heater_fan my_control_fan]
|
||||||
|
[heater_fan fan2]
|
||||||
|
pin: PA0
|
||||||
|
shutdown_speed: 1
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_4D0045001850314335393520-if00
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 10000
|
||||||
|
max_accel: 20000
|
||||||
|
max_z_velocity: 100
|
||||||
|
max_z_accel: 1000
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
# LED Control
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
#[output_pin caselight ](Use PA9)
|
||||||
|
## Chamber Lighting - In 5V-RGB Position
|
||||||
|
#pin: PA9
|
||||||
|
#pwm: true
|
||||||
|
#shutdown_value: 0
|
||||||
|
#value:100
|
||||||
|
#cycle_time: 0.01
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC UART configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2208 stepper_x]
|
||||||
|
#uart_pin: PE6
|
||||||
|
#run_current: 0.8
|
||||||
|
#hold_current: 0.5
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2208 stepper_y]
|
||||||
|
#uart_pin: PE3
|
||||||
|
#run_current: 0.8
|
||||||
|
#hold_current: 0.5
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2208 stepper_z]
|
||||||
|
#uart_pin: PB7
|
||||||
|
#run_current: 0.8
|
||||||
|
#hold_current: 0.5
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2208 extruder]
|
||||||
|
#uart_pin: PB3
|
||||||
|
#run_current: 0.8
|
||||||
|
#hold_current: 0.5
|
||||||
|
#sense_resistor: 0.110
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2208 extruder1]
|
||||||
|
#uart_pin: PD4
|
||||||
|
#run_current: 0.8
|
||||||
|
#hold_current: 0.5
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2208 extruder2]
|
||||||
|
#uart_pin: PD0
|
||||||
|
#run_current: 0.8
|
||||||
|
#hold_current: 0.5
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2208 extruder3]
|
||||||
|
#uart_pin: PD15
|
||||||
|
#run_current: 0.8
|
||||||
|
#hold_current: 0.5
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2208 extruder4]
|
||||||
|
#uart_pin: PD11
|
||||||
|
#run_current: 0.8
|
||||||
|
#hold_current: 0.5
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# TMC SPI configuration
|
||||||
|
########################################
|
||||||
|
|
||||||
|
#[tmc2130 stepper_x]
|
||||||
|
#spi_bus: spi4
|
||||||
|
#cs_pin: PE6
|
||||||
|
#diag1_pin: PA14
|
||||||
|
#run_current: 0.800
|
||||||
|
#hold_current: 0.500
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_y]
|
||||||
|
#spi_bus: spi4
|
||||||
|
#cs_pin: PE3
|
||||||
|
#diag1_pin: PA15
|
||||||
|
#run_current: 0.800
|
||||||
|
#hold_current: 0.500
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 stepper_z]
|
||||||
|
#spi_bus: spi4
|
||||||
|
#cs_pin: PB7
|
||||||
|
#diag1_pin: PB13
|
||||||
|
#run_current: 0.800
|
||||||
|
#hold_current: 0.500
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder]
|
||||||
|
#spi_bus: spi4
|
||||||
|
#cs_pin: PB3
|
||||||
|
#diag1_pin: PA13
|
||||||
|
#run_current: 0.800
|
||||||
|
#hold_current: 0.500
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder1]
|
||||||
|
#spi_bus: spi4
|
||||||
|
#cs_pin: PD4
|
||||||
|
#diag1_pin: PC5
|
||||||
|
#run_current: 0.800
|
||||||
|
#hold_current: 0.500
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder2]
|
||||||
|
#spi_bus: spi4
|
||||||
|
#cs_pin: PD0
|
||||||
|
#diag1_pin: PB12
|
||||||
|
#run_current: 0.800
|
||||||
|
#hold_current: 0.500
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder3]
|
||||||
|
#spi_bus: spi4
|
||||||
|
#cs_pin: PD15
|
||||||
|
#run_current: 0.800
|
||||||
|
#hold_current: 0.500
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
#[tmc2130 extruder4]
|
||||||
|
#spi_bus: spi4
|
||||||
|
#cs_pin: PD11
|
||||||
|
#run_current: 0.800
|
||||||
|
#hold_current: 0.500
|
||||||
|
#stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
########################################
|
||||||
|
# EXP1 / EXP2 (display) pins
|
||||||
|
########################################
|
||||||
|
|
||||||
|
[board_pins]
|
||||||
|
aliases:
|
||||||
|
# EXP1 header
|
||||||
|
EXP1_1=PB2, EXP1_3=PE11, EXP1_5=PD9, EXP1_7=PE15, EXP1_9=<GND>,
|
||||||
|
EXP1_2=PE10, EXP1_4=PD10, EXP1_6=PD8, EXP1_8=PE7, EXP1_10=<5V>,
|
||||||
|
# EXP2 header
|
||||||
|
EXP2_1=PA6, EXP2_3=PE9, EXP2_5=PE8, EXP2_7=PB11, EXP2_9=<GND>,
|
||||||
|
EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=<RST>, EXP2_10=<3.3v>
|
||||||
|
# Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus "ssp1"
|
||||||
117
config/generic-remram.cfg
Normal file
117
config/generic-remram.cfg
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
# This file contains common pin mappings for remram boards. To use this
|
||||||
|
# config, the firmware should be compiled for the ST stm32f765.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/ttyACM0
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 3000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PA15
|
||||||
|
dir_pin: PC10
|
||||||
|
enable_pin: !PC12
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^!PB12 # X_MIN
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 10
|
||||||
|
|
||||||
|
[tmc2130 stepper_x]
|
||||||
|
cs_pin: PB1
|
||||||
|
spi_bus: spi1
|
||||||
|
run_current: 0.600
|
||||||
|
stealthchop_threshold: 999999
|
||||||
|
diag1_pin: ^!PC11
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PB3
|
||||||
|
dir_pin: !PD6
|
||||||
|
enable_pin: !PD4
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^!PB14 # Y_MIN
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 10
|
||||||
|
|
||||||
|
[tmc2130 stepper_y]
|
||||||
|
cs_pin: PB0
|
||||||
|
spi_bus: spi1
|
||||||
|
run_current: 0.600
|
||||||
|
stealthchop_threshold: 999999
|
||||||
|
diag1_pin: ^!PD5
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PB10
|
||||||
|
dir_pin: PE13
|
||||||
|
enable_pin: !PE15
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: ^!PD8 # Z_MIN
|
||||||
|
position_endstop: 0.5
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 10
|
||||||
|
|
||||||
|
[tmc2130 stepper_z]
|
||||||
|
cs_pin: PC5
|
||||||
|
spi_bus: spi1
|
||||||
|
run_current: 0.600
|
||||||
|
stealthchop_threshold: 999999
|
||||||
|
diag1_pin: ^!PE14
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PB11
|
||||||
|
dir_pin: PE10
|
||||||
|
enable_pin: !PE11
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 33.500
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PA3 # HEATER
|
||||||
|
sensor_type: Generic 3950
|
||||||
|
sensor_pin: PC1 # TEMP2
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 22.2
|
||||||
|
pid_Ki: 1.08
|
||||||
|
pid_Kd: 114
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
[tmc2130 extruder]
|
||||||
|
cs_pin: PC4
|
||||||
|
spi_bus: spi1
|
||||||
|
run_current: 0.600
|
||||||
|
stealthchop_threshold: 999999
|
||||||
|
diag1_pin: ^!PE12
|
||||||
|
|
||||||
|
[heater_fan hotend_fan]
|
||||||
|
pin: PA2 # FAN2
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PA1 # BED OUT
|
||||||
|
sensor_type: Generic 3950
|
||||||
|
sensor_pin: PC0 # TEMP1
|
||||||
|
control: watermark
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[fan] # Print cooling fan.
|
||||||
|
pin: PA0 # FAN1
|
||||||
|
|
||||||
|
# [temperature_sensor temp3]
|
||||||
|
# sensor_type: Generic 3950
|
||||||
|
# sensor_pin: PC2 # TEMP3
|
||||||
|
# min_temp: 0
|
||||||
|
# max_temp: 300
|
||||||
|
# gcode_id: temp3
|
||||||
|
|
||||||
|
[static_digital_output yellow_led]
|
||||||
|
pins: !PD0 # STATUS LED
|
||||||
@@ -1,11 +1,14 @@
|
|||||||
# This file contains common pin mappings for the TH3D EZBoard Lite v2.
|
# This file contains common pin mappings for the TH3D EZBoard v2.
|
||||||
# To use this config, the firmware should be compiled for the
|
# To use this config, check "Enable extra low-level configuration options"
|
||||||
# STM32F405 with 12mhz Crystal, 48KiB Bootloader, and USB communication.
|
# and compile the firmware for the STM32F405 with 12mhz Crystal,
|
||||||
|
# 48KiB Bootloader, and USB communication.
|
||||||
|
|
||||||
|
# After the firmware is compiled, execute the following command
|
||||||
|
# arm-none-eabi-objcopy -O srec out/klipper.elf out/firmware.bin
|
||||||
|
|
||||||
# The "make flash" command does not work on this board. Instead,
|
# The "make flash" command does not work on this board. Instead,
|
||||||
# after running "make", copy the generated "out/klipper.bin" file to a
|
# after running "make", copy the generated "out/firmware.bin" file to
|
||||||
# file named "firmware.bin" on an SD card and then restart the board
|
# an SD card and then restart the board with that SD card.
|
||||||
# with that SD card.
|
|
||||||
|
|
||||||
# See docs/Config_Reference.md for a description of parameters.
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
92
config/printer-anet-a8-2019.cfg
Normal file
92
config/printer-anet-a8-2019.cfg
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
# This file contains common pin mappings for Anet A8 Plus printer from 2019.
|
||||||
|
# To use this config, the firmware should be compiled for
|
||||||
|
# the AVR atmega1284p.
|
||||||
|
|
||||||
|
# Note that the "make flash" command does not work with Anet boards -
|
||||||
|
# the boards are typically flashed with this command:
|
||||||
|
# avrdude -p atmega1284p -c arduino -b 57600 -P /dev/ttyUSB0 -U out/klipper.elf.hex
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PD7
|
||||||
|
dir_pin: !PC5
|
||||||
|
enable_pin: !PD6
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 32
|
||||||
|
endstop_pin: ^!PC2
|
||||||
|
position_endstop: -30
|
||||||
|
position_max: 300
|
||||||
|
position_min: -30
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PC6
|
||||||
|
dir_pin: !PC7
|
||||||
|
enable_pin: !PD6
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 32
|
||||||
|
endstop_pin: ^!PC3
|
||||||
|
position_endstop: -8
|
||||||
|
position_max: 300
|
||||||
|
position_min: -8
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PB3
|
||||||
|
dir_pin: !PB2
|
||||||
|
enable_pin: !PA5
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: ^!PC4
|
||||||
|
position_endstop: 0.5
|
||||||
|
position_max: 350
|
||||||
|
position_min: 0.5
|
||||||
|
homing_speed: 20
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PB1
|
||||||
|
dir_pin: PB0
|
||||||
|
enable_pin: !PD6
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 33.600
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PD5
|
||||||
|
sensor_type: Generic 3950
|
||||||
|
sensor_pin: PA7
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 2.151492
|
||||||
|
pid_Ki: 0.633897
|
||||||
|
pid_Kd: 230.042965
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PD4
|
||||||
|
sensor_type: Generic 3950
|
||||||
|
sensor_pin: PA6
|
||||||
|
control: watermark
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 100
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PB4
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/ttyUSB0
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 1000
|
||||||
|
max_z_velocity: 20
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
[display]
|
||||||
|
lcd_type: st7920
|
||||||
|
cs_pin: PA4
|
||||||
|
sclk_pin: PA1
|
||||||
|
sid_pin: PA3
|
||||||
|
encoder_pins: ^PD2, ^PD3
|
||||||
|
click_pin: ^!PC0
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
# For Anycubic 4Max Pro (not 2.0) owners:
|
# For Anycubic 4Max Pro (not 2.0) owners:
|
||||||
# Be careful when using this config! This config tested only on Anycubic
|
# Be careful when using this config! This config tested only on Anycubic
|
||||||
# 4Max Pro 2.0 with klipper v0.9.1-667-g31761500! At first, you should
|
# 4Max Pro 2.0! At first, you should
|
||||||
# set homing_speed on 5, and run homing and click on the endstops with
|
# set homing_speed on 5, and run homing and click on the endstops with
|
||||||
# your fingers. It is necessary to make sure that all the motors are
|
# your fingers. It is necessary to make sure that all the motors are
|
||||||
# spinning in the right direction, all the temperature sensors show the
|
# spinning in the right direction, all the temperature sensors show the
|
||||||
@@ -139,3 +139,50 @@ screw4: 265, 5
|
|||||||
|
|
||||||
[filament_switch_sensor filament_sensor]
|
[filament_switch_sensor filament_sensor]
|
||||||
switch_pin: ^!PC4
|
switch_pin: ^!PC4
|
||||||
|
|
||||||
|
[output_pin buzz]
|
||||||
|
pin: PC6
|
||||||
|
pwm: True
|
||||||
|
|
||||||
|
[output_pin AUTO_POWEROFF]
|
||||||
|
pin: PD0
|
||||||
|
pwm: True
|
||||||
|
cycle_time: 0.02
|
||||||
|
value: 1
|
||||||
|
|
||||||
|
|
||||||
|
# This macro (M300) uses internal integrated beeper
|
||||||
|
# Just use it in your G-code for making sounds. Example: M300 S1000 P500
|
||||||
|
[gcode_macro M300]
|
||||||
|
gcode:
|
||||||
|
{% set S = params.S|default(800)|float %}
|
||||||
|
{% set P = params.P|default(100)|int %}
|
||||||
|
SET_PIN PIN=buzz VALUE=0.5 CYCLE_TIME={ 1.0 / S | float }
|
||||||
|
G4 P{P}
|
||||||
|
SET_PIN PIN=buzz VALUE=0
|
||||||
|
|
||||||
|
# This macro (M81) uses internal integrated PSU control-relay.
|
||||||
|
# Just use M81 in your end_gcode if you want to poweroff your printer after print.
|
||||||
|
# Note: as in original Marlin firmware, before powerdown, printer will be cool hotend
|
||||||
|
# until temperature will be below 45°С / 113°F.
|
||||||
|
|
||||||
|
[gcode_macro M81]
|
||||||
|
gcode:
|
||||||
|
{% set required_extruder_temp = params.T|default(45)|int %}
|
||||||
|
{% if printer.extruder.temperature > required_extruder_temp|default(45)|int %}
|
||||||
|
M300
|
||||||
|
M300
|
||||||
|
M300
|
||||||
|
M117 COOLING DOWN BEFORE POWER OFF
|
||||||
|
M109 S{required_extruder_temp}
|
||||||
|
SET_PIN PIN=AUTO_POWEROFF VALUE=0.5
|
||||||
|
G4 P60
|
||||||
|
SET_PIN PIN=AUTO_POWEROFF VALUE=1
|
||||||
|
{% else %}
|
||||||
|
M300
|
||||||
|
M117 POWER OFF SOON
|
||||||
|
G4 P10000
|
||||||
|
SET_PIN PIN=AUTO_POWEROFF VALUE=0.5
|
||||||
|
G4 P60
|
||||||
|
SET_PIN PIN=AUTO_POWEROFF VALUE=1
|
||||||
|
{% endif %}
|
||||||
|
|||||||
133
config/printer-anycubic-kobra-go-2022.cfg
Normal file
133
config/printer-anycubic-kobra-go-2022.cfg
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
# This file contains a configuration for the Anycubic Kobra Go printer.
|
||||||
|
#
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
#
|
||||||
|
# To build the firmware, use the following configuration:
|
||||||
|
# - Micro-controller: Huada Semiconductor HC32F460
|
||||||
|
# - Communication interface: Serial (PA3 & PA2) - Anycubic
|
||||||
|
#
|
||||||
|
# Installation:
|
||||||
|
# 1. Rename the klipper bin to `firmware.bin` and copy it to an SD Card.
|
||||||
|
# 2. Power off the Printer, insert the SD Card and power it on.
|
||||||
|
# 3. The the LCD will be stuck on the Firmware-update screen.
|
||||||
|
# Just Wait for 3-5 minutes to ensure the firmware is flashed.
|
||||||
|
# 4. After waiting, shutdown the printer and remove the SD Card.
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PA12
|
||||||
|
dir_pin: PA11
|
||||||
|
enable_pin: !PA15
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: !PH2
|
||||||
|
position_endstop: -13
|
||||||
|
position_min:-13
|
||||||
|
position_max: 236
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PA9
|
||||||
|
dir_pin: PA8
|
||||||
|
enable_pin: !PA15
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^!PC13
|
||||||
|
position_endstop: -9
|
||||||
|
position_min:-9
|
||||||
|
position_max: 230
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PC7
|
||||||
|
dir_pin: !PC6
|
||||||
|
enable_pin: !PA15
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: ^PC14
|
||||||
|
position_endstop: 0
|
||||||
|
position_min: -10
|
||||||
|
position_max: 255
|
||||||
|
homing_speed: 5
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PB15
|
||||||
|
dir_pin: PB14
|
||||||
|
enable_pin: !PA15
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 31.07
|
||||||
|
max_extrude_only_velocity: 25
|
||||||
|
max_extrude_only_accel: 1000
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PB8
|
||||||
|
sensor_type: ATC Semitec 104GT-2
|
||||||
|
sensor_pin: PC3
|
||||||
|
min_extrude_temp: 170
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
control: pid
|
||||||
|
pid_kp: 19.56
|
||||||
|
pid_ki: 1.62
|
||||||
|
pid_kd: 200.00
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PB9
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC1
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 120
|
||||||
|
control: pid
|
||||||
|
pid_kp: 97.1
|
||||||
|
pid_ki: 1.41
|
||||||
|
pid_kd: 1675.16
|
||||||
|
|
||||||
|
[bed_mesh]
|
||||||
|
speed: 200
|
||||||
|
horizontal_move_z: 2.5
|
||||||
|
mesh_min: 5, 5
|
||||||
|
mesh_max: 215, 215
|
||||||
|
probe_count: 5, 5
|
||||||
|
|
||||||
|
[probe]
|
||||||
|
pin: PA1
|
||||||
|
x_offset: -20.8
|
||||||
|
y_offset: 0
|
||||||
|
z_offset: 0
|
||||||
|
samples: 3
|
||||||
|
samples_result: average
|
||||||
|
samples_tolerance_retries: 3
|
||||||
|
sample_retract_dist: 0.5
|
||||||
|
speed: 2
|
||||||
|
lift_speed: 4
|
||||||
|
|
||||||
|
[safe_z_home]
|
||||||
|
home_xy_position: 0, 0
|
||||||
|
speed: 5
|
||||||
|
z_hop: 10
|
||||||
|
z_hop_speed: 15
|
||||||
|
|
||||||
|
[controller_fan controller_fan]
|
||||||
|
pin: PB12
|
||||||
|
|
||||||
|
[heater_fan extruder_fan]
|
||||||
|
pin: PB13
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PB5
|
||||||
|
cycle_time: 0.00005 #20kHz
|
||||||
|
|
||||||
|
[output_pin enable_pin]
|
||||||
|
pin: PB6
|
||||||
|
static_value: 1
|
||||||
|
#This pin enables the bed, hotend, extruder fan, part fan.
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
|
||||||
|
restart_method: command
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 500
|
||||||
|
max_z_velocity: 4
|
||||||
|
max_z_accel: 100
|
||||||
197
config/printer-anycubic-kobra-plus-2022.cfg
Normal file
197
config/printer-anycubic-kobra-plus-2022.cfg
Normal file
@@ -0,0 +1,197 @@
|
|||||||
|
# This file contains a configuration for the Anycubic Kobra Plus printer.
|
||||||
|
#
|
||||||
|
# The Kobra Plus mainboard must be modified to correct conflicting UART
|
||||||
|
# addresses. As delivered, the X stepper and E0 stepper use UART address 0.
|
||||||
|
# To correct, move resistor R65 to R66. This moves the X stepper to address 3.
|
||||||
|
#
|
||||||
|
# After making this modification, any future firmwares will need to use the new
|
||||||
|
# address for the X stepper. To revert to the stock firmware, either undo the
|
||||||
|
# modification, or recompile the stock firmware using the correct addresses for
|
||||||
|
# X_SLAVE_ADDRESS and E0_SLAVE_ADDRESS.
|
||||||
|
#
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
#
|
||||||
|
# To build the firmware, use the following configuration:
|
||||||
|
# - Micro-controller: Huada Semiconductor HC32F460
|
||||||
|
# - Communication interface: Serial (PA3 & PA2) - Anycube
|
||||||
|
#
|
||||||
|
# Installation:
|
||||||
|
# 1. Rename the klipper bin to `firmware.bin` and copy it to an SD Card.
|
||||||
|
# 2. Power off the Printer, insert the SD Card and power it on.
|
||||||
|
# 3. The printer should beep several times and the LCD will be stuck on the
|
||||||
|
# Splash screen.
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
|
||||||
|
restart_method: command
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 1800
|
||||||
|
max_z_velocity: 40
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PA5
|
||||||
|
dir_pin: PA4
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: !PA6
|
||||||
|
position_min: -4
|
||||||
|
position_endstop: -4
|
||||||
|
position_max: 304
|
||||||
|
homing_speed: 100
|
||||||
|
|
||||||
|
[tmc2209 stepper_x]
|
||||||
|
uart_pin: PA15
|
||||||
|
tx_pin: PA9
|
||||||
|
sense_resistor: 0.100
|
||||||
|
run_current: 0.9
|
||||||
|
uart_address: 3
|
||||||
|
stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PC4
|
||||||
|
dir_pin: PA7
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 32
|
||||||
|
endstop_pin: !PC5
|
||||||
|
position_min: -6
|
||||||
|
position_endstop: -6
|
||||||
|
position_max: 300
|
||||||
|
homing_speed: 100
|
||||||
|
|
||||||
|
[tmc2209 stepper_y]
|
||||||
|
uart_pin: PA15
|
||||||
|
tx_pin: PA9
|
||||||
|
sense_resistor: 0.100
|
||||||
|
run_current: 0.9
|
||||||
|
uart_address: 1
|
||||||
|
stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PC7
|
||||||
|
dir_pin: !PC6
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: PA8
|
||||||
|
position_endstop: 0
|
||||||
|
position_min: -15
|
||||||
|
position_max: 350
|
||||||
|
homing_speed: 10
|
||||||
|
|
||||||
|
[tmc2209 stepper_z]
|
||||||
|
uart_pin: PA15
|
||||||
|
tx_pin: PA9
|
||||||
|
sense_resistor: 0.100
|
||||||
|
run_current: 0.9
|
||||||
|
uart_address: 2
|
||||||
|
stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
[stepper_z1]
|
||||||
|
step_pin: PB1
|
||||||
|
dir_pin: !PB0
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
max_extrude_only_distance: 200
|
||||||
|
max_extrude_only_velocity: 60
|
||||||
|
max_extrude_only_accel: 3000
|
||||||
|
step_pin: PC14
|
||||||
|
dir_pin: !PC15
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 7.71
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PA1
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC1
|
||||||
|
min_extrude_temp: 170
|
||||||
|
control: pid
|
||||||
|
pid_kp: 22.20
|
||||||
|
pid_ki: 1.08
|
||||||
|
pid_kd: 119.0
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 275
|
||||||
|
|
||||||
|
[tmc2208 extruder]
|
||||||
|
uart_pin: PA15
|
||||||
|
tx_pin: PA9
|
||||||
|
sense_resistor: 0.100
|
||||||
|
run_current: 0.8
|
||||||
|
uart_address: 0
|
||||||
|
stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PA0
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC0
|
||||||
|
control: pid
|
||||||
|
pid_kp: 97.1
|
||||||
|
pid_ki: 1.41
|
||||||
|
pid_kd: 1675.16
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 120
|
||||||
|
|
||||||
|
[filament_switch_sensor runout]
|
||||||
|
pause_on_runout: True
|
||||||
|
switch_pin: !PC13
|
||||||
|
|
||||||
|
[heater_fan controller_fan]
|
||||||
|
pin: PA14
|
||||||
|
heater: heater_bed
|
||||||
|
heater_temp: 45.0
|
||||||
|
|
||||||
|
[heater_fan hotend_fan]
|
||||||
|
pin: PA13
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PB9
|
||||||
|
|
||||||
|
[probe]
|
||||||
|
pin: !PB6
|
||||||
|
speed: 2.0
|
||||||
|
lift_speed: 4.0
|
||||||
|
samples: 2
|
||||||
|
sample_retract_dist: 5
|
||||||
|
samples_tolerance_retries: 3
|
||||||
|
z_offset: 0.2
|
||||||
|
activate_gcode: probe_reset
|
||||||
|
|
||||||
|
[output_pin probe_reset_pin]
|
||||||
|
pin: PB7
|
||||||
|
value: 1
|
||||||
|
|
||||||
|
[safe_z_home]
|
||||||
|
home_xy_position: 0, 0
|
||||||
|
speed: 100
|
||||||
|
z_hop: 10
|
||||||
|
z_hop_speed: 15
|
||||||
|
move_to_previous: False
|
||||||
|
|
||||||
|
[bed_mesh]
|
||||||
|
speed: 100
|
||||||
|
mesh_min: 10, 10
|
||||||
|
mesh_max: 290, 290
|
||||||
|
algorithm: bicubic
|
||||||
|
probe_count: 5, 5
|
||||||
|
|
||||||
|
[gcode_macro probe_reset]
|
||||||
|
gcode:
|
||||||
|
SET_PIN PIN=probe_reset_pin VALUE=0
|
||||||
|
G4 P300
|
||||||
|
SET_PIN PIN=probe_reset_pin VALUE=1
|
||||||
|
G4 P100
|
||||||
|
|
||||||
|
[output_pin LED]
|
||||||
|
pin: PB8
|
||||||
|
|
||||||
|
[output_pin beeper]
|
||||||
|
pin: PB5
|
||||||
@@ -70,7 +70,7 @@ step_pin: PB4
|
|||||||
dir_pin: !PB3
|
dir_pin: !PB3
|
||||||
enable_pin: !PA15
|
enable_pin: !PA15
|
||||||
microsteps: 16
|
microsteps: 16
|
||||||
rotation_distance: 22.6789511 #has to be calibrated by everyone
|
rotation_distance: 22.76500 #has to be calibrated by everyone, official document: diameter = 7.25
|
||||||
gear_ratio: 50:17
|
gear_ratio: 50:17
|
||||||
full_steps_per_rotation: 200
|
full_steps_per_rotation: 200
|
||||||
nozzle_diameter: 0.400
|
nozzle_diameter: 0.400
|
||||||
@@ -102,19 +102,35 @@ max_temp: 110
|
|||||||
[fan]
|
[fan]
|
||||||
pin: PA0
|
pin: PA0
|
||||||
|
|
||||||
|
[controller_fan controller_fan]
|
||||||
|
pin: PA14
|
||||||
|
stepper: stepper_x,stepper_y,stepper_z,stepper_z1
|
||||||
|
|
||||||
[probe]
|
[probe]
|
||||||
pin: !PB12
|
pin: !PB12
|
||||||
z_offset: 0
|
z_offset: 0
|
||||||
activate_gcode:
|
activate_gcode:
|
||||||
probe_reset
|
probe_reset
|
||||||
|
|
||||||
|
[output_pin BEEPER_PIN]
|
||||||
|
pin: PB15
|
||||||
|
pwm: True
|
||||||
|
value: 0
|
||||||
|
shutdown_value: 0
|
||||||
|
cycle_time: 0.001
|
||||||
|
scale: 1
|
||||||
|
|
||||||
[output_pin probe_reset_pin]
|
[output_pin probe_reset_pin]
|
||||||
pin: PB13
|
pin: PB13
|
||||||
|
|
||||||
|
[output_pin LED]
|
||||||
|
pin: mcu:PA13
|
||||||
|
pwm: False
|
||||||
|
value: 0
|
||||||
|
|
||||||
[bed_mesh]
|
[bed_mesh]
|
||||||
mesh_min: 15,15
|
mesh_min: 15,15
|
||||||
mesh_max: 230, 230
|
mesh_max: 230, 230
|
||||||
probe_count: 6,6
|
|
||||||
|
|
||||||
[filament_switch_sensor runout]
|
[filament_switch_sensor runout]
|
||||||
pause_on_runout: True
|
pause_on_runout: True
|
||||||
|
|||||||
156
config/printer-artillery-sidewinder-x2-2022.cfg
Normal file
156
config/printer-artillery-sidewinder-x2-2022.cfg
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
# This file contains pin mappings for the Artillery Sidewinder X2 (2022)
|
||||||
|
# with a Artillery_Ruby-v1.2 board. To use this config, during "make menuconfig"
|
||||||
|
# select the STM32F401 with "No bootloader" and USB (on PA11/PA12)
|
||||||
|
# communication.
|
||||||
|
|
||||||
|
# To flash this firmware, set the physical bridge between +3.3V and Boot0 PIN
|
||||||
|
# on Artillery_Ruby mainboard. Then run the command:
|
||||||
|
# make flash FLASH_DEVICE=/dev/serial/by-id/usb-Klipper_stm32f401xc_*-if00
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: !PB14
|
||||||
|
dir_pin: PB13
|
||||||
|
enable_pin: !PB15
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: !PA2
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 300
|
||||||
|
homing_speed: 50
|
||||||
|
second_homing_speed: 10
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PB10
|
||||||
|
dir_pin: PB2
|
||||||
|
enable_pin: !PB12
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: !PA1
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 300
|
||||||
|
homing_speed: 50
|
||||||
|
second_homing_speed: 10
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PB0
|
||||||
|
dir_pin: !PC5
|
||||||
|
enable_pin: !PB1
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: probe:z_virtual_endstop
|
||||||
|
position_max: 410
|
||||||
|
homing_speed: 10
|
||||||
|
second_homing_speed: 2
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PA7
|
||||||
|
dir_pin: PA6
|
||||||
|
enable_pin: !PC4
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 20.925
|
||||||
|
gear_ratio: 66:22
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PC9
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC0
|
||||||
|
control: pid
|
||||||
|
pid_kp: 20.860
|
||||||
|
pid_ki: 1.131
|
||||||
|
pid_kd: 96.218
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PA8
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC1
|
||||||
|
control: pid
|
||||||
|
pid_kp: 42.365
|
||||||
|
pid_ki: 0.545
|
||||||
|
pid_kd: 822.940
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PC8
|
||||||
|
off_below: 0.1
|
||||||
|
|
||||||
|
[heater_fan extruder]
|
||||||
|
pin: PC7
|
||||||
|
off_below: 0.2
|
||||||
|
|
||||||
|
[controller_fan case]
|
||||||
|
pin: PC6
|
||||||
|
off_below: 0.3
|
||||||
|
idle_speed: 0.0
|
||||||
|
|
||||||
|
[temperature_sensor mainboard]
|
||||||
|
sensor_type: temperature_mcu
|
||||||
|
min_temp: 10
|
||||||
|
max_temp: 60
|
||||||
|
|
||||||
|
[bltouch]
|
||||||
|
sensor_pin: PC2
|
||||||
|
control_pin: PC3
|
||||||
|
x_offset:27.25
|
||||||
|
y_offset:-12.8
|
||||||
|
z_offset: 1.0
|
||||||
|
samples: 3
|
||||||
|
samples_tolerance: 0.050
|
||||||
|
samples_tolerance_retries: 3
|
||||||
|
|
||||||
|
[safe_z_home]
|
||||||
|
home_xy_position: 150,150
|
||||||
|
z_hop: 15
|
||||||
|
|
||||||
|
[bed_mesh]
|
||||||
|
speed: 100
|
||||||
|
mesh_min: 27.25, 12.8
|
||||||
|
mesh_max: 272.75, 287.2
|
||||||
|
algorithm: bicubic
|
||||||
|
probe_count: 5,5
|
||||||
|
mesh_pps: 3
|
||||||
|
fade_end: 10
|
||||||
|
|
||||||
|
[bed_screws]
|
||||||
|
screw1: 50,50
|
||||||
|
screw1_name: front left
|
||||||
|
screw2: 250,50
|
||||||
|
screw2_name: front right
|
||||||
|
screw3: 250,250
|
||||||
|
screw3_name: back right
|
||||||
|
screw4: 50,250
|
||||||
|
screw4_name: back left
|
||||||
|
speed: 100.0
|
||||||
|
|
||||||
|
[screws_tilt_adjust]
|
||||||
|
screw1: 23,63
|
||||||
|
screw1_name: front left
|
||||||
|
screw2: 223,63
|
||||||
|
screw2_name: front right
|
||||||
|
screw3: 223,263
|
||||||
|
screw3_name: back right
|
||||||
|
screw4: 23,263
|
||||||
|
screw4_name: back left
|
||||||
|
speed: 100.0
|
||||||
|
screw_thread: CW-M5
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/ttyACM0
|
||||||
|
|
||||||
|
[neopixel extruder]
|
||||||
|
pin: PB7
|
||||||
|
initial_RED: 1.0
|
||||||
|
initial_GREEN: 1.0
|
||||||
|
initial_BLUE: 1.0
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 250
|
||||||
|
max_accel: 1500
|
||||||
|
max_z_velocity: 50
|
||||||
|
max_z_accel: 400
|
||||||
|
square_corner_velocity: 5.0
|
||||||
107
config/printer-bq-hephestos-2014.cfg
Normal file
107
config/printer-bq-hephestos-2014.cfg
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
# This file contains pin mappings for the BQ Prusa i3 Hephestos from 2014
|
||||||
|
# (https://www.reprap.org/wiki/Prusa_i3_Hephestos)
|
||||||
|
# It was sold in kit form, and uses a RAMPS board with HD44780 display without
|
||||||
|
# heated bed or any modern amenities.
|
||||||
|
|
||||||
|
# To use this config, the firmware should be compiled for the AVR atmega2560.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[display]
|
||||||
|
lcd_type: hd44780
|
||||||
|
rs_pin: PH1
|
||||||
|
e_pin: PH0
|
||||||
|
d4_pin: PA1
|
||||||
|
d5_pin: PA3
|
||||||
|
d6_pin: PA5
|
||||||
|
d7_pin: PA7
|
||||||
|
encoder_pins: ^PC4, ^PC6
|
||||||
|
click_pin: ^!PC2
|
||||||
|
kill_pin: ^!PG0
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PF0
|
||||||
|
dir_pin: !PF1
|
||||||
|
enable_pin: !PD7
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^!PE5
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 215
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PF6
|
||||||
|
dir_pin: PF7
|
||||||
|
enable_pin: !PF2
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^!PJ1
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 210
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PL3
|
||||||
|
dir_pin: !PL1
|
||||||
|
enable_pin: !PK0
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 0.8
|
||||||
|
endstop_pin: ^!PD3
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 200
|
||||||
|
homing_speed: 3
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PA4
|
||||||
|
dir_pin: PA6
|
||||||
|
enable_pin: !PA2
|
||||||
|
microsteps: 16
|
||||||
|
# measured extruding 100mm of filament with stock Hephestos extruder
|
||||||
|
rotation_distance: 31.825
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PB4
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PK5
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
control: pid
|
||||||
|
pid_kp: 19.462
|
||||||
|
pid_ki: 0.713
|
||||||
|
pid_kd: 132.830
|
||||||
|
|
||||||
|
|
||||||
|
# 5 points for manual bed leveling that still leave room for accessing the stock screws
|
||||||
|
[bed_screws]
|
||||||
|
screw1: 40, 40
|
||||||
|
screw2: 180, 40
|
||||||
|
screw3: 180, 160
|
||||||
|
screw4: 40, 160
|
||||||
|
screw5: 110, 100
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PH6
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 3000
|
||||||
|
# Must limit Z velocity, since RAMPS does not have enough timer resolution
|
||||||
|
max_z_velocity: 3
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/ttyUSB0
|
||||||
|
|
||||||
|
# Common EXP1 / EXP2 (display) pins
|
||||||
|
[board_pins]
|
||||||
|
aliases:
|
||||||
|
# Common EXP1 header found on many "all-in-one" ramps clones
|
||||||
|
EXP1_1=PC0, EXP1_3=PH0, EXP1_5=PA1, EXP1_7=PA5, EXP1_9=<GND>,
|
||||||
|
EXP1_2=PC2, EXP1_4=PH1, EXP1_6=PA3, EXP1_8=PA7, EXP1_10=<5V>,
|
||||||
|
# EXP2 header
|
||||||
|
EXP2_1=PB3, EXP2_3=PC6, EXP2_5=PC4, EXP2_7=PL0, EXP2_9=<GND>,
|
||||||
|
EXP2_2=PB1, EXP2_4=PB0, EXP2_6=PB2, EXP2_8=PG0, EXP2_10=<RST>
|
||||||
|
# Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus "spi"
|
||||||
|
# Note, some boards wire: EXP2_8=<RST>, EXP2_10=PG0
|
||||||
@@ -6,7 +6,8 @@
|
|||||||
# communication. Enable PA0 GPIO pin on startup.
|
# communication. Enable PA0 GPIO pin on startup.
|
||||||
#
|
#
|
||||||
# Flash this firmware on the MCU by copying "out/klipper.bin" to an SD
|
# Flash this firmware on the MCU by copying "out/klipper.bin" to an SD
|
||||||
# card and turning the printer on with the card inserted. The firmware
|
# card and turning the printer on by pressing and holding the power
|
||||||
|
# button with the card inserted for 10-20 seconds. The firmware
|
||||||
# filename must end in ".bin" and must not match the last filename
|
# filename must end in ".bin" and must not match the last filename
|
||||||
# that was flashed.
|
# that was flashed.
|
||||||
#
|
#
|
||||||
|
|||||||
154
config/printer-creality-cr10s-pro-v2-2020.cfg
Normal file
154
config/printer-creality-cr10s-pro-v2-2020.cfg
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
# This file contains pin mappings for the Creality CR-10S Pro V2. To use
|
||||||
|
# this config, the firmware should be compiled for the AVR atmega2560.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
## General Config
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/<YOUR_USB_ID>
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 200
|
||||||
|
max_accel: 1500
|
||||||
|
max_z_velocity: 10
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
## Stepper Motors and Extruder
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PF0 #ar54
|
||||||
|
dir_pin: PF1 #ar55
|
||||||
|
enable_pin: !PD7 #!ar38
|
||||||
|
rotation_distance: 40
|
||||||
|
microsteps: 16
|
||||||
|
full_steps_per_rotation: 200
|
||||||
|
endstop_pin: ^PE5 #^ar3
|
||||||
|
position_endstop: 0
|
||||||
|
position_min: 0
|
||||||
|
position_max: 300
|
||||||
|
homing_speed: 50
|
||||||
|
homing_retract_dist: 5
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PF6 #ar60
|
||||||
|
dir_pin: !PF7 #ar61
|
||||||
|
enable_pin: !PF2 #!ar56
|
||||||
|
rotation_distance: 40
|
||||||
|
microsteps: 16
|
||||||
|
full_steps_per_rotation: 200
|
||||||
|
endstop_pin: ^PJ1 #^ar14
|
||||||
|
position_endstop: 0
|
||||||
|
position_min: 0
|
||||||
|
position_max: 310
|
||||||
|
homing_speed: 50
|
||||||
|
homing_retract_dist: 5
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PL3 #ar46
|
||||||
|
dir_pin: !PL1 #!ar48
|
||||||
|
enable_pin: !PK0 #!ar62
|
||||||
|
rotation_distance: 8
|
||||||
|
microsteps: 16
|
||||||
|
full_steps_per_rotation: 200
|
||||||
|
endstop_pin: probe:z_virtual_endstop
|
||||||
|
position_min: -3
|
||||||
|
position_max: 363 # you can go higher but then the cables crimp
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PA4 # ar26
|
||||||
|
dir_pin: PA6 # !ar28
|
||||||
|
enable_pin: !PA2 # !ar24
|
||||||
|
rotation_distance: 22.900
|
||||||
|
microsteps: 16
|
||||||
|
full_steps_per_rotation: 200
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
max_extrude_only_distance: 500.0
|
||||||
|
max_extrude_only_velocity: 70.0
|
||||||
|
max_extrude_only_accel: 1000.0
|
||||||
|
heater_pin: PB4 #ar10
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PK5 #analog13
|
||||||
|
control: pid #calibrated in Klipper, you will need to run this for your machine
|
||||||
|
pid_kp: 28.359
|
||||||
|
pid_ki: 1.616
|
||||||
|
pid_kd: 124.426
|
||||||
|
min_extrude_temp: 170
|
||||||
|
min_temp: 5
|
||||||
|
max_temp: 275
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PH6 #ar9
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PH5 #ar8
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PK6 #analog14
|
||||||
|
control: pid #calibrated in Klipper, you will need to run this for your machine
|
||||||
|
pid_kp: 70.936
|
||||||
|
pid_ki: 1.151
|
||||||
|
pid_kd: 1093.298
|
||||||
|
min_temp: 5
|
||||||
|
max_temp: 140
|
||||||
|
|
||||||
|
## BLTouch and Safe Z Settings
|
||||||
|
[bltouch]
|
||||||
|
sensor_pin: ^PD2
|
||||||
|
control_pin: PB5
|
||||||
|
stow_on_each_sample: False # Be careful
|
||||||
|
probe_with_touch_mode: True
|
||||||
|
x_offset: -27
|
||||||
|
y_offset: -2
|
||||||
|
z_offset: 2 # you will need to calibrate this in Klipper
|
||||||
|
speed: 4.0
|
||||||
|
samples: 2
|
||||||
|
sample_retract_dist: 3.0
|
||||||
|
|
||||||
|
[safe_z_home]
|
||||||
|
home_xy_position: 177,155
|
||||||
|
speed: 80.0
|
||||||
|
z_hop: 10.0
|
||||||
|
z_hop_speed: 5.0
|
||||||
|
|
||||||
|
[bed_mesh]
|
||||||
|
speed: 120
|
||||||
|
horizontal_move_z: 5
|
||||||
|
mesh_min: 5, 5
|
||||||
|
mesh_max: 268, 305
|
||||||
|
probe_count: 5,5
|
||||||
|
fade_start: 1
|
||||||
|
fade_end: 10
|
||||||
|
|
||||||
|
[filament_switch_sensor e0_sensor]
|
||||||
|
switch_pin: PE4 #ar2
|
||||||
|
pause_on_runout: False
|
||||||
|
runout_gcode:
|
||||||
|
PAUSE_PARK
|
||||||
|
|
||||||
|
## Calibrating the Bed
|
||||||
|
# this is for the bltouch to calibrate the bed
|
||||||
|
[screws_tilt_adjust]
|
||||||
|
screw1: 40,40
|
||||||
|
screw1_name: front left screw
|
||||||
|
screw2: 295,40
|
||||||
|
screw2_name: front right screw
|
||||||
|
screw3: 295,280
|
||||||
|
screw3_name: rear right screw
|
||||||
|
screw4: 40,280
|
||||||
|
screw4_name: rear left screw
|
||||||
|
speed: 50
|
||||||
|
horizontal_move_z: 10
|
||||||
|
screw_thread: CW-M3
|
||||||
|
|
||||||
|
[bed_screws]
|
||||||
|
screw1: 13,38
|
||||||
|
screw1_name: front left screw
|
||||||
|
screw2: 268,38
|
||||||
|
screw2_name: front right screw
|
||||||
|
screw3: 268,278
|
||||||
|
screw3_name: rear right screw
|
||||||
|
screw4: 13,38
|
||||||
|
screw4_name: rear left screw
|
||||||
|
horizontal_move_z: 5
|
||||||
|
|
||||||
|
[pause_resume]
|
||||||
152
config/printer-creality-cr5pro-ht-2022.cfg
Normal file
152
config/printer-creality-cr5pro-ht-2022.cfg
Normal file
@@ -0,0 +1,152 @@
|
|||||||
|
# This file contains common pin mappings for the Creality CR5 Pro HT.
|
||||||
|
# The mainboard is a Creality 3D v2.5.1 (8-bit mainboard with
|
||||||
|
# ATMega2560). To use this config, the firmware should be compiled for
|
||||||
|
# the AVR atmega2560.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PF0 #ar54
|
||||||
|
dir_pin: !PF1 #ar55
|
||||||
|
enable_pin: !PD7 #!ar38
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40 # 16 microsteps * 200 steps/rotation / 80 steps/mm
|
||||||
|
endstop_pin: ^!PE5 #^ar3
|
||||||
|
position_min: 0
|
||||||
|
position_max: 300
|
||||||
|
position_endstop: 0
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PF6 #ar60
|
||||||
|
dir_pin: !PF7 #ar61
|
||||||
|
enable_pin: !PF2 #!ar56
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40 # 16 microsteps * 200 steps/rotation / 80 steps/mm
|
||||||
|
endstop_pin: ^!PJ1 #^ar14
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 220
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PL3 #ar46
|
||||||
|
dir_pin: !PL1 #!ar48
|
||||||
|
enable_pin: !PK0 #!ar62
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 4 # 16 microsteps * 200 steps/rotation / 800 steps/mm
|
||||||
|
position_max: 380
|
||||||
|
position_min: -10
|
||||||
|
endstop_pin: probe:z_virtual_endstop
|
||||||
|
|
||||||
|
[safe_z_home]
|
||||||
|
home_xy_position: 140, 110
|
||||||
|
speed: 80
|
||||||
|
z_hop: 10
|
||||||
|
z_hop_speed: 10
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PA4 # ar26
|
||||||
|
dir_pin: !PA6 # !ar28
|
||||||
|
enable_pin: !PA2 # !ar24
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 23.24736 # 16 microsteps * 200 steps/rotation / 137.65 steps/mm
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PB4 #ar10
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PK5 #analog13
|
||||||
|
control: pid
|
||||||
|
pid_kp: 17.647
|
||||||
|
pid_ki: 1.079
|
||||||
|
pid_kd: 72.131
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 300
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PH5 #ar8
|
||||||
|
sensor_type: ATC Semitec 104GT-2
|
||||||
|
sensor_pin: PK6 #analog14
|
||||||
|
control: pid
|
||||||
|
pid_kp: 75.501
|
||||||
|
pid_ki: 2.542
|
||||||
|
pid_kd: 560.598
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PH6 #ar9
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/ttyUSB0
|
||||||
|
restart_method: command
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 2000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
#[display]
|
||||||
|
# DWIN screen currently unsupported
|
||||||
|
|
||||||
|
[bltouch]
|
||||||
|
sensor_pin: ^PD2 #^ar19
|
||||||
|
control_pin: PB5 #ar11
|
||||||
|
set_output_mode: 5V
|
||||||
|
pin_move_time: 0.4
|
||||||
|
x_offset: 37.0
|
||||||
|
y_offset: 0.0
|
||||||
|
z_offset: 2.40
|
||||||
|
samples: 2
|
||||||
|
sample_retract_dist: 2
|
||||||
|
samples_result: average
|
||||||
|
|
||||||
|
[bed_mesh]
|
||||||
|
speed: 50
|
||||||
|
horizontal_move_z: 6
|
||||||
|
mesh_min: 47,10
|
||||||
|
mesh_max: 270,210
|
||||||
|
probe_count: 7,7
|
||||||
|
algorithm: bicubic
|
||||||
|
|
||||||
|
[pause_resume]
|
||||||
|
recover_velocity: 50
|
||||||
|
|
||||||
|
[filament_switch_sensor fil_runout_sensor]
|
||||||
|
pause_on_runout: True
|
||||||
|
switch_pin: !PE4 #ar2
|
||||||
|
|
||||||
|
[bed_screws]
|
||||||
|
screw1: 8,5
|
||||||
|
screw1_name: front left screw
|
||||||
|
screw2: 8,210
|
||||||
|
screw2_name: rear left screw
|
||||||
|
screw3: 218,210
|
||||||
|
screw3_name: rear right screw
|
||||||
|
screw4: 218,5
|
||||||
|
screw4_name: front right screw
|
||||||
|
|
||||||
|
[screws_tilt_adjust]
|
||||||
|
screw1: 8,5
|
||||||
|
screw1_name: front left screw
|
||||||
|
screw2: 8,210
|
||||||
|
screw2_name: rear left screw
|
||||||
|
screw3: 218,210
|
||||||
|
screw3_name: rear right screw
|
||||||
|
screw4: 218,5
|
||||||
|
screw4_name: front right screw
|
||||||
|
speed: 50
|
||||||
|
horizontal_move_z: 10
|
||||||
|
screw_thread: CW-M4
|
||||||
|
|
||||||
|
[output_pin case_light]
|
||||||
|
pin: PH4 #ar7
|
||||||
|
value: 1
|
||||||
|
|
||||||
|
[gcode_macro CASE_LIGHT_ON]
|
||||||
|
gcode:
|
||||||
|
SET_PIN PIN=case_light VALUE=1
|
||||||
|
|
||||||
|
[gcode_macro CASE_LIGHT_OFF]
|
||||||
|
gcode:
|
||||||
|
SET_PIN PIN=case_light VALUE=0
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
# If you prefer a direct serial connection, in "make menuconfig"
|
# If you prefer a direct serial connection, in "make menuconfig"
|
||||||
# select "Enable extra low-level configuration options" and select
|
# select "Enable extra low-level configuration options" and select
|
||||||
# serial (on USART3 PB11/PB10), which is broken out on the 10 pin IDC
|
# serial (on USART2 PA3/PA2), which is broken out on the 10 pin IDC
|
||||||
# cable used for the LCD module as follows:
|
# cable used for the LCD module as follows:
|
||||||
# 3: Tx, 4: Rx, 9: GND, 10: VCC
|
# 3: Tx, 4: Rx, 9: GND, 10: VCC
|
||||||
|
|
||||||
|
|||||||
95
config/printer-creality-ender2pro-hc32-2022.cfg
Normal file
95
config/printer-creality-ender2pro-hc32-2022.cfg
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
# This file contains pin mappings for the Creality Ender2 Pro
|
||||||
|
# with the HC32F460. The board is CR-FDM-v2.5.S4.170
|
||||||
|
# To use this config, during "make menuconfig" select HC32F460
|
||||||
|
|
||||||
|
# Flash this firmware by copying "out/klipper.bin" to a SD card
|
||||||
|
# as /user/firmware.bin
|
||||||
|
# Turn on the printer with the card inserted.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PC1
|
||||||
|
dir_pin: PC0
|
||||||
|
enable_pin: !PC2
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PA5
|
||||||
|
position_min: -20
|
||||||
|
position_endstop: -20
|
||||||
|
position_max: 165
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PB9
|
||||||
|
dir_pin: PB8
|
||||||
|
enable_pin: !PH2
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PA6
|
||||||
|
position_min: -5
|
||||||
|
position_endstop: -5
|
||||||
|
position_max: 165
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PB6
|
||||||
|
dir_pin: !PB5
|
||||||
|
enable_pin: !PB7
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: ^PB0
|
||||||
|
position_endstop: 0.0
|
||||||
|
position_max: 180
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
max_extrude_only_distance: 100.0
|
||||||
|
step_pin: PB3
|
||||||
|
dir_pin: PA15
|
||||||
|
enable_pin: !PB4
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 27.53480577
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PA1
|
||||||
|
sensor_pin: PC5
|
||||||
|
sensor_type: Generic 3950
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 29.634
|
||||||
|
pid_Ki: 2.102
|
||||||
|
pid_Kd: 104.459
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 260
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PB10
|
||||||
|
sensor_type: Generic 3950
|
||||||
|
sensor_pin: PC4
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 72.921
|
||||||
|
pid_Ki: 1.594
|
||||||
|
pid_Kd: 834.031
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 80
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PA0
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
|
||||||
|
restart_method: command
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 3000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
[display]
|
||||||
|
lcd_type: st7920
|
||||||
|
cs_pin: PB15
|
||||||
|
sclk_pin: PB14
|
||||||
|
sid_pin: PB12
|
||||||
|
encoder_pins: ^PB13,^PA2
|
||||||
|
click_pin: ^!PC7
|
||||||
@@ -1,20 +1,20 @@
|
|||||||
# This file contains pin mappings for the stock 2021 Creality Ender 3
|
# This file contains pin mappings for the stock 2021 Creality Ender 3
|
||||||
# S1 (and S1 pro). To use this config, check the STM32 Chip on the
|
# S1 & S1 Pro. To use this config, check the STM32 Chip on the
|
||||||
# V2.4S1 Board then during "make menuconfig" select either the
|
# Mainboard, during "make menuconfig" select accordingly either the
|
||||||
# STM32F103 with a "28KiB bootloader" or select the STM32F401 with a
|
# STM32F103 with "28KiB bootloader" or the STM32F401 with
|
||||||
# "64KiB bootloader" and serial (on USART1 PA10/PA9) communication for
|
# "64KiB bootloader" and serial (on USART1 PA10/PA9) for both.
|
||||||
# both depending on the STM32 chip installed on your printer's
|
|
||||||
# motherboard.
|
|
||||||
|
|
||||||
# If you prefer a direct serial connection, in "make menuconfig"
|
# For a direct serial connection, in "make menuconfig" select
|
||||||
# select "Enable extra low-level configuration options" and select
|
# "Enable extra low-level configuration options" and Serial
|
||||||
# Serial (on USART2 PA3/PA2), which is broken out on the 10 pin IDC
|
# (on USART2 PA3/PA2), which is on the 10 pin IDC cable used
|
||||||
# cable used for the LCD module as follows:
|
# for the LCD module as follows: 3: Tx, 4: Rx, 9: GND, 10: VCC
|
||||||
# 3: Tx, 4: Rx, 9: GND, 10: VCC
|
|
||||||
|
|
||||||
# Flash this firmware by copying "out/klipper.bin" to a SD card and
|
# Flash this firmware by copying "out/klipper.bin" to a SD card and
|
||||||
# turning on the printer with the card inserted. The firmware
|
# turning on the printer with the card inserted. The filename
|
||||||
# filename must changed to "firmware.bin"
|
# must be changed to "firmware.bin"
|
||||||
|
|
||||||
|
# With STM32F401, you might need to put "firmware.bin" in a
|
||||||
|
# folder on the SD card called "STM32F4_UPDATE" in order to flash.
|
||||||
|
|
||||||
# See docs/Config_Reference.md for a description of parameters.
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
@@ -37,9 +37,9 @@ enable_pin: !PC3
|
|||||||
microsteps: 16
|
microsteps: 16
|
||||||
rotation_distance: 40
|
rotation_distance: 40
|
||||||
endstop_pin: !PA6
|
endstop_pin: !PA6
|
||||||
position_endstop: -10
|
position_endstop: -8
|
||||||
position_max: 241
|
position_max: 238
|
||||||
position_min: -15
|
position_min: -13
|
||||||
homing_speed: 50
|
homing_speed: 50
|
||||||
|
|
||||||
[stepper_z]
|
[stepper_z]
|
||||||
@@ -69,7 +69,7 @@ pid_Kp: 23.561
|
|||||||
pid_Ki: 1.208
|
pid_Ki: 1.208
|
||||||
pid_Kd: 114.859
|
pid_Kd: 114.859
|
||||||
min_temp: 0
|
min_temp: 0
|
||||||
max_temp: 250
|
max_temp: 260 # Set to 300 for S1 Pro
|
||||||
|
|
||||||
[heater_bed]
|
[heater_bed]
|
||||||
heater_pin: PA7
|
heater_pin: PA7
|
||||||
@@ -80,7 +80,7 @@ pid_Kp: 71.867
|
|||||||
pid_Ki: 1.536
|
pid_Ki: 1.536
|
||||||
pid_Kd: 840.843
|
pid_Kd: 840.843
|
||||||
min_temp: 0
|
min_temp: 0
|
||||||
max_temp: 110
|
max_temp: 100 # Set to 110 for S1 Pro
|
||||||
|
|
||||||
[heater_fan hotend_fan]
|
[heater_fan hotend_fan]
|
||||||
pin: PC0
|
pin: PC0
|
||||||
@@ -110,17 +110,16 @@ stow_on_each_sample: false
|
|||||||
|
|
||||||
[bed_mesh]
|
[bed_mesh]
|
||||||
speed: 120
|
speed: 120
|
||||||
mesh_min: 20, 20
|
mesh_min: 10, 10
|
||||||
mesh_max: 200, 200
|
mesh_max: 200, 194
|
||||||
probe_count: 4,4
|
probe_count: 4,4
|
||||||
algorithm: bicubic
|
algorithm: bicubic
|
||||||
|
|
||||||
[safe_z_home]
|
[safe_z_home]
|
||||||
home_xy_position: 147, 154
|
home_xy_position: 147, 154
|
||||||
speed: 75
|
speed: 75
|
||||||
z_hop: 5
|
z_hop: 10
|
||||||
z_hop_speed: 5
|
z_hop_speed: 5
|
||||||
move_to_previous: true
|
|
||||||
|
|
||||||
[filament_switch_sensor e0_sensor]
|
[filament_switch_sensor e0_sensor]
|
||||||
switch_pin: !PC15
|
switch_pin: !PC15
|
||||||
@@ -129,3 +128,9 @@ runout_gcode: PAUSE
|
|||||||
|
|
||||||
[pause_resume]
|
[pause_resume]
|
||||||
recover_velocity: 25
|
recover_velocity: 25
|
||||||
|
|
||||||
|
[bed_screws]
|
||||||
|
screw1: 20, 29
|
||||||
|
screw2: 195, 29
|
||||||
|
screw3: 195, 198
|
||||||
|
screw4: 20, 198
|
||||||
|
|||||||
130
config/printer-creality-ender3-s1plus-2022.cfg
Normal file
130
config/printer-creality-ender3-s1plus-2022.cfg
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
# This file contains pin mappings for the stock 2022 Creality Ender 3
|
||||||
|
# S1 Plus. To use this config check the STM32 Chip on the Mainboard,
|
||||||
|
# during "make menuconfig" select accordingly either the
|
||||||
|
# STM32F103 with "28KiB bootloader" or the STM32F401 with
|
||||||
|
# "64KiB bootloader" and serial (on USART1 PA10/PA9) for both.
|
||||||
|
|
||||||
|
# For a direct serial connection, in "make menuconfig" select
|
||||||
|
# "Enable extra low-level configuration options" and Serial
|
||||||
|
# (on USART2 PA3/PA2), which is on the 10 pin IDC cable used
|
||||||
|
# for the LCD module as follows: 3: Tx, 4: Rx, 9: GND, 10: VCC
|
||||||
|
|
||||||
|
# Flash this firmware by copying "out/klipper.bin" to a SD card and
|
||||||
|
# turning on the printer with the card inserted. The filename
|
||||||
|
# must be changed to "firmware.bin"
|
||||||
|
|
||||||
|
# With STM32F401, you might need to put "firmware.bin" in a
|
||||||
|
# folder on the SD card called "STM32F4_UPDATE" in order to flash.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PC2
|
||||||
|
dir_pin: PB9
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: !PA5
|
||||||
|
position_endstop: -10
|
||||||
|
position_max: 316
|
||||||
|
position_min: -15
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PB8
|
||||||
|
dir_pin: PB7
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: !PA6
|
||||||
|
position_endstop: -10
|
||||||
|
position_max: 304
|
||||||
|
position_min: -15
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PB6
|
||||||
|
dir_pin: !PB5
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: probe:z_virtual_endstop
|
||||||
|
position_max: 300
|
||||||
|
position_min: -4
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PB4
|
||||||
|
dir_pin: PB3
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
gear_ratio: 42:12
|
||||||
|
rotation_distance: 26.359
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PA1
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC5
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 23.561
|
||||||
|
pid_Ki: 1.208
|
||||||
|
pid_Kd: 114.859
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 260
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PA7
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC4
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 71.867
|
||||||
|
pid_Ki: 1.536
|
||||||
|
pid_Kd: 840.843
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 100
|
||||||
|
|
||||||
|
[heater_fan hotend_fan]
|
||||||
|
pin: PC0
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PA0
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
|
||||||
|
restart_method: command
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 2000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
[bltouch]
|
||||||
|
sensor_pin: ^PC14
|
||||||
|
control_pin: PC13
|
||||||
|
x_offset: -31.8
|
||||||
|
y_offset: -40.5
|
||||||
|
z_offset: 0
|
||||||
|
probe_with_touch_mode: true
|
||||||
|
stow_on_each_sample: false
|
||||||
|
|
||||||
|
[bed_mesh]
|
||||||
|
speed: 120
|
||||||
|
mesh_min: 20, 20
|
||||||
|
mesh_max: 283, 263
|
||||||
|
probe_count: 4,4
|
||||||
|
algorithm: bicubic
|
||||||
|
|
||||||
|
[safe_z_home]
|
||||||
|
home_xy_position: 187, 192
|
||||||
|
speed: 75
|
||||||
|
z_hop: 10
|
||||||
|
z_hop_speed: 5
|
||||||
|
|
||||||
|
[filament_switch_sensor e0_sensor]
|
||||||
|
switch_pin: !PC15
|
||||||
|
pause_on_runout: true
|
||||||
|
runout_gcode: PAUSE
|
||||||
|
|
||||||
|
[pause_resume]
|
||||||
|
recover_velocity: 25
|
||||||
155
config/printer-creality-ender3-v2-neo-2022.cfg
Normal file
155
config/printer-creality-ender3-v2-neo-2022.cfg
Normal file
@@ -0,0 +1,155 @@
|
|||||||
|
# This file contains pin mappings for the stock 2022 Creality Ender 3
|
||||||
|
# V2 Neo. To use this config, during "make menuconfig" select the
|
||||||
|
# STM32F103 with a "28KiB bootloader" and serial (on USART1 PA10/PA9)
|
||||||
|
# communication.
|
||||||
|
|
||||||
|
# If you prefer a direct serial connection, in "make menuconfig"
|
||||||
|
# select "Enable extra low-level configuration options" and select
|
||||||
|
# serial (on USART3 PB11/PB10), which is broken out on the 10 pin IDC
|
||||||
|
# cable used for the LCD module as follows:
|
||||||
|
# 3: Tx, 4: Rx, 9: GND, 10: VCC
|
||||||
|
|
||||||
|
# Flash this firmware by copying "out/klipper.bin" to a SD card and
|
||||||
|
# turning on the printer with the card inserted. The firmware
|
||||||
|
# filename must end in ".bin" and must not match the last filename
|
||||||
|
# that was flashed.
|
||||||
|
|
||||||
|
# This also works for the GD32F303 based Creality 4.2.2 board.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PC2
|
||||||
|
dir_pin: PB9
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PA5
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 235
|
||||||
|
homing_speed: 80
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PB8
|
||||||
|
dir_pin: PB7
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PA6
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 235
|
||||||
|
homing_speed: 80
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PB6
|
||||||
|
dir_pin: !PB5
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: probe:z_virtual_endstop
|
||||||
|
position_max: 250
|
||||||
|
homing_speed: 4
|
||||||
|
second_homing_speed: 1
|
||||||
|
homing_retract_dist: 2.0
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
max_extrude_only_distance: 100.0
|
||||||
|
step_pin: PB4
|
||||||
|
dir_pin: PB3
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 34.406
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PA1
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC5
|
||||||
|
control: pid
|
||||||
|
# tuned for stock hardware with 200 degree Celsius target
|
||||||
|
pid_Kp: 21.527
|
||||||
|
pid_Ki: 1.063
|
||||||
|
pid_Kd: 108.982
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PA2
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC4
|
||||||
|
control: pid
|
||||||
|
# tuned for stock hardware with 70 degree Celsius target
|
||||||
|
pid_kp: 70.405
|
||||||
|
pid_ki: 1.229
|
||||||
|
pid_kd: 1008.553
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PA0
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
|
||||||
|
restart_method: command
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 5000
|
||||||
|
max_z_velocity: 5
|
||||||
|
square_corner_velocity: 5.0
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
[bltouch]
|
||||||
|
sensor_pin: ^PB1
|
||||||
|
control_pin: PB0
|
||||||
|
x_offset: -45.0
|
||||||
|
y_offset: -10.0
|
||||||
|
z_offset: 0
|
||||||
|
speed: 20
|
||||||
|
samples: 1
|
||||||
|
sample_retract_dist: 8.0
|
||||||
|
|
||||||
|
[safe_z_home]
|
||||||
|
home_xy_position: 160,120
|
||||||
|
speed: 150
|
||||||
|
z_hop: 10
|
||||||
|
z_hop_speed: 10
|
||||||
|
|
||||||
|
[bed_mesh]
|
||||||
|
speed: 120
|
||||||
|
mesh_min: 30,30 # Need to handle head distance with cr-touch (bl_touch)
|
||||||
|
mesh_max: 189,189 # Max probe range
|
||||||
|
probe_count: 5,5
|
||||||
|
fade_start: 1
|
||||||
|
fade_end: 10
|
||||||
|
fade_target: 0
|
||||||
|
algorithm: bicubic
|
||||||
|
|
||||||
|
[bed_screws]
|
||||||
|
screw1:30,25
|
||||||
|
screw1_name:1
|
||||||
|
screw2:200,25
|
||||||
|
screw2_name:2
|
||||||
|
screw3:200,195
|
||||||
|
screw3_name:3
|
||||||
|
screw4:30,195
|
||||||
|
screw4_name:4
|
||||||
|
|
||||||
|
[screws_tilt_adjust]
|
||||||
|
screw1: 67, 42
|
||||||
|
screw1_name: front left screw
|
||||||
|
screw2: 237.60, 42
|
||||||
|
screw2_name: front right screw
|
||||||
|
screw3: 237.60, 212
|
||||||
|
screw3_name: rear right screw
|
||||||
|
screw4: 67.60, 212
|
||||||
|
screw4_name: rear left screw
|
||||||
|
horizontal_move_z: 10
|
||||||
|
speed: 200
|
||||||
|
screw_thread: CW-M4 # Use CW for Clockwise and CCW for Counter Clockwise
|
||||||
|
|
||||||
|
# [display]
|
||||||
|
# The Ender 3 v2 Neo's 4.3" LCD display is not supported by klipper
|
||||||
|
|
||||||
|
[output_pin beeper]
|
||||||
|
pin: PB13
|
||||||
@@ -1,10 +1,12 @@
|
|||||||
# This file contains common pin mappings for the 2019 Creality
|
# This file contains common pin mappings for the 2019 Creality
|
||||||
# Ender 5. To use this config, the firmware should be compiled for the
|
# Ender 5. To use this config, the firmware should be compiled for the
|
||||||
# AVR atmega1284p.
|
# AVR atmega1284p. This also works for the v1.1.5 silent boards.
|
||||||
|
|
||||||
# Note, a number of Melzi boards are shipped with a bootloader that
|
# Note, a number of Melzi boards are shipped with a bootloader that
|
||||||
# requires the following command to flash the board:
|
# requires the following command to flash the board:
|
||||||
# avrdude -p atmega1284p -c arduino -b 57600 -P /dev/ttyUSB0 -U out/klipper.elf.hex
|
# avrdude -p atmega1284p -c arduino -b 57600 -P /dev/ttyUSB0 -U out/klipper.elf.hex
|
||||||
|
# For v1.1.5 silent boards, the following command is used:
|
||||||
|
# avrdude -p atmega1284p -c arduino -P /dev/ttyUSB0 -b 115200 -U flash:w:out/klipper.elf.hex
|
||||||
# If the above command does not work and "make flash" does not work
|
# If the above command does not work and "make flash" does not work
|
||||||
# then one may need to flash a bootloader to the board - see the
|
# then one may need to flash a bootloader to the board - see the
|
||||||
# Klipper docs/Bootloaders.md file for more information.
|
# Klipper docs/Bootloaders.md file for more information.
|
||||||
@@ -80,6 +82,8 @@ pin: PB4
|
|||||||
|
|
||||||
[mcu]
|
[mcu]
|
||||||
serial: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
|
serial: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
|
||||||
|
# Silent boards tend to have the exact same serial ID, except without USB2.0, using USB instead.
|
||||||
|
# e.g. /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
|
||||||
|
|
||||||
[printer]
|
[printer]
|
||||||
kinematics: cartesian
|
kinematics: cartesian
|
||||||
|
|||||||
126
config/printer-elegoo-neptune3-pro-2023.cfg
Normal file
126
config/printer-elegoo-neptune3-pro-2023.cfg
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
# This file contains pin mappings for the stock Elegoo Neptune 3 Pro (ZNP Robin Nano_DW V2.2)
|
||||||
|
# To use this config, during "make menuconfig" select the STM32F401 with a
|
||||||
|
# "32KiB bootloader" and serial (on USART1 PA10/PA9) communication.
|
||||||
|
|
||||||
|
# Note that the "make flash" command does not work with ZNP Robin boards.
|
||||||
|
# After running "make", rename the out/klipper.bin file to out/ZNP_ROBIN_NANO.bin
|
||||||
|
# Copy the file out/ZNP_ROBIN_NANO.bin to an SD card formatted to FAT32
|
||||||
|
# and then restart the printer with the SD card inserted.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
# Core
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
|
||||||
|
restart_method: command
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 3000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
# Steppers
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PC12
|
||||||
|
dir_pin: PB3
|
||||||
|
enable_pin: !PD2
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: PA13
|
||||||
|
position_min: -5
|
||||||
|
position_endstop: -5
|
||||||
|
position_max: 235
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PC11
|
||||||
|
dir_pin: PA15
|
||||||
|
enable_pin: !PC10
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: PB8
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 234
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PC7
|
||||||
|
dir_pin: !PC9
|
||||||
|
enable_pin: !PC8
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
position_min: -0.8
|
||||||
|
endstop_pin: probe:z_virtual_endstop
|
||||||
|
position_max: 283
|
||||||
|
homing_speed: 10
|
||||||
|
|
||||||
|
[probe]
|
||||||
|
pin: PA8
|
||||||
|
# NOTE: Set this to a value based on your printer and bed.
|
||||||
|
z_offset: 0
|
||||||
|
x_offset: -28.5
|
||||||
|
y_offset: 22
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PB10
|
||||||
|
dir_pin: PB1
|
||||||
|
enable_pin: !PC6
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8.42
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PA6
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC1
|
||||||
|
control: pid
|
||||||
|
# NOTE: These settings are for PETG, thus 240C at 30% fan.
|
||||||
|
pid_Kp: 26.27
|
||||||
|
pid_Ki: 1.607
|
||||||
|
pid_Kd: 107.380
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 260
|
||||||
|
max_extrude_only_distance: 100
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PA5
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC0
|
||||||
|
control: pid
|
||||||
|
# NOTE: These settings are for PETG, thus 80C bed temperature.
|
||||||
|
pid_Kp: 70.173
|
||||||
|
pid_Ki: 1.418
|
||||||
|
pid_Kd: 868.388
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 100
|
||||||
|
|
||||||
|
# Coooling
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PA7
|
||||||
|
|
||||||
|
[heater_fan hotend_fan]
|
||||||
|
pin: PB0
|
||||||
|
|
||||||
|
# Rest
|
||||||
|
|
||||||
|
# This is put on the FAN3 pin.
|
||||||
|
[led top_LEDs]
|
||||||
|
white_pin: PB9
|
||||||
|
cycle_time: 0.005
|
||||||
|
|
||||||
|
[filament_switch_sensor filament_runout_sensor]
|
||||||
|
switch_pin: PB4
|
||||||
|
|
||||||
|
[safe_z_home]
|
||||||
|
home_xy_position: 143.5, 93
|
||||||
|
|
||||||
|
[bed_mesh]
|
||||||
|
mesh_min: 10, 25
|
||||||
|
mesh_max: 205, 220
|
||||||
|
probe_count: 6, 6
|
||||||
|
algorithm: bicubic
|
||||||
|
speed: 100
|
||||||
159
config/printer-geeetech-301-2019.cfg
Normal file
159
config/printer-geeetech-301-2019.cfg
Normal file
@@ -0,0 +1,159 @@
|
|||||||
|
# This file contains common pin mappings for the GTM32 PRO board in
|
||||||
|
# the Geeetech 301 printer. To use this config, the firmware should be
|
||||||
|
# compiled for the STM32F103 with "No bootloader", serial (on USART1
|
||||||
|
# PA10/PA9) communication and GPIO pins to set at micro-controller
|
||||||
|
# startup set to "!PB4,!PB5,!PB0,!PB1"
|
||||||
|
|
||||||
|
# The "make flash" command does not work on the Geeetech 301. Instead,
|
||||||
|
# after running "make", run the following command to flash the board:
|
||||||
|
# stm32flash -w out/klipper.bin -v -i rts,-dtr,dtr -b 115200 /dev/ttyUSB0
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[multi_pin heater]
|
||||||
|
pins: PB4,PB5,PB0
|
||||||
|
|
||||||
|
[multi_pin extruder_fans]
|
||||||
|
pins: PB7,PB8,PB9
|
||||||
|
|
||||||
|
[thermistor bed_thermistor]
|
||||||
|
temperature1: 24
|
||||||
|
resistance1: 104600
|
||||||
|
temperature2: 40
|
||||||
|
resistance2: 47700
|
||||||
|
temperature3: 67
|
||||||
|
resistance3: 13000
|
||||||
|
|
||||||
|
[stepper_a]
|
||||||
|
step_pin: PC6
|
||||||
|
dir_pin: PD13
|
||||||
|
enable_pin: !PA8
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PE4
|
||||||
|
homing_speed: 50
|
||||||
|
position_endstop: 216
|
||||||
|
arm_length: 201
|
||||||
|
|
||||||
|
[stepper_b]
|
||||||
|
step_pin: PA12
|
||||||
|
dir_pin: PA11
|
||||||
|
enable_pin: !PA15
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PE2
|
||||||
|
|
||||||
|
[stepper_c]
|
||||||
|
step_pin: PD6
|
||||||
|
dir_pin: PD3
|
||||||
|
enable_pin: !PB3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PE0
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PC14
|
||||||
|
dir_pin: !PC13
|
||||||
|
enable_pin: !PC15
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 32
|
||||||
|
nozzle_diameter: 0.4
|
||||||
|
filament_diameter: 1.75
|
||||||
|
heater_pin: multi_pin:heater
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
pullup_resistor: 4700
|
||||||
|
inline_resistor: 220
|
||||||
|
sensor_pin: PC0
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 39
|
||||||
|
pid_Ki: 2
|
||||||
|
pid_Kd: 210
|
||||||
|
|
||||||
|
[extruder1]
|
||||||
|
step_pin: PA0
|
||||||
|
dir_pin: !PB6
|
||||||
|
enable_pin: !PA1
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 32
|
||||||
|
nozzle_diameter: 0.4
|
||||||
|
filament_diameter: 1.75
|
||||||
|
shared_heater: extruder
|
||||||
|
|
||||||
|
[extruder2]
|
||||||
|
step_pin: PB2
|
||||||
|
dir_pin: !PB11
|
||||||
|
enable_pin: !PC4
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 32
|
||||||
|
nozzle_diameter: 0.4
|
||||||
|
filament_diameter: 1.75
|
||||||
|
shared_heater: extruder
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PB1
|
||||||
|
sensor_type: bed_thermistor
|
||||||
|
sensor_pin: PC3
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 150
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 67
|
||||||
|
pid_Ki: 4
|
||||||
|
pid_Kd: 310
|
||||||
|
|
||||||
|
[temperature_sensor board]
|
||||||
|
sensor_type: temperature_mcu
|
||||||
|
gcode_id: MCU
|
||||||
|
|
||||||
|
[temperature_sensor secondary]
|
||||||
|
sensor_pin: PC1
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
pullup_resistor: 4700
|
||||||
|
inline_resistor: 220
|
||||||
|
gcode_id: SEC
|
||||||
|
|
||||||
|
[temperature_sensor ambient]
|
||||||
|
sensor_pin: PC2
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
pullup_resistor: 4700
|
||||||
|
inline_resistor: 220
|
||||||
|
gcode_id: AMB
|
||||||
|
|
||||||
|
[homing_heaters]
|
||||||
|
heaters: extruder
|
||||||
|
|
||||||
|
[heater_fan extruder]
|
||||||
|
pin: multi_pin:extruder_fans
|
||||||
|
heater: extruder
|
||||||
|
max_power: 0.8
|
||||||
|
off_below: 0.2
|
||||||
|
shutdown_speed: 0
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/ttyUSB0
|
||||||
|
restart_method: cheetah
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: delta
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 3000
|
||||||
|
max_z_velocity: 150
|
||||||
|
delta_radius: 94
|
||||||
|
|
||||||
|
[output_pin beep]
|
||||||
|
pin: PB10
|
||||||
|
|
||||||
|
[output_pin lcd_beep]
|
||||||
|
pin: PE12
|
||||||
|
|
||||||
|
[display]
|
||||||
|
lcd_type: hd44780
|
||||||
|
rs_pin: PE6
|
||||||
|
e_pin: PE14
|
||||||
|
d4_pin: PD8
|
||||||
|
d5_pin: PD9
|
||||||
|
d6_pin: PD10
|
||||||
|
d7_pin: PE15
|
||||||
|
encoder_pins: ^PE9,^PE8
|
||||||
|
click_pin: ^PE13
|
||||||
108
config/printer-kingroon-kp3s-2020.cfg
Normal file
108
config/printer-kingroon-kp3s-2020.cfg
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
# This file contains common pin mappings for the Kingroon KP3S printer,
|
||||||
|
# which uses a modified MKS Robin board.
|
||||||
|
# To use this config, the firmware should be compiled for the
|
||||||
|
# STM32F103. When running "make menuconfig", enable "extra low-level
|
||||||
|
# configuration setup", select the 28KiB bootloader, and serial (on
|
||||||
|
# USART3 PB11/PB10) communication. Also, select "Enable extra low-level
|
||||||
|
# configuration options" and configure "GPIO pins to set at
|
||||||
|
# micro-controller startup" to "!PC6,!PD13" to disable the LCD as it is not
|
||||||
|
# compatible with klipper
|
||||||
|
|
||||||
|
# Note that the "make flash" command does not work with MKS Robin
|
||||||
|
# boards. After running "make", run the following command:
|
||||||
|
# ./scripts/update_mks_robin.py out/klipper.bin out/Robin_nano.bin
|
||||||
|
# Copy the file out/Robin_nano.bin to an SD card and then restart the
|
||||||
|
# printer with that SD card.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PE3
|
||||||
|
dir_pin: !PE2
|
||||||
|
enable_pin: !PE4
|
||||||
|
microsteps: 32
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: !PA15
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 180
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PE0
|
||||||
|
dir_pin: !PB9
|
||||||
|
enable_pin: !PE1
|
||||||
|
microsteps: 32
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: !PA12
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 180
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PB5
|
||||||
|
dir_pin: PB4
|
||||||
|
enable_pin: !PB8
|
||||||
|
microsteps: 32
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: !PA11
|
||||||
|
position_endstop: 0.5
|
||||||
|
position_max: 180
|
||||||
|
|
||||||
|
[safe_z_home]
|
||||||
|
home_xy_position: 90,90
|
||||||
|
z_hop: 10
|
||||||
|
|
||||||
|
[thermistor Kingroon_B3950]
|
||||||
|
temperature1: 25.0
|
||||||
|
resistance1: 103180.0
|
||||||
|
temperature2: 150.0
|
||||||
|
resistance2: 1366.2
|
||||||
|
temperature3: 250.0
|
||||||
|
resistance3: 168.6
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PD6
|
||||||
|
dir_pin: !PD3
|
||||||
|
enable_pin: !PB3
|
||||||
|
microsteps: 32
|
||||||
|
gear_ratio: 3:1
|
||||||
|
rotation_distance: 23.244
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PC3
|
||||||
|
sensor_type: Kingroon_B3950
|
||||||
|
sensor_pin: PC1
|
||||||
|
control: pid
|
||||||
|
pid_kp: 27.057
|
||||||
|
pid_ki: 1.171
|
||||||
|
pid_kd: 156.254
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PA0
|
||||||
|
sensor_type: Kingroon_B3950
|
||||||
|
sensor_pin: PC0
|
||||||
|
control: pid
|
||||||
|
pid_kp: 61.779
|
||||||
|
pid_ki: 1.572
|
||||||
|
pid_kd: 606.980
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PB1
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
|
||||||
|
restart_method: command
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 250
|
||||||
|
max_accel: 2000
|
||||||
|
max_z_velocity: 25
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
[static_digital_output display_reset]
|
||||||
|
pins: !PC6, !PD13
|
||||||
118
config/printer-longer-lk4x-2022.cfg
Normal file
118
config/printer-longer-lk4x-2022.cfg
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
# This file contains pin mappings for the stock 2022 LONGER3D LK4 X
|
||||||
|
# with the 32-bit LGT_KIT_V2_X board. To use this config, during
|
||||||
|
# "make menuconfig" select the STM32F103 with a "32KiB bootloader" and
|
||||||
|
# serial (on USART1 PA10/PA9) communication.
|
||||||
|
|
||||||
|
# Flash this firmware by copying "out/klipper.bin" to a SD card,
|
||||||
|
# then rename it to "firmware.bin"and turning on the printer with
|
||||||
|
# the card inserted.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 4000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PD3
|
||||||
|
dir_pin: PD2
|
||||||
|
enable_pin: !PD4
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^!PE6
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 265
|
||||||
|
homing_speed: 80
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PD6
|
||||||
|
dir_pin: PD5
|
||||||
|
enable_pin: !PD7
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^!PE4
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 220
|
||||||
|
homing_speed: 80
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PB4
|
||||||
|
dir_pin: !PB3
|
||||||
|
enable_pin: !PB5
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
# Without BLTouch
|
||||||
|
# endstop_pin: ^!PE2
|
||||||
|
# With BLTouch
|
||||||
|
endstop_pin: probe: z_virtual_endstop
|
||||||
|
# position_endstop: 0.0
|
||||||
|
position_min: -5
|
||||||
|
position_max: 250
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
max_extrude_only_distance: 200
|
||||||
|
step_pin: PB9
|
||||||
|
dir_pin: PB8
|
||||||
|
enable_pin: !PE0
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 4.4504
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PA7
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC1
|
||||||
|
control: pid
|
||||||
|
# tuned for stock hardware with 200 degree Celsius target
|
||||||
|
pid_Kp: 25.011
|
||||||
|
pid_Ki: 1.463
|
||||||
|
pid_Kd: 106.922
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 260
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PA0
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC0
|
||||||
|
control: pid
|
||||||
|
# tuned for stock hardware with 60 degree Celsius target
|
||||||
|
pid_Kp: 69.370
|
||||||
|
pid_Ki: 1.526
|
||||||
|
pid_Kd: 788.215
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 110
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PA1
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
|
||||||
|
restart_method: command
|
||||||
|
|
||||||
|
[bed_screws]
|
||||||
|
screw1: 30,30
|
||||||
|
screw2: 190,30
|
||||||
|
screw3: 190,190
|
||||||
|
screw4: 30,190
|
||||||
|
|
||||||
|
# Pin mappings for BL_T port
|
||||||
|
[bltouch]
|
||||||
|
sensor_pin: ^PE1
|
||||||
|
control_pin: PA8
|
||||||
|
x_offset: -51
|
||||||
|
y_offset: -8
|
||||||
|
z_offset: 0 # You need to adjust this for your printer
|
||||||
|
|
||||||
|
[bed_mesh]
|
||||||
|
speed: 120
|
||||||
|
mesh_min: 10, 10
|
||||||
|
mesh_max: 210, 210
|
||||||
|
probe_count: 4, 4
|
||||||
|
|
||||||
|
[safe_z_home]
|
||||||
|
home_xy_position: 161, 118
|
||||||
|
speed: 80
|
||||||
|
z_hop: 10 # Move up 10mm
|
||||||
|
z_hop_speed: 5
|
||||||
157
config/printer-lulzbot-mini2-2018.cfg
Normal file
157
config/printer-lulzbot-mini2-2018.cfg
Normal file
@@ -0,0 +1,157 @@
|
|||||||
|
#This file contains pin mappings for the stock Lulzbot Mini 2 which uses
|
||||||
|
#EinsyRetro mainboard and SingleExtruder(0.5mm) hotend.
|
||||||
|
#To use this config, the firmware should be compiled for the AVR atmega2560.
|
||||||
|
|
||||||
|
# Pin numbers checked against Lulzbot fork of Marlin pins_EINSYRETRO.h
|
||||||
|
# https://gitlab.com/lulzbot3d/marlin/-/blob/master/Marlin/src/pins/rambo/
|
||||||
|
#pins_EINSY_RETRO.h
|
||||||
|
# validated against https://github.com/ultimachine/EinsyRetro/blob/1.0b/board/
|
||||||
|
#Project%20Outputs%20for%20EinsyRetro/Schematic%20Prints_EinsyRetro_1.0b.PDF
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/ttyACM0
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 2000
|
||||||
|
max_z_velocity: 40
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PC0
|
||||||
|
dir_pin: !PL0
|
||||||
|
enable_pin: !PA7
|
||||||
|
rotation_distance: 32
|
||||||
|
microsteps: 16
|
||||||
|
endstop_pin: tmc2130_stepper_x:virtual_endstop
|
||||||
|
position_endstop: -7
|
||||||
|
position_min: -7
|
||||||
|
position_max: 168
|
||||||
|
homing_retract_dist: 0
|
||||||
|
homing_speed: 30
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PC1
|
||||||
|
dir_pin: !PL1
|
||||||
|
enable_pin: !PA6
|
||||||
|
rotation_distance: 32
|
||||||
|
microsteps: 16
|
||||||
|
endstop_pin: tmc2130_stepper_y:virtual_endstop
|
||||||
|
position_endstop: -5
|
||||||
|
position_min: -5
|
||||||
|
position_max: 192
|
||||||
|
homing_retract_dist: 0
|
||||||
|
homing_speed: 30
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PC2
|
||||||
|
dir_pin: !PL2
|
||||||
|
enable_pin: !PA5
|
||||||
|
rotation_distance: 32
|
||||||
|
microsteps: 16
|
||||||
|
endstop_pin: PH4
|
||||||
|
position_endstop: 183
|
||||||
|
position_max: 185
|
||||||
|
position_min: -2
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PC3
|
||||||
|
dir_pin: PL6
|
||||||
|
enable_pin: !PA4
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 7.465
|
||||||
|
nozzle_diameter: 0.5
|
||||||
|
filament_diameter: 2.85
|
||||||
|
heater_pin: PE5
|
||||||
|
sensor_type: ATC Semitec 104GT-2
|
||||||
|
sensor_pin: PF0
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 280
|
||||||
|
control: pid
|
||||||
|
pid_kp: 24.121
|
||||||
|
pid_ki: 1.079
|
||||||
|
pid_kd: 134.779
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PG5
|
||||||
|
sensor_type: Honeywell 100K 135-104LAG-J01
|
||||||
|
sensor_pin: PF2
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
control: pid
|
||||||
|
pid_kp: 71.304
|
||||||
|
pid_ki: 1.662
|
||||||
|
pid_kd: 764.734
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PH5
|
||||||
|
|
||||||
|
[heater_fan nozzle_cooling_fan]
|
||||||
|
pin: PH3
|
||||||
|
|
||||||
|
[probe]
|
||||||
|
pin: ^!PB4
|
||||||
|
z_offset: 1.377
|
||||||
|
#z offset will need to be adjusted if you use the magnetic bed upgrade as the
|
||||||
|
#washer thickness will apply a different offset between the nozzle and true
|
||||||
|
#bed level.
|
||||||
|
samples: 3
|
||||||
|
sample_retract_dist: 1.0
|
||||||
|
samples_tolerance: 0.200
|
||||||
|
|
||||||
|
[bed_tilt]
|
||||||
|
points: -5, 22
|
||||||
|
-5, 190
|
||||||
|
160, 190
|
||||||
|
160, 22
|
||||||
|
speed: 30
|
||||||
|
horizontal_move_z: 5
|
||||||
|
|
||||||
|
[tmc2130 stepper_x]
|
||||||
|
cs_pin: PG0
|
||||||
|
run_current: 0.975
|
||||||
|
diag0_pin: ^!PK2
|
||||||
|
driver_SGT: 4
|
||||||
|
sense_resistor: 0.120
|
||||||
|
|
||||||
|
[tmc2130 stepper_y]
|
||||||
|
cs_pin: PG2
|
||||||
|
run_current: 0.975
|
||||||
|
diag0_pin: ^!PK7
|
||||||
|
driver_SGT: 4
|
||||||
|
sense_resistor: 0.120
|
||||||
|
|
||||||
|
[tmc2130 stepper_z]
|
||||||
|
cs_pin: PK5
|
||||||
|
run_current: 0.960
|
||||||
|
diag0_pin: ^!PK6
|
||||||
|
stealthchop_threshold: 999999
|
||||||
|
sense_resistor: 0.120
|
||||||
|
|
||||||
|
[tmc2130 extruder]
|
||||||
|
cs_pin: PK4
|
||||||
|
run_current: 0.960
|
||||||
|
diag0_pin: ^!PK3
|
||||||
|
stealthchop_threshold: 999999
|
||||||
|
sense_resistor: 0.120
|
||||||
|
|
||||||
|
[static_digital_output sd_card]
|
||||||
|
pins: PB0
|
||||||
|
|
||||||
|
[safe_z_home]
|
||||||
|
home_xy_position: 75, 75
|
||||||
|
speed: 30.0
|
||||||
|
z_hop: 5
|
||||||
|
|
||||||
|
[display]
|
||||||
|
lcd_type: st7920
|
||||||
|
cs_pin: PD5
|
||||||
|
sclk_pin: PD2
|
||||||
|
sid_pin: PD3
|
||||||
|
menu_timeout: 5
|
||||||
|
encoder_pins: ^PJ1,^PJ2
|
||||||
|
encoder_steps_per_detent: 2
|
||||||
|
click_pin: ^!PH6
|
||||||
180
config/printer-ratrig-v-minion-2021.cfg
Normal file
180
config/printer-ratrig-v-minion-2021.cfg
Normal file
@@ -0,0 +1,180 @@
|
|||||||
|
# This file contains pin mappings for a full Ratrig V-Minion kit
|
||||||
|
# with an Octopus Pro v1.1 board.
|
||||||
|
#
|
||||||
|
# This will not work with RatOS
|
||||||
|
#
|
||||||
|
# To use this config, during "make menuconfig" select the STM32F446
|
||||||
|
# with a "32KiB bootloader", USB (on PA11/PA12) communication, and
|
||||||
|
# a "12MHZ Crystal"
|
||||||
|
#
|
||||||
|
# Flash this firmware on the MCU by copying "out/klipper.bin" to an SD
|
||||||
|
# card and turning the printer on with the card inserted. The firmware
|
||||||
|
# filename must be named "firmware.bin"
|
||||||
|
#
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PF13
|
||||||
|
dir_pin: !PF12
|
||||||
|
enable_pin: !PF14
|
||||||
|
endstop_pin: ^PG6
|
||||||
|
rotation_distance: 40
|
||||||
|
microsteps: 64
|
||||||
|
position_max: 180
|
||||||
|
position_min: 0
|
||||||
|
homing_speed: 60
|
||||||
|
position_endstop: 0
|
||||||
|
|
||||||
|
[tmc2209 stepper_x]
|
||||||
|
uart_pin: PC4
|
||||||
|
run_current: 0.8
|
||||||
|
interpolate: false
|
||||||
|
stealthchop_threshold: 0
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PG0
|
||||||
|
dir_pin: PG1
|
||||||
|
enable_pin: !PF15
|
||||||
|
endstop_pin: ^PG9
|
||||||
|
rotation_distance: 40
|
||||||
|
microsteps: 64
|
||||||
|
position_max: 180
|
||||||
|
position_min: 0
|
||||||
|
homing_speed: 60
|
||||||
|
position_endstop: 0
|
||||||
|
|
||||||
|
[tmc2209 stepper_y]
|
||||||
|
uart_pin: PD11
|
||||||
|
run_current: 0.8
|
||||||
|
interpolate: false
|
||||||
|
stealthchop_threshold: 0
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PC13
|
||||||
|
dir_pin: !PF0
|
||||||
|
enable_pin: !PF1
|
||||||
|
endstop_pin: probe:z_virtual_endstop
|
||||||
|
rotation_distance: 4
|
||||||
|
position_min: -5
|
||||||
|
microsteps: 64
|
||||||
|
position_max: 180
|
||||||
|
|
||||||
|
[tmc2209 stepper_z]
|
||||||
|
uart_pin: PE4
|
||||||
|
run_current: 0.8
|
||||||
|
interpolate: false
|
||||||
|
stealthchop_threshold: 0
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
rotation_distance: 5.57
|
||||||
|
full_steps_per_rotation: 200
|
||||||
|
filament_diameter: 1.750
|
||||||
|
step_pin: PF11
|
||||||
|
dir_pin: !PG3
|
||||||
|
enable_pin: !PG5
|
||||||
|
microsteps: 64
|
||||||
|
nozzle_diameter: 0.4
|
||||||
|
heater_pin: PA2
|
||||||
|
sensor_type: Generic 3950
|
||||||
|
sensor_pin: PF4
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 22.2
|
||||||
|
pid_Ki: 1.08
|
||||||
|
pid_Kd: 114
|
||||||
|
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 290
|
||||||
|
|
||||||
|
[tmc2209 extruder]
|
||||||
|
uart_pin: PC6
|
||||||
|
run_current: 0.70
|
||||||
|
stealthchop_threshold: 0
|
||||||
|
interpolate: False
|
||||||
|
|
||||||
|
[probe]
|
||||||
|
pin: ^PB7
|
||||||
|
x_offset: -24.0
|
||||||
|
y_offset: -13.0
|
||||||
|
z_offset: 0.0
|
||||||
|
speed: 5
|
||||||
|
samples: 2
|
||||||
|
sample_retract_dist: 2
|
||||||
|
lift_speed: 5.0
|
||||||
|
samples_result: median
|
||||||
|
samples_tolerance: 0.02
|
||||||
|
samples_tolerance_retries: 5
|
||||||
|
|
||||||
|
[bed_mesh]
|
||||||
|
speed: 300
|
||||||
|
horizontal_move_z: 5
|
||||||
|
mesh_min: 15,15
|
||||||
|
mesh_max: 150,160
|
||||||
|
probe_count: 5,5
|
||||||
|
fade_start: 1.0
|
||||||
|
fade_end: 10.0
|
||||||
|
mesh_pps: 2,2
|
||||||
|
algorithm: bicubic
|
||||||
|
bicubic_tension: .2
|
||||||
|
|
||||||
|
[screws_tilt_adjust]
|
||||||
|
screw1: 80, 108
|
||||||
|
screw1_name: Left Screw
|
||||||
|
screw2: 155, 72
|
||||||
|
screw2_name: Front Right Screw
|
||||||
|
screw3: 155, 147
|
||||||
|
screw3_name: Rear Right Screw
|
||||||
|
horizontal_move_z: 10
|
||||||
|
speed: 300
|
||||||
|
screw_thread: CCW-M4
|
||||||
|
|
||||||
|
[safe_z_home]
|
||||||
|
home_xy_position: 90,90
|
||||||
|
z_hop: 5
|
||||||
|
speed: 300
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PA1
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PF3
|
||||||
|
control: pid
|
||||||
|
pid_kp: 54.027
|
||||||
|
pid_ki: 0.770
|
||||||
|
pid_kd: 948.182
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 120
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PA8
|
||||||
|
shutdown_speed: 0.0
|
||||||
|
|
||||||
|
[heater_fan hotend_cooling_fan]
|
||||||
|
pin: PE5
|
||||||
|
fan_speed: 1.0
|
||||||
|
heater: extruder
|
||||||
|
heater_temp: 50.0
|
||||||
|
|
||||||
|
[controller_fan controller_fan]
|
||||||
|
pin: PD12
|
||||||
|
fan_speed: 1.0
|
||||||
|
stepper: stepper_x, stepper_y, stepper_z
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 500
|
||||||
|
max_accel: 20000
|
||||||
|
max_z_velocity: 15
|
||||||
|
max_z_accel: 2000
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: INSERTSERIALIDHERE
|
||||||
|
|
||||||
|
[board_pins octopus_11_tmc2209]
|
||||||
|
aliases:
|
||||||
|
## Expansion ports
|
||||||
|
# EXP1 header
|
||||||
|
EXP1_1=PE8, EXP1_3=PE9, EXP1_5=PE12, EXP1_7=PE14, EXP1_9=<GND>,
|
||||||
|
EXP1_2=PE7, EXP1_4=PE10, EXP1_6=PE13, EXP1_8=PE15, EXP1_10=<5V>,
|
||||||
|
# EXP2 header
|
||||||
|
EXP2_1=PA6, EXP2_3=PB1, EXP2_5=PB2, EXP2_7=PC15, EXP2_9=<GND>,
|
||||||
|
EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=<RST>, EXP2_10=PC5,
|
||||||
|
# Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus "spi2"
|
||||||
144
config/printer-sovol-sv05-2022.cfg
Normal file
144
config/printer-sovol-sv05-2022.cfg
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
# This file contains pin mappings for the stock 2022 Sovol SV05
|
||||||
|
# with the 32-bit Creality 4.2.2 board.
|
||||||
|
#
|
||||||
|
# To use this config, during "make menuconfig" select the STM32F103
|
||||||
|
# with a "28KiB bootloader" and serial (on USART1 PA10/PA9)
|
||||||
|
# communication.
|
||||||
|
#
|
||||||
|
# Flash this firmware by copying "out/klipper.bin" to a SD card and
|
||||||
|
# turning on the printer with the card inserted. The firmware
|
||||||
|
# filename must end in ".bin" and must not match the last filename
|
||||||
|
# that was flashed. Might need a renaming if printer dosnt flash.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
|
||||||
|
restart_method: command
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 1000
|
||||||
|
max_accel_to_decel: 1000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PC2
|
||||||
|
dir_pin: PB9
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PA5
|
||||||
|
position_endstop: 220
|
||||||
|
position_max: 220
|
||||||
|
homing_speed: 50
|
||||||
|
position_min: -4
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PB8
|
||||||
|
dir_pin: PB7
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PA6
|
||||||
|
position_endstop: 220
|
||||||
|
position_max: 220
|
||||||
|
position_min: -4
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PB6
|
||||||
|
dir_pin: PB5
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: probe:z_virtual_endstop
|
||||||
|
position_max: 300
|
||||||
|
position_min: -3
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PA2
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC4
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
control: pid
|
||||||
|
pid_kp: 64.742
|
||||||
|
pid_ki: 0.827
|
||||||
|
pid_kd: 1267.326
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PA0
|
||||||
|
|
||||||
|
[safe_z_home]
|
||||||
|
home_xy_position: 70, 103
|
||||||
|
speed: 100
|
||||||
|
z_hop: 10
|
||||||
|
z_hop_speed: 20
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PB4
|
||||||
|
dir_pin: PB3
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 7.394
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
max_extrude_only_distance: 100.0
|
||||||
|
heater_pin: PA1
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC5
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 280
|
||||||
|
control: pid
|
||||||
|
pid_kp: 28.850
|
||||||
|
pid_ki: 1.658
|
||||||
|
pid_kd: 125.496
|
||||||
|
|
||||||
|
[bltouch]
|
||||||
|
sensor_pin: ^PB1
|
||||||
|
control_pin: PB0
|
||||||
|
z_offset: 0
|
||||||
|
x_offset: 40
|
||||||
|
y_offset: 7
|
||||||
|
samples: 2
|
||||||
|
samples_tolerance: 0.015
|
||||||
|
samples_tolerance_retries: 5
|
||||||
|
|
||||||
|
[bed_mesh]
|
||||||
|
speed: 100
|
||||||
|
horizontal_move_z: 5
|
||||||
|
mesh_min: 40, 7
|
||||||
|
mesh_max: 220, 220
|
||||||
|
probe_count: 5, 5
|
||||||
|
algorithm: bicubic
|
||||||
|
fade_start: 1
|
||||||
|
fade_end: 10
|
||||||
|
|
||||||
|
[bed_screws]
|
||||||
|
screw1: 25,28
|
||||||
|
screw2: 195,28
|
||||||
|
screw3: 195,197
|
||||||
|
screw4: 25,197
|
||||||
|
|
||||||
|
[screws_tilt_adjust]
|
||||||
|
screw1: -4,21
|
||||||
|
screw1_name: front left screw
|
||||||
|
screw2: 155,21
|
||||||
|
screw2_name: front right screw
|
||||||
|
screw3: 155,190
|
||||||
|
screw3_name: rear right screw
|
||||||
|
screw4: -4,190
|
||||||
|
screw4_name: rear left screw
|
||||||
|
horizontal_move_z: 10
|
||||||
|
speed: 50
|
||||||
|
screw_thread: CW-M4
|
||||||
|
|
||||||
|
[display]
|
||||||
|
lcd_type: st7920
|
||||||
|
cs_pin: PB12
|
||||||
|
sclk_pin: PB13
|
||||||
|
sid_pin: PB15
|
||||||
|
encoder_pins: ^PB14, ^PB10
|
||||||
|
click_pin: ^!PB2
|
||||||
159
config/printer-sovol-sv06-2022.cfg
Normal file
159
config/printer-sovol-sv06-2022.cfg
Normal file
@@ -0,0 +1,159 @@
|
|||||||
|
# This file contains pin mappings for the stock Sovol SV06
|
||||||
|
# To use this config, during "make menuconfig" select the
|
||||||
|
# STM32F103 with a "28KiB bootloader" and serial (on USART1 PA10/PA9) communication.
|
||||||
|
# Also, since it is using the GD32F103, please select Disable SWD at startup
|
||||||
|
#
|
||||||
|
# Flash this firmware by copying "out/klipper.bin" to a SD card and
|
||||||
|
# turning on the printer with the card inserted. The firmware
|
||||||
|
# filename must end in ".bin" and must not match the last filename
|
||||||
|
# that was flashed.
|
||||||
|
#
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
|
||||||
|
restart_method: command
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 3000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PC2
|
||||||
|
dir_pin: !PB9
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: tmc2209_stepper_x:virtual_endstop
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 220
|
||||||
|
homing_speed: 40
|
||||||
|
homing_retract_dist: 0
|
||||||
|
|
||||||
|
[tmc2209 stepper_x]
|
||||||
|
uart_pin: PC1
|
||||||
|
run_current: 0.860
|
||||||
|
stealthchop_threshold: 0
|
||||||
|
interpolate: False
|
||||||
|
sense_resistor: 0.150
|
||||||
|
uart_address: 3
|
||||||
|
driver_SGTHRS: 81
|
||||||
|
diag_pin: PA5
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PB8
|
||||||
|
dir_pin: PB7
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: tmc2209_stepper_y:virtual_endstop
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 220
|
||||||
|
homing_speed: 40
|
||||||
|
homing_retract_dist: 0
|
||||||
|
|
||||||
|
[tmc2209 stepper_y]
|
||||||
|
uart_pin: PC0
|
||||||
|
run_current: 0.900
|
||||||
|
stealthchop_threshold: 0
|
||||||
|
interpolate: False
|
||||||
|
sense_resistor: 0.150
|
||||||
|
uart_address: 3
|
||||||
|
driver_SGTHRS: 82
|
||||||
|
diag_pin: PA6
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PB6
|
||||||
|
dir_pin: !PB5
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 4
|
||||||
|
endstop_pin: probe:z_virtual_endstop
|
||||||
|
position_min: -4
|
||||||
|
position_max: 250
|
||||||
|
homing_speed: 4
|
||||||
|
|
||||||
|
[tmc2209 stepper_z]
|
||||||
|
uart_pin: PA15
|
||||||
|
run_current: 1.000
|
||||||
|
stealthchop_threshold: 0
|
||||||
|
interpolate: False
|
||||||
|
sense_resistor: 0.150
|
||||||
|
uart_address: 3
|
||||||
|
diag_pin: PA7
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
max_extrude_only_distance: 100.0
|
||||||
|
step_pin: PB4
|
||||||
|
dir_pin: !PB3
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 4.56
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PA1
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC5
|
||||||
|
control: pid
|
||||||
|
pid_kd: 86.991
|
||||||
|
pid_kp: 21.479
|
||||||
|
pid_ki: 1.326
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 300
|
||||||
|
|
||||||
|
[tmc2209 extruder]
|
||||||
|
uart_pin: PC14
|
||||||
|
run_current: 0.550
|
||||||
|
stealthchop_threshold: 0
|
||||||
|
interpolate: False
|
||||||
|
sense_resistor: 0.150
|
||||||
|
uart_address: 3
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PA2
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC4
|
||||||
|
control: pid
|
||||||
|
pid_kp: 64.440
|
||||||
|
pid_ki: 0.773
|
||||||
|
pid_kd: 1343.571
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PA0
|
||||||
|
|
||||||
|
[probe]
|
||||||
|
pin: PB1
|
||||||
|
x_offset: 27
|
||||||
|
y_offset: -20
|
||||||
|
z_offset: 0
|
||||||
|
samples: 2
|
||||||
|
samples_tolerance: 0.015
|
||||||
|
samples_tolerance_retries: 5
|
||||||
|
|
||||||
|
[safe_z_home]
|
||||||
|
home_xy_position: 85,135
|
||||||
|
z_hop: 10
|
||||||
|
z_hop_speed: 5
|
||||||
|
|
||||||
|
[bed_mesh]
|
||||||
|
speed: 120
|
||||||
|
horizontal_move_z: 5
|
||||||
|
mesh_min: 28, 20
|
||||||
|
mesh_max: 210, 205
|
||||||
|
probe_count: 10
|
||||||
|
algorithm: bicubic
|
||||||
|
fade_start: 1
|
||||||
|
fade_end: 10
|
||||||
|
fade_target: 0
|
||||||
|
|
||||||
|
[display]
|
||||||
|
lcd_type: st7920
|
||||||
|
cs_pin: PB12
|
||||||
|
sclk_pin: PB13
|
||||||
|
sid_pin: PB15
|
||||||
|
encoder_pins: ^PB14, ^PB10
|
||||||
|
click_pin: ^!PB2
|
||||||
147
config/printer-sovol-sv06-plus-2023.cfg
Normal file
147
config/printer-sovol-sv06-plus-2023.cfg
Normal file
@@ -0,0 +1,147 @@
|
|||||||
|
# This file contains pin mappings for the stock Sovol SV06 Plus
|
||||||
|
# To use this config, during "make menuconfig" select the
|
||||||
|
# STM32F103 with a "28KiB bootloader" and serial (on USART1 PA10/PA9) communication.
|
||||||
|
# Also, since it is using the GD32F103, please select Disable SWD at startup
|
||||||
|
#
|
||||||
|
# Flash this firmware by copying "out/klipper.bin" to a SD card and
|
||||||
|
# turning on the printer with the card inserted. The firmware
|
||||||
|
# filename must end in ".bin" and must not match the last filename
|
||||||
|
# that was flashed.
|
||||||
|
#
|
||||||
|
# Note: The stock LCD display does not currently work with Klipper
|
||||||
|
#
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
|
||||||
|
restart_method: command
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 500
|
||||||
|
max_accel: 2000
|
||||||
|
max_z_velocity: 10
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PC2
|
||||||
|
dir_pin: !PB9
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: tmc2209_stepper_x:virtual_endstop
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 305
|
||||||
|
homing_speed: 40
|
||||||
|
homing_retract_dist: 0
|
||||||
|
|
||||||
|
[tmc2209 stepper_x]
|
||||||
|
uart_pin: PC1
|
||||||
|
run_current: 0.860
|
||||||
|
sense_resistor: 0.150
|
||||||
|
uart_address: 3
|
||||||
|
driver_SGTHRS: 86
|
||||||
|
diag_pin: PA5
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PB8
|
||||||
|
dir_pin: PB7
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: tmc2209_stepper_y:virtual_endstop
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 305
|
||||||
|
homing_speed: 40
|
||||||
|
homing_retract_dist: 0
|
||||||
|
|
||||||
|
[tmc2209 stepper_y]
|
||||||
|
uart_pin: PC0
|
||||||
|
run_current: 0.900
|
||||||
|
sense_resistor: 0.150
|
||||||
|
uart_address: 3
|
||||||
|
driver_SGTHRS: 110
|
||||||
|
diag_pin: PA6
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PB6
|
||||||
|
dir_pin: !PB5
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 4
|
||||||
|
endstop_pin: probe:z_virtual_endstop
|
||||||
|
position_min: -4
|
||||||
|
position_max: 350
|
||||||
|
homing_speed: 4
|
||||||
|
|
||||||
|
[tmc2209 stepper_z]
|
||||||
|
uart_pin: PA15
|
||||||
|
run_current: 1.000
|
||||||
|
interpolate: False
|
||||||
|
sense_resistor: 0.150
|
||||||
|
uart_address: 3
|
||||||
|
diag_pin: PA7
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
max_extrude_only_distance: 100.0
|
||||||
|
step_pin: PB4
|
||||||
|
dir_pin: !PB3
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 4.56
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PA1
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC5
|
||||||
|
control: pid
|
||||||
|
pid_kd: 41.96
|
||||||
|
pid_kp: 15.66
|
||||||
|
pid_ki: 1.49
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 300
|
||||||
|
|
||||||
|
[tmc2209 extruder]
|
||||||
|
uart_pin: PC14
|
||||||
|
run_current: 0.550
|
||||||
|
stealthchop_threshold: 0
|
||||||
|
interpolate: False
|
||||||
|
sense_resistor: 0.150
|
||||||
|
uart_address: 3
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PA2
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC4
|
||||||
|
control: pid
|
||||||
|
pid_kp: 186.38
|
||||||
|
pid_ki: 36.12
|
||||||
|
pid_kd: 637.30
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PA0
|
||||||
|
|
||||||
|
[probe]
|
||||||
|
pin: PB1
|
||||||
|
x_offset: 28
|
||||||
|
y_offset: -20
|
||||||
|
z_offset: 0
|
||||||
|
|
||||||
|
[safe_z_home]
|
||||||
|
home_xy_position: 123,170
|
||||||
|
z_hop: 10
|
||||||
|
z_hop_speed: 5
|
||||||
|
|
||||||
|
[bed_mesh]
|
||||||
|
speed: 120
|
||||||
|
mesh_min: 28, 20
|
||||||
|
mesh_max: 270, 270
|
||||||
|
probe_count: 5
|
||||||
|
algorithm: bicubic
|
||||||
|
fade_end: 10
|
||||||
|
fade_target: 0
|
||||||
|
|
||||||
|
[filament_switch_sensor filament_runout_sensor]
|
||||||
|
switch_pin: PA4
|
||||||
|
pause_on_runout: True
|
||||||
198
config/printer-sunlu-t3-2022.cfg
Normal file
198
config/printer-sunlu-t3-2022.cfg
Normal file
@@ -0,0 +1,198 @@
|
|||||||
|
# This file contains common pin mappings for the SUNLU Terminator T3 board
|
||||||
|
|
||||||
|
# To use this config, the firmware should be compiled for the
|
||||||
|
# STM32F103 with a "28KiB bootloader" and USB communication.
|
||||||
|
# Select "Disable SWD at startup (for GigaDevice stmf32f103 clones)"
|
||||||
|
# Also, select "Enable extra low-level configuration options" and configure
|
||||||
|
# "GPIO pins to set at micro-controller startup" to "!PA14".
|
||||||
|
|
||||||
|
# The "make flash" command does not work on the SUNLU Terminator T3 board. Instead,
|
||||||
|
# after running "make", copy the generated "out/klipper.bin" file to a
|
||||||
|
# file named "firmware.bin" on an SD card and then restart the board with that SD card.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
# Rename the file to printer.cfg
|
||||||
|
|
||||||
|
##################################################################
|
||||||
|
# Printer
|
||||||
|
##################################################################
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
#obtain your MCU id using ls /dev/serial/by-path/*
|
||||||
|
serial: dev/serial/by-id/usb-Klipper_stm32f103xe_00000000000
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 3000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
|
|
||||||
|
[static_digital_output usb_pullup_enable]
|
||||||
|
pins: !PA14
|
||||||
|
|
||||||
|
[bltouch]
|
||||||
|
sensor_pin: PC14
|
||||||
|
control_pin: PA1
|
||||||
|
x_offset: -28.45
|
||||||
|
y_offset: 4
|
||||||
|
z_offset: 1.915
|
||||||
|
pin_up_touch_mode_reports_triggered: FALSE #needed bc of the bltouch clone used by sunlu
|
||||||
|
|
||||||
|
[safe_z_home]
|
||||||
|
home_xy_position: 115,115
|
||||||
|
speed: 75
|
||||||
|
z_hop: 10
|
||||||
|
z_hop_speed: 5
|
||||||
|
|
||||||
|
[bed_mesh]
|
||||||
|
speed: 120
|
||||||
|
horizontal_move_z: 5
|
||||||
|
mesh_min: 10, 10
|
||||||
|
mesh_max: 190, 220
|
||||||
|
probe_count: 5,5
|
||||||
|
fade_start: 1
|
||||||
|
fade_end: 10
|
||||||
|
|
||||||
|
[bed_screws]
|
||||||
|
#for BED_SCREWS_ADJUST
|
||||||
|
screw1: 31,38 #X,Y Position
|
||||||
|
screw1_name: Front Left
|
||||||
|
screw2: 201,38 #X,Y Position
|
||||||
|
screw2_name: Front Right
|
||||||
|
screw3: 201,204 #X,Y Position
|
||||||
|
screw3_name: Rear Right
|
||||||
|
screw4: 31,204 #X,Y Position
|
||||||
|
screw4_name: Rear Left
|
||||||
|
|
||||||
|
##IMPORTANT. If using the filament sensor add CLEAR_PAUSE to your slicer's start gcode or to your print start macro.##
|
||||||
|
##The act of loading and unloading filament will trigger a paused state##
|
||||||
|
[filament_motion_sensor Filament_Sensor]
|
||||||
|
detection_length: 7.0
|
||||||
|
extruder: extruder
|
||||||
|
switch_pin: !PC15
|
||||||
|
pause_on_runout: FALSE
|
||||||
|
runout_gcode: PAUSE
|
||||||
|
|
||||||
|
#########################################################
|
||||||
|
# Motion Axis
|
||||||
|
#########################################################
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PB13
|
||||||
|
dir_pin: !PB12
|
||||||
|
enable_pin: !PB14
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: !PC0
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 235
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PB10
|
||||||
|
dir_pin: !PB2
|
||||||
|
enable_pin: !PB11
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: !PC1
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 235
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PB0
|
||||||
|
dir_pin: PC5
|
||||||
|
enable_pin: !PB1
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 4
|
||||||
|
position_max: 250
|
||||||
|
endstop_pin: probe:z_virtual_endstop
|
||||||
|
|
||||||
|
###################################################
|
||||||
|
# Heaters
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: PB3
|
||||||
|
dir_pin: !PB4
|
||||||
|
enable_pin: !PD2
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 23.18840579710145
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PC8
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PA0
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 19.479
|
||||||
|
pid_Ki: 1.073
|
||||||
|
pid_Kd: 88.385
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PC9
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC3
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 62.673
|
||||||
|
pid_Ki: 1.530
|
||||||
|
pid_Kd: 641.619
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
#########################################
|
||||||
|
# Fans
|
||||||
|
#########################################
|
||||||
|
|
||||||
|
[heater_fan Hotend]
|
||||||
|
pin: PC7
|
||||||
|
heater: extruder
|
||||||
|
heater_temp: 50.0
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PC6
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
# Stock Screen
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
[board_pins]
|
||||||
|
aliases:
|
||||||
|
# EXP1 header
|
||||||
|
EXP1_1=PB5, EXP1_3=PA9, EXP1_5=PA10, EXP1_7=PB8, EXP1_9=<GND>,
|
||||||
|
EXP1_2=PA15, EXP1_4=<RST>, EXP1_6=PB9, EXP1_8=PB15, EXP1_10=<5V>
|
||||||
|
|
||||||
|
[display]
|
||||||
|
lcd_type: st7920
|
||||||
|
cs_pin: PB8 #EXP1_7
|
||||||
|
sclk_pin: PB9 #EXP1_6
|
||||||
|
sid_pin: PB15 #EXP1_8
|
||||||
|
encoder_pins: ^PA10, ^PA9 #^EXP1_5, ^EXP1_3
|
||||||
|
click_pin: ^!PA15 #^!EXP1_2
|
||||||
|
|
||||||
|
[output_pin beeper]
|
||||||
|
pin: PB5 #EXP1_1
|
||||||
|
pwm: True
|
||||||
|
value: 0
|
||||||
|
shutdown_value: 0
|
||||||
|
cycle_time: 0.001
|
||||||
|
scale: 1
|
||||||
|
[gcode_macro M300]
|
||||||
|
gcode:
|
||||||
|
{% set S = params.S|default(1000)|int %} ; S sets the tone frequency
|
||||||
|
{% set P = params.P|default(100)|int %} ; P sets the tone duration
|
||||||
|
{% set L = 0.5 %} ; L varies the PWM on time, close to 0 or 1 the tone gets a bit quieter. 0.5 is a symmetric waveform
|
||||||
|
{% if S <= 0 %} ; dont divide through zero
|
||||||
|
{% set F = 1 %}
|
||||||
|
{% set L = 0 %}
|
||||||
|
{% elif S >= 10000 %} ;max frequency set to 10kHz
|
||||||
|
{% set F = 0 %}
|
||||||
|
{% else %}
|
||||||
|
{% set F = 1/S %} ;convert frequency to seconds
|
||||||
|
{% endif %}
|
||||||
|
SET_PIN PIN=beeper VALUE={L} CYCLE_TIME={F} ;Play tone
|
||||||
|
G4 P{P} ;tone duration
|
||||||
|
SET_PIN PIN=beeper VALUE=0
|
||||||
@@ -78,7 +78,7 @@ pid_Kd: 698.838
|
|||||||
min_temp: 0
|
min_temp: 0
|
||||||
max_temp: 70
|
max_temp: 70
|
||||||
|
|
||||||
[heater_fan my_nozzle_fan]
|
[heater_fan heatbreak_cooling_fan]
|
||||||
pin: PH4
|
pin: PH4
|
||||||
|
|
||||||
[fan]
|
[fan]
|
||||||
|
|||||||
84
config/printer-voxelab-aquila-2021.cfg
Normal file
84
config/printer-voxelab-aquila-2021.cfg
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
# This file contains pin mappings for the Voxelab Aquila
|
||||||
|
# with the FFP0173 1.0.1 mainboard. To use this config, during
|
||||||
|
# "make menuconfig" select the STM32F103 for STM32/G32, or
|
||||||
|
# Nation N32G452 for N32 version, 28KB boot, serial PA9/PA10.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[stepper_x]
|
||||||
|
step_pin: PC2
|
||||||
|
dir_pin: PB9
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PA5
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 235
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_y]
|
||||||
|
step_pin: PB8
|
||||||
|
dir_pin: PB7
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 40
|
||||||
|
endstop_pin: ^PA6
|
||||||
|
position_endstop: 0
|
||||||
|
position_max: 235
|
||||||
|
homing_speed: 50
|
||||||
|
|
||||||
|
[stepper_z]
|
||||||
|
step_pin: PB6
|
||||||
|
dir_pin: !PB5
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 8
|
||||||
|
endstop_pin: ^PA7
|
||||||
|
position_endstop: 0.0
|
||||||
|
position_max: 250
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
max_extrude_only_distance: 100.0
|
||||||
|
step_pin: PB4
|
||||||
|
dir_pin: PB3
|
||||||
|
enable_pin: !PC3
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 34.406
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: PA1
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC5
|
||||||
|
control: pid
|
||||||
|
# tuned for stock hardware with 200 degree Celsius target
|
||||||
|
pid_Kp: 21.527
|
||||||
|
pid_Ki: 1.063
|
||||||
|
pid_Kd: 108.982
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
[heater_bed]
|
||||||
|
heater_pin: PA2
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: PC4
|
||||||
|
control: pid
|
||||||
|
# tuned for stock hardware with 50 degree Celsius target
|
||||||
|
pid_Kp: 54.027
|
||||||
|
pid_Ki: 0.770
|
||||||
|
pid_Kd: 948.182
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 130
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: PA0
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
|
||||||
|
restart_method: command
|
||||||
|
|
||||||
|
[printer]
|
||||||
|
kinematics: cartesian
|
||||||
|
max_velocity: 300
|
||||||
|
max_accel: 3000
|
||||||
|
max_z_velocity: 5
|
||||||
|
max_z_accel: 100
|
||||||
@@ -10,21 +10,21 @@ serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
|
|||||||
#canbus_uuid: 0e0d81e4210c
|
#canbus_uuid: 0e0d81e4210c
|
||||||
|
|
||||||
[adxl345]
|
[adxl345]
|
||||||
cs_pin: EBBCan: PB12
|
cs_pin: EBBCan:PB12
|
||||||
spi_bus: spi2
|
spi_bus: spi2
|
||||||
axes_map: x,y,z
|
axes_map: x,y,z
|
||||||
|
|
||||||
[extruder]
|
[extruder]
|
||||||
step_pin: EBBCan: PA9
|
step_pin: EBBCan:PA9
|
||||||
dir_pin: !EBBCan: PA8
|
dir_pin: !EBBCan:PA8
|
||||||
enable_pin: !EBBCan: PA10
|
enable_pin: !EBBCan:PA10
|
||||||
microsteps: 16
|
microsteps: 16
|
||||||
rotation_distance: 33.500
|
rotation_distance: 33.500
|
||||||
nozzle_diameter: 0.400
|
nozzle_diameter: 0.400
|
||||||
filament_diameter: 1.750
|
filament_diameter: 1.750
|
||||||
heater_pin: EBBCan: PB1
|
heater_pin: EBBCan:PB1
|
||||||
sensor_type: EPCOS 100K B57560G104F
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
sensor_pin: EBBCan: PA0
|
sensor_pin: EBBCan:PA0
|
||||||
control: pid
|
control: pid
|
||||||
pid_Kp: 21.527
|
pid_Kp: 21.527
|
||||||
pid_Ki: 1.063
|
pid_Ki: 1.063
|
||||||
@@ -33,22 +33,22 @@ min_temp: 0
|
|||||||
max_temp: 250
|
max_temp: 250
|
||||||
|
|
||||||
#sensor_type:MAX31865
|
#sensor_type:MAX31865
|
||||||
#sensor_pin: EBBCan: PA15
|
#sensor_pin: EBBCan:PA15
|
||||||
#spi_bus: spi1a
|
#spi_bus: spi1a
|
||||||
#rtd_nominal_r: 100
|
#rtd_nominal_r: 100
|
||||||
#rtd_reference_r: 430
|
#rtd_reference_r: 430
|
||||||
#rtd_num_of_wires: 2
|
#rtd_num_of_wires: 2
|
||||||
|
|
||||||
[tmc2209 extruder]
|
[tmc2209 extruder]
|
||||||
uart_pin: EBBCan: PA13
|
uart_pin: EBBCan:PA13
|
||||||
run_current: 0.650
|
run_current: 0.650
|
||||||
stealthchop_threshold: 999999
|
stealthchop_threshold: 999999
|
||||||
|
|
||||||
[fan]
|
[fan]
|
||||||
pin: EBBCan: PA1
|
pin: EBBCan:PA1
|
||||||
|
|
||||||
[heater_fan hotend_fan]
|
[heater_fan hotend_fan]
|
||||||
pin: EBBCan: PA2
|
pin: EBBCan:PA2
|
||||||
heater: extruder
|
heater: extruder
|
||||||
heater_temp: 50.0
|
heater_temp: 50.0
|
||||||
|
|
||||||
|
|||||||
@@ -10,23 +10,23 @@ serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
|
|||||||
#canbus_uuid: 0e0d81e4210c
|
#canbus_uuid: 0e0d81e4210c
|
||||||
|
|
||||||
[adxl345]
|
[adxl345]
|
||||||
cs_pin: EBBCan: PB12
|
cs_pin: EBBCan:PB12
|
||||||
spi_software_sclk_pin: EBBCan: PB10
|
spi_software_sclk_pin: EBBCan:PB10
|
||||||
spi_software_mosi_pin: EBBCan: PB11
|
spi_software_mosi_pin: EBBCan:PB11
|
||||||
spi_software_miso_pin: EBBCan: PB2
|
spi_software_miso_pin: EBBCan:PB2
|
||||||
axes_map: x,y,z
|
axes_map: x,y,z
|
||||||
|
|
||||||
[extruder]
|
[extruder]
|
||||||
step_pin: EBBCan: PD0
|
step_pin: EBBCan:PD0
|
||||||
dir_pin: !EBBCan: PD1
|
dir_pin: !EBBCan:PD1
|
||||||
enable_pin: !EBBCan: PD2
|
enable_pin: !EBBCan:PD2
|
||||||
microsteps: 16
|
microsteps: 16
|
||||||
rotation_distance: 33.500
|
rotation_distance: 33.500
|
||||||
nozzle_diameter: 0.400
|
nozzle_diameter: 0.400
|
||||||
filament_diameter: 1.750
|
filament_diameter: 1.750
|
||||||
heater_pin: EBBCan: PA2
|
heater_pin: EBBCan:PA2
|
||||||
sensor_type: EPCOS 100K B57560G104F
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
sensor_pin: EBBCan: PA3
|
sensor_pin: EBBCan:PA3
|
||||||
control: pid
|
control: pid
|
||||||
pid_Kp: 21.527
|
pid_Kp: 21.527
|
||||||
pid_Ki: 1.063
|
pid_Ki: 1.063
|
||||||
@@ -35,22 +35,22 @@ min_temp: 0
|
|||||||
max_temp: 250
|
max_temp: 250
|
||||||
|
|
||||||
# sensor_type:MAX31865
|
# sensor_type:MAX31865
|
||||||
# sensor_pin: EBBCan: PA4
|
# sensor_pin: EBBCan:PA4
|
||||||
# spi_bus: spi1
|
# spi_bus: spi1
|
||||||
# rtd_nominal_r: 100
|
# rtd_nominal_r: 100
|
||||||
# rtd_reference_r: 430
|
# rtd_reference_r: 430
|
||||||
# rtd_num_of_wires: 2
|
# rtd_num_of_wires: 2
|
||||||
|
|
||||||
[tmc2209 extruder]
|
[tmc2209 extruder]
|
||||||
uart_pin: EBBCan: PA15
|
uart_pin: EBBCan:PA15
|
||||||
run_current: 0.650
|
run_current: 0.650
|
||||||
stealthchop_threshold: 999999
|
stealthchop_threshold: 999999
|
||||||
|
|
||||||
[fan]
|
[fan]
|
||||||
pin: EBBCan: PA0
|
pin: EBBCan:PA0
|
||||||
|
|
||||||
[heater_fan hotend_fan]
|
[heater_fan hotend_fan]
|
||||||
pin: EBBCan: PA1
|
pin: EBBCan:PA1
|
||||||
heater: extruder
|
heater: extruder
|
||||||
heater_temp: 50.0
|
heater_temp: 50.0
|
||||||
|
|
||||||
|
|||||||
68
config/sample-bigtreetech-ebb-canbus-v1.2.cfg
Normal file
68
config/sample-bigtreetech-ebb-canbus-v1.2.cfg
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
# This file contains common pin mappings for the BIGTREETECH EBBCan
|
||||||
|
# Canbus board. To use this config, the firmware should be compiled for the
|
||||||
|
# STM32G0B1 with "8 MHz crystal" and "USB (on PA11/PA12)" or "CAN bus (on PB0/PB1)".
|
||||||
|
# The "EBB Can" micro-controller will be used to control the components on the nozzle.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[mcu EBBCan]
|
||||||
|
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
|
||||||
|
#canbus_uuid: 0e0d81e4210c
|
||||||
|
|
||||||
|
[adxl345]
|
||||||
|
cs_pin: EBBCan:PB12
|
||||||
|
spi_software_sclk_pin: EBBCan:PB10
|
||||||
|
spi_software_mosi_pin: EBBCan:PB11
|
||||||
|
spi_software_miso_pin: EBBCan:PB2
|
||||||
|
axes_map: x,y,z
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: EBBCan:PD0
|
||||||
|
dir_pin: !EBBCan:PD1
|
||||||
|
enable_pin: !EBBCan:PD2
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 33.500
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: EBBCan:PB13
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: EBBCan:PA3
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 21.527
|
||||||
|
pid_Ki: 1.063
|
||||||
|
pid_Kd: 108.982
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
# sensor_type:MAX31865
|
||||||
|
# sensor_pin: EBBCan:PA4
|
||||||
|
# spi_bus: spi1
|
||||||
|
# rtd_nominal_r: 100
|
||||||
|
# rtd_reference_r: 430
|
||||||
|
# rtd_num_of_wires: 2
|
||||||
|
|
||||||
|
[tmc2209 extruder]
|
||||||
|
uart_pin: EBBCan:PA15
|
||||||
|
run_current: 0.650
|
||||||
|
stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: EBBCan:PA0
|
||||||
|
|
||||||
|
[heater_fan hotend_fan]
|
||||||
|
pin: EBBCan:PA1
|
||||||
|
heater: extruder
|
||||||
|
heater_temp: 50.0
|
||||||
|
|
||||||
|
#[neopixel hotend_rgb]
|
||||||
|
#pin: EBBCan:PD3
|
||||||
|
|
||||||
|
#[bltouch]
|
||||||
|
#sensor_pin: ^EBBCan:PB8
|
||||||
|
#control_pin: EBBCan:PB9
|
||||||
|
|
||||||
|
#[filament_switch_sensor switch_sensor]
|
||||||
|
#switch_pin: EBBCan:PB4
|
||||||
|
|
||||||
|
#[filament_motion_sensor motion_sensor]
|
||||||
|
#switch_pin: ^EBBCan:PB3
|
||||||
84
config/sample-bigtreetech-ebb-sb-canbus-v1.0.cfg
Normal file
84
config/sample-bigtreetech-ebb-sb-canbus-v1.0.cfg
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
# This file contains common pin mappings for the BIGTREETECH EBBCan
|
||||||
|
# Canbus board. To use this config, the firmware should be compiled for the
|
||||||
|
# STM32G0B1 with "8 MHz crystal" and "USB (on PA11/PA12)" or "CAN bus (on PB0/PB1)".
|
||||||
|
# The "EBB Can" micro-controller will be used to control the components on the nozzle.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[mcu EBBCan]
|
||||||
|
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
|
||||||
|
#canbus_uuid: 0e0d81e4210c
|
||||||
|
|
||||||
|
[temperature_sensor EBB_NTC]
|
||||||
|
sensor_type: Generic 3950
|
||||||
|
sensor_pin: EBBCan:PA2
|
||||||
|
|
||||||
|
[adxl345]
|
||||||
|
cs_pin: EBBCan:PB12
|
||||||
|
spi_software_sclk_pin: EBBCan:PB10
|
||||||
|
spi_software_mosi_pin: EBBCan:PB11
|
||||||
|
spi_software_miso_pin: EBBCan:PB2
|
||||||
|
axes_map: x,y,z
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: EBBCan:PD0
|
||||||
|
dir_pin: !EBBCan:PD1
|
||||||
|
enable_pin: !EBBCan:PD2
|
||||||
|
microsteps: 16
|
||||||
|
rotation_distance: 33.500
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.750
|
||||||
|
heater_pin: EBBCan:PB13
|
||||||
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
|
sensor_pin: EBBCan:PA3
|
||||||
|
control: pid
|
||||||
|
pid_Kp: 21.527
|
||||||
|
pid_Ki: 1.063
|
||||||
|
pid_Kd: 108.982
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 250
|
||||||
|
|
||||||
|
# sensor_type:MAX31865
|
||||||
|
# sensor_pin: EBBCan:PA4
|
||||||
|
# spi_bus: spi1
|
||||||
|
# rtd_nominal_r: 100
|
||||||
|
# rtd_reference_r: 430
|
||||||
|
# rtd_num_of_wires: 2
|
||||||
|
|
||||||
|
[tmc2209 extruder]
|
||||||
|
uart_pin: EBBCan:PA15
|
||||||
|
run_current: 0.650
|
||||||
|
stealthchop_threshold: 999999
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: EBBCan:PA0
|
||||||
|
|
||||||
|
[heater_fan hotend_fan]
|
||||||
|
pin: EBBCan:PA1
|
||||||
|
heater: extruder
|
||||||
|
heater_temp: 50.0
|
||||||
|
|
||||||
|
#[heater_fan 4W_FAN0]
|
||||||
|
#pin: EBBCan:PB14
|
||||||
|
#tachometer_pin: EBBCan:PB15
|
||||||
|
#tachometer_ppr: 1
|
||||||
|
|
||||||
|
#[neopixel hotend_rgb]
|
||||||
|
#pin: EBBCan:PD3
|
||||||
|
|
||||||
|
#[bltouch]
|
||||||
|
#sensor_pin: ^EBBCan:PB8
|
||||||
|
#control_pin: EBBCan:PB9
|
||||||
|
|
||||||
|
## NPN and PNP proximity switch types can be set by jumper
|
||||||
|
#[probe]
|
||||||
|
#pin: ^EBBCan:PC13
|
||||||
|
|
||||||
|
#[output_pin PB5]
|
||||||
|
#pin: EBBCan:PB5
|
||||||
|
|
||||||
|
#[output_pin PB7]
|
||||||
|
#pin: EBBCan:PB7
|
||||||
|
|
||||||
|
#[output_pin PB6]
|
||||||
|
#pin: EBBCan:PB6
|
||||||
@@ -10,21 +10,21 @@ serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
|
|||||||
#canbus_uuid: 0e0d81e4210c
|
#canbus_uuid: 0e0d81e4210c
|
||||||
|
|
||||||
[adxl345]
|
[adxl345]
|
||||||
cs_pin: HermitCrab: PB12
|
cs_pin: HermitCrab:PB12
|
||||||
spi_bus: spi2
|
spi_bus: spi2
|
||||||
axes_map: y,z,-x
|
axes_map: y,z,-x
|
||||||
|
|
||||||
[extruder]
|
[extruder]
|
||||||
step_pin: HermitCrab: PA6
|
step_pin: HermitCrab:PA6
|
||||||
dir_pin: !HermitCrab: PA7
|
dir_pin: !HermitCrab:PA7
|
||||||
enable_pin: !HermitCrab: PA5
|
enable_pin: !HermitCrab:PA5
|
||||||
microsteps: 16
|
microsteps: 16
|
||||||
rotation_distance: 33.500
|
rotation_distance: 33.500
|
||||||
nozzle_diameter: 0.400
|
nozzle_diameter: 0.400
|
||||||
filament_diameter: 1.750
|
filament_diameter: 1.750
|
||||||
heater_pin: HermitCrab: PA2
|
heater_pin: HermitCrab:PA2
|
||||||
sensor_type: EPCOS 100K B57560G104F
|
sensor_type: EPCOS 100K B57560G104F
|
||||||
sensor_pin: HermitCrab: PA1
|
sensor_pin: HermitCrab:PA1
|
||||||
control: pid
|
control: pid
|
||||||
pid_Kp: 21.527
|
pid_Kp: 21.527
|
||||||
pid_Ki: 1.063
|
pid_Ki: 1.063
|
||||||
@@ -33,15 +33,15 @@ min_temp: 0
|
|||||||
max_temp: 250
|
max_temp: 250
|
||||||
|
|
||||||
[tmc2209 extruder]
|
[tmc2209 extruder]
|
||||||
uart_pin: HermitCrab: PB0
|
uart_pin: HermitCrab:PB0
|
||||||
run_current: 0.650
|
run_current: 0.650
|
||||||
stealthchop_threshold: 999999
|
stealthchop_threshold: 999999
|
||||||
|
|
||||||
[fan]
|
[fan]
|
||||||
pin: HermitCrab: PA4
|
pin: HermitCrab:PA4
|
||||||
|
|
||||||
[heater_fan hotend_fan]
|
[heater_fan hotend_fan]
|
||||||
pin: HermitCrab: PA3
|
pin: HermitCrab:PA3
|
||||||
heater: extruder
|
heater: extruder
|
||||||
heater_temp: 50.0
|
heater_temp: 50.0
|
||||||
|
|
||||||
|
|||||||
81
config/sample-duet3-1lc.cfg
Normal file
81
config/sample-duet3-1lc.cfg
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
# This file contains common pin mappings for the Duet3 1LC. To use
|
||||||
|
# this config, the firmware should be compiled for the SAMC21G18 with:
|
||||||
|
# Bootloader offset of "No Bootloader"
|
||||||
|
# Clock Reference of "25 Mhz crystal" if the board version is v1.1 or later
|
||||||
|
# Clock Reference of "12 Mhz crystal" if the board version is v1.0 or earlier
|
||||||
|
# Communication interface of "CAN bus (on PA25/PA24)"
|
||||||
|
|
||||||
|
# To flash the board use a debugger, or use a raspberry pi and follow
|
||||||
|
# the instructions at docs/Bootloaders.md fot the SAMC21. You may
|
||||||
|
# supply power to the 1LC by connecting the 3.3v rail on the Pi to the
|
||||||
|
# 5v input of the SWD header on the 1LC.
|
||||||
|
|
||||||
|
# See docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
|
||||||
|
# Pins for reference, v1.3 board:
|
||||||
|
# Driver Step Pin - PA27
|
||||||
|
# Driver Dir Pin - PA28
|
||||||
|
# Driver Enable - !PB2
|
||||||
|
# Thermistor Pins - TEMP0:PB9 TEMP1:PA2
|
||||||
|
# Pullup Resistor - 2200
|
||||||
|
# Vssa Sense:PA6 | Vref Sense:PA7
|
||||||
|
# Current Sense resistor for drivers - 0.091ohm
|
||||||
|
# CAN Pins - CAN0_TX:PA24 CAN0_RX:PA25
|
||||||
|
# Heaters - OUT_0:PA11
|
||||||
|
# Fan outputs - OUT_1:PA10 OUT_2:PB11
|
||||||
|
# Tach Pins for Fans - OUT_1_TACHO:PA13 OUT_2_TACHO:PB10
|
||||||
|
# GPIO_out - IO0:PA12
|
||||||
|
# GPIO_in - IO0:PA9 IO1:PA21 IO2:PA18
|
||||||
|
# Driver Diag - 0:PB3
|
||||||
|
|
||||||
|
[adc_scaled toolboard_vref_scaled]
|
||||||
|
vref_pin: toolboard:PA7
|
||||||
|
vssa_pin: toolboard:PA6
|
||||||
|
|
||||||
|
[extruder]
|
||||||
|
step_pin: toolboard:PA27
|
||||||
|
dir_pin: toolboard:PA28
|
||||||
|
enable_pin: !toolboard:PB2
|
||||||
|
rotation_distance: 23.1336867485061
|
||||||
|
gear_ratio: 50:10
|
||||||
|
microsteps: 64
|
||||||
|
full_steps_per_rotation: 200
|
||||||
|
nozzle_diameter: 0.400
|
||||||
|
filament_diameter: 1.75
|
||||||
|
heater_pin: toolboard:PA11
|
||||||
|
sensor_type: PT1000
|
||||||
|
sensor_pin: toolboard_vref_scaled:PB9
|
||||||
|
pullup_resistor: 2200
|
||||||
|
min_temp: 0
|
||||||
|
max_temp: 280
|
||||||
|
max_power: 1.0
|
||||||
|
control: pid
|
||||||
|
pwm_cycle_time: 0.01666
|
||||||
|
pid_Kp: 26.454
|
||||||
|
pid_Ki: 1.357
|
||||||
|
pid_Kd: 128.955
|
||||||
|
|
||||||
|
[tmc2209 extruder]
|
||||||
|
uart_pin: toolboard:PA20
|
||||||
|
tx_pin: toolboard:PA22
|
||||||
|
interpolate: False
|
||||||
|
run_current: 0.35
|
||||||
|
sense_resistor: 0.091
|
||||||
|
|
||||||
|
[fan]
|
||||||
|
pin: toolboard:PA10
|
||||||
|
tachometer_pin: toolboard:PA13
|
||||||
|
|
||||||
|
[heater_fan hotend_fan]
|
||||||
|
pin: toolboard:PB11
|
||||||
|
tachometer_pin: toolboard:PB10
|
||||||
|
heater: extruder
|
||||||
|
heater_temp: 50.0
|
||||||
|
|
||||||
|
[probe]
|
||||||
|
pin: toolboard:PA9
|
||||||
|
z_offset: 20
|
||||||
|
|
||||||
|
[mcu toolboard]
|
||||||
|
canbus_uuid: 4b194673554e
|
||||||
@@ -19,15 +19,15 @@ canbus_uuid: ac20f0bbda05
|
|||||||
# ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
|
# ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
|
||||||
|
|
||||||
[extruder]
|
[extruder]
|
||||||
step_pin: huvud: PB3
|
step_pin: huvud:PB3
|
||||||
dir_pin: huvud: PB4
|
dir_pin: huvud:PB4
|
||||||
enable_pin: !huvud: PB5
|
enable_pin: !huvud:PB5
|
||||||
rotation_distance: 22.52453125
|
rotation_distance: 22.52453125
|
||||||
nozzle_diameter: 0.400
|
nozzle_diameter: 0.400
|
||||||
filament_diameter: 1.75
|
filament_diameter: 1.75
|
||||||
heater_pin: huvud: PA6
|
heater_pin: huvud:PA6
|
||||||
sensor_type: NTC 100K MGB18-104F39050L32
|
sensor_type: NTC 100K MGB18-104F39050L32
|
||||||
sensor_pin: huvud: PA0
|
sensor_pin: huvud:PA0
|
||||||
pullup_resistor: 2200
|
pullup_resistor: 2200
|
||||||
min_temp: 0
|
min_temp: 0
|
||||||
max_temp: 300
|
max_temp: 300
|
||||||
@@ -37,22 +37,22 @@ pid_ki: 1.304
|
|||||||
pid_kd: 131.721
|
pid_kd: 131.721
|
||||||
|
|
||||||
[tmc2209 extruder]
|
[tmc2209 extruder]
|
||||||
uart_pin: huvud: PA10
|
uart_pin: huvud:PA10
|
||||||
tx_pin: huvud: PA9
|
tx_pin: huvud:PA9
|
||||||
run_current: 0.35
|
run_current: 0.35
|
||||||
|
|
||||||
[probe]
|
[probe]
|
||||||
pin: huvud: PB12
|
pin: huvud:PB12
|
||||||
z_offset: 0
|
z_offset: 0
|
||||||
|
|
||||||
[fan]
|
[fan]
|
||||||
pin: huvud: PA8
|
pin: huvud:PA8
|
||||||
|
|
||||||
[heater_fan extruder_fan]
|
[heater_fan extruder_fan]
|
||||||
pin: huvud: PA7
|
pin: huvud:PA7
|
||||||
|
|
||||||
[adxl345]
|
[adxl345]
|
||||||
cs_pin: PB1
|
cs_pin: PB1
|
||||||
|
|
||||||
[led huvud_led]
|
[led huvud_led]
|
||||||
blue_pin: huvud: PC13
|
blue_pin: huvud:PC13
|
||||||
|
|||||||
@@ -62,6 +62,8 @@ endstop_pin: ^ar2
|
|||||||
position_endstop: 200
|
position_endstop: 200
|
||||||
position_max: 200
|
position_max: 200
|
||||||
homing_speed: 50
|
homing_speed: 50
|
||||||
|
# A minimum distance between the carriages to enforce
|
||||||
|
safe_distance: 40
|
||||||
|
|
||||||
[extruder1]
|
[extruder1]
|
||||||
step_pin: ar36
|
step_pin: ar36
|
||||||
@@ -94,3 +96,37 @@ gcode:
|
|||||||
ACTIVATE_EXTRUDER EXTRUDER=extruder1
|
ACTIVATE_EXTRUDER EXTRUDER=extruder1
|
||||||
SET_DUAL_CARRIAGE CARRIAGE=1
|
SET_DUAL_CARRIAGE CARRIAGE=1
|
||||||
SET_GCODE_OFFSET Y=15
|
SET_GCODE_OFFSET Y=15
|
||||||
|
|
||||||
|
# A helper script to activate copy mode
|
||||||
|
[gcode_macro ACTIVATE_COPY_MODE]
|
||||||
|
gcode:
|
||||||
|
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
|
||||||
|
G1 X0
|
||||||
|
ACTIVATE_EXTRUDER EXTRUDER=extruder
|
||||||
|
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
|
||||||
|
G1 X100
|
||||||
|
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
|
||||||
|
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
|
||||||
|
|
||||||
|
# A helper script to activate mirror mode
|
||||||
|
[gcode_macro ACTIVATE_MIRROR_MODE]
|
||||||
|
gcode:
|
||||||
|
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
|
||||||
|
G1 X0
|
||||||
|
ACTIVATE_EXTRUDER EXTRUDER=extruder
|
||||||
|
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
|
||||||
|
G1 X200
|
||||||
|
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=MIRROR
|
||||||
|
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
|
||||||
|
|
||||||
|
## An optional input shaper support
|
||||||
|
#[input_shaper]
|
||||||
|
## The section is intentionally empty
|
||||||
|
#
|
||||||
|
#[delayed_gcode init_shaper]
|
||||||
|
#initial_duration: 0.1
|
||||||
|
#gcode:
|
||||||
|
# SET_DUAL_CARRIAGE CARRIAGE=1
|
||||||
|
# SET_INPUT_SHAPER SHAPER_TYPE_X=<dual_carriage_shaper> SHAPER_FREQ_X=<dual_carriage_freq> SHAPER_TYPE_Y=<y_shaper> SHAPER_FREQ_Y=<y_freq>
|
||||||
|
# SET_DUAL_CARRIAGE CARRIAGE=0
|
||||||
|
# SET_INPUT_SHAPER SHAPER_TYPE_X=<primary_carriage_shaper> SHAPER_FREQ_X=<primary_carriage_freq> SHAPER_TYPE_Y=<y_shaper> SHAPER_FREQ_Y=<y_freq>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
# Replace the slicer's custom start and end g-code scripts with
|
# Replace the slicer's custom start and end g-code scripts with
|
||||||
# START_PRINT and END_PRINT.
|
# START_PRINT and END_PRINT. See docs/Slicers.md for more information on using these macros.
|
||||||
|
|
||||||
[gcode_macro START_PRINT]
|
[gcode_macro START_PRINT]
|
||||||
gcode:
|
gcode:
|
||||||
@@ -261,3 +261,50 @@ gcode:
|
|||||||
{% if 'U' in params %}
|
{% if 'U' in params %}
|
||||||
EXCLUDE_OBJECT RESET=1 NAME={params.U}
|
EXCLUDE_OBJECT RESET=1 NAME={params.U}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
######################################################################
|
||||||
|
# G130: Set digital potentiometer value
|
||||||
|
######################################################################
|
||||||
|
|
||||||
|
# The macro below uses the MCP4018 SET_DIGIPOT command to implement
|
||||||
|
# a `G130` as used on classic Mightyboard-based printers such as
|
||||||
|
# The Makerbot Replicator 2/2X.
|
||||||
|
#
|
||||||
|
# The `G130` command can be used to lower the stepper current
|
||||||
|
# during preheating and raise the current again prior to starting
|
||||||
|
# the print. This is necessary for printers with smaller power
|
||||||
|
# supplies that needed all the power to heat the bed.
|
||||||
|
#
|
||||||
|
# This macro requires one or more [mcp4018] configuration sections:
|
||||||
|
# (x_axis_pot, y_axis_pot, z_axis_pot, a_axis_pot, b_axis_pot)
|
||||||
|
#
|
||||||
|
# Example: G130 X20 Y20 Z20 A20 B20 ; Lower stepper Vrefs while heating
|
||||||
|
|
||||||
|
[gcode_macro G130]
|
||||||
|
gcode:
|
||||||
|
M400
|
||||||
|
{% if ('X' in params) and ('mcp4018 x_axis_pot' in printer.configfile.config) %}
|
||||||
|
{% set x_value = params['X']|float %}
|
||||||
|
{% set x_axis_pot_scale = printer.configfile.config["mcp4018 x_axis_pot"].scale|float %}
|
||||||
|
SET_DIGIPOT DIGIPOT=x_axis_pot WIPER={ x_axis_pot_scale * (x_value / 127.0)}
|
||||||
|
{% endif %}
|
||||||
|
{% if ('Y' in params) and ('mcp4018 y_axis_pot' in printer.configfile.config) %}
|
||||||
|
{% set y_value = params['Y']|float %}
|
||||||
|
{% set y_axis_pot_scale = printer.configfile.config["mcp4018 y_axis_pot"].scale|float %}
|
||||||
|
SET_DIGIPOT DIGIPOT=y_axis_pot WIPER={ y_axis_pot_scale * (y_value / 127.0)}
|
||||||
|
{% endif %}
|
||||||
|
{% if ('Z' in params) and ('mcp4018 z_axis_pot' in printer.configfile.config) %}
|
||||||
|
{% set z_value = params['Z']|float %}
|
||||||
|
{% set z_axis_pot_scale = printer.configfile.config["mcp4018 z_axis_pot"].scale|float %}
|
||||||
|
SET_DIGIPOT DIGIPOT=z_axis_pot WIPER={ z_axis_pot_scale * (z_value / 127.0)}
|
||||||
|
{% endif %}
|
||||||
|
{% if ('A' in params) and ('mcp4018 a_axis_pot' in printer.configfile.config) %}
|
||||||
|
{% set a_value = params['A']|float %}
|
||||||
|
{% set a_axis_pot_scale = printer.configfile.config["mcp4018 a_axis_pot"].scale|float %}
|
||||||
|
SET_DIGIPOT DIGIPOT=a_axis_pot WIPER={ a_axis_pot_scale * (a_value / 127.0)}
|
||||||
|
{% endif %}
|
||||||
|
{% if ('B' in params) and ('mcp4018 b_axis_pot' in printer.configfile.config) %}
|
||||||
|
{% set b_value = params['B']|float %}
|
||||||
|
{% set b_axis_pot_scale = printer.configfile.config["mcp4018 b_axis_pot"].scale|float %}
|
||||||
|
SET_DIGIPOT DIGIPOT=b_axis_pot WIPER={ b_axis_pot_scale * (b_value / 127.0)}
|
||||||
|
{% endif %}
|
||||||
|
|||||||
@@ -2,9 +2,8 @@
|
|||||||
# such as a laser or spindle.
|
# such as a laser or spindle.
|
||||||
# See docs/Using_PWM_Tools.md for a more detailed description.
|
# See docs/Using_PWM_Tools.md for a more detailed description.
|
||||||
|
|
||||||
[output_pin TOOL]
|
[pwm_tool TOOL]
|
||||||
pin: !ar9 # use your fan's pin number
|
pin: !ar9 # use your fan's pin number
|
||||||
pwm: True
|
|
||||||
hardware_pwm: True
|
hardware_pwm: True
|
||||||
cycle_time: 0.001
|
cycle_time: 0.001
|
||||||
shutdown_value: 0
|
shutdown_value: 0
|
||||||
@@ -36,9 +35,9 @@ gcode:
|
|||||||
|
|
||||||
[menu __main __control __toolonoff]
|
[menu __main __control __toolonoff]
|
||||||
type: input
|
type: input
|
||||||
enable: {'output_pin TOOL' in printer}
|
enable: {'pwm_tool TOOL' in printer}
|
||||||
name: Fan: {'ON ' if menu.input else 'OFF'}
|
name: Fan: {'ON ' if menu.input else 'OFF'}
|
||||||
input: {printer['output_pin TOOL'].value}
|
input: {printer['pwm_tool TOOL'].value}
|
||||||
input_min: 0
|
input_min: 0
|
||||||
input_max: 1
|
input_max: 1
|
||||||
input_step: 1
|
input_step: 1
|
||||||
@@ -47,9 +46,9 @@ gcode:
|
|||||||
|
|
||||||
[menu __main __control __toolspeed]
|
[menu __main __control __toolspeed]
|
||||||
type: input
|
type: input
|
||||||
enable: {'output_pin TOOL' in printer}
|
enable: {'pwm_tool TOOL' in printer}
|
||||||
name: Tool speed: {'%3d' % (menu.input*100)}%
|
name: Tool speed: {'%3d' % (menu.input*100)}%
|
||||||
input: {printer['output_pin TOOL'].value}
|
input: {printer['pwm_tool TOOL'].value}
|
||||||
input_min: 0
|
input_min: 0
|
||||||
input_max: 1
|
input_max: 1
|
||||||
input_step: 0.01
|
input_step: 0.01
|
||||||
|
|||||||
50
docs/Axis_Twist_Compensation.md
Normal file
50
docs/Axis_Twist_Compensation.md
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
# Axis Twist Compensation
|
||||||
|
|
||||||
|
This document describes the [axis_twist_compensation] module.
|
||||||
|
|
||||||
|
Some printers may have a small twist in their X rail which can skew the results
|
||||||
|
of a probe attached to the X carriage.
|
||||||
|
This is common in printers with designs like the Prusa MK3, Sovol SV06 etc and is
|
||||||
|
further described under [probe location
|
||||||
|
bias](Probe_Calibrate.md#location-bias-check). It may result in
|
||||||
|
probe operations such as [Bed Mesh](Bed_Mesh.md),
|
||||||
|
[Screws Tilt Adjust](G-Codes.md#screws_tilt_adjust),
|
||||||
|
[Z Tilt Adjust](G-Codes.md#z_tilt_adjust) etc returning inaccurate
|
||||||
|
representations of the bed.
|
||||||
|
|
||||||
|
This module uses manual measurements by the user to correct the probe's results.
|
||||||
|
Note that if your axis is significantly twisted it is strongly recommended to
|
||||||
|
first use mechanical means to fix it prior to applying software corrections.
|
||||||
|
|
||||||
|
**Warning**: This module is not compatible with dockable probes yet and will
|
||||||
|
try to probe the bed without attaching the probe if you use it.
|
||||||
|
|
||||||
|
## Overview of compensation usage
|
||||||
|
|
||||||
|
> **Tip:** Make sure the [probe X and Y offsets](Config_Reference.md#probe) are
|
||||||
|
> correctly set as they greatly influence calibration.
|
||||||
|
|
||||||
|
1. After setting up the [axis_twist_compensation] module,
|
||||||
|
perform `AXIS_TWIST_COMPENSATION_CALIBRATE`
|
||||||
|
* The calibration wizard will prompt you to measure the probe Z offset at a few
|
||||||
|
points along the bed
|
||||||
|
* The calibration defaults to 3 points but you can use the option
|
||||||
|
`SAMPLE_COUNT=` to use a different number.
|
||||||
|
2. [Adjust your Z offset](Probe_Calibrate.md#calibrating-probe-z-offset)
|
||||||
|
3. Perform automatic/probe-based bed tramming operations, such as
|
||||||
|
[Screws Tilt Adjust](G-Codes.md#screws_tilt_adjust),
|
||||||
|
[Z Tilt Adjust](G-Codes.md#z_tilt_adjust) etc
|
||||||
|
4. Home all axis, then perform a [Bed Mesh](Bed_Mesh.md) if required
|
||||||
|
5. Perform a test print, followed by any
|
||||||
|
[fine-tuning](Axis_Twist_Compensation.md#fine-tuning) as desired
|
||||||
|
|
||||||
|
> **Tip:** Bed temperature and nozzle temperature and size do not seem to have
|
||||||
|
> an influence to the calibration process.
|
||||||
|
|
||||||
|
## [axis_twist_compensation] setup and commands
|
||||||
|
|
||||||
|
Configuration options for [axis_twist_compensation] can be found in the
|
||||||
|
[Configuration Reference](Config_Reference.md#axis_twist_compensation).
|
||||||
|
|
||||||
|
Commands for [axis_twist_compensation] can be found in the
|
||||||
|
[G-Codes Reference](G-Codes.md#axis_twist_compensation)
|
||||||
111
docs/Bed_Mesh.md
111
docs/Bed_Mesh.md
@@ -1,8 +1,8 @@
|
|||||||
# Bed Mesh
|
# Bed Mesh
|
||||||
|
|
||||||
The Bed Mesh module may be used to compensate for bed surface irregularties to
|
The Bed Mesh module may be used to compensate for bed surface irregularities
|
||||||
achieve a better first layer across the entire bed. It should be noted that
|
to achieve a better first layer across the entire bed. It should be noted
|
||||||
software based correction will not achieve perfect results, it can only
|
that software based correction will not achieve perfect results, it can only
|
||||||
approximate the shape of the bed. Bed Mesh also cannot compensate for
|
approximate the shape of the bed. Bed Mesh also cannot compensate for
|
||||||
mechanical and electrical issues. If an axis is skewed or a probe is not
|
mechanical and electrical issues. If an axis is skewed or a probe is not
|
||||||
accurate then the bed_mesh module will not receive accurate results from
|
accurate then the bed_mesh module will not receive accurate results from
|
||||||
@@ -46,7 +46,7 @@ probe_count: 5, 3
|
|||||||
_Required_\
|
_Required_\
|
||||||
The probed coordinate farthest farthest from the origin. This is not
|
The probed coordinate farthest farthest from the origin. This is not
|
||||||
necessarily the last point probed, as the probing process occurs in a
|
necessarily the last point probed, as the probing process occurs in a
|
||||||
zig-zag fashion. As with `mesh_min`, this coordiante is relative to
|
zig-zag fashion. As with `mesh_min`, this coordinate is relative to
|
||||||
the probe's location.
|
the probe's location.
|
||||||
|
|
||||||
- `probe_count: 5, 3`\
|
- `probe_count: 5, 3`\
|
||||||
@@ -101,7 +101,7 @@ round_probe_count: 5
|
|||||||
that the center of the mesh is probed.
|
that the center of the mesh is probed.
|
||||||
|
|
||||||
The illustration below shows how the probed points are generated. As you can see,
|
The illustration below shows how the probed points are generated. As you can see,
|
||||||
setting the `mesh_origin` to (-10, 0) allows us to specifiy a larger mesh radius
|
setting the `mesh_origin` to (-10, 0) allows us to specify a larger mesh radius
|
||||||
of 85.
|
of 85.
|
||||||
|
|
||||||

|

|
||||||
@@ -114,7 +114,7 @@ Each of the advanced options apply to round beds in the same manner.
|
|||||||
|
|
||||||
### Mesh Interpolation
|
### Mesh Interpolation
|
||||||
|
|
||||||
While its possible to sample the probed matrix directly using simple bilinear
|
While its possible to sample the probed matrix directly using simple bi-linear
|
||||||
interpolation to determine the Z-Values between probed points, it is often
|
interpolation to determine the Z-Values between probed points, it is often
|
||||||
useful to interpolate extra points using more advanced interpolation algorithms
|
useful to interpolate extra points using more advanced interpolation algorithms
|
||||||
to increase mesh density. These algorithms add curvature to the mesh,
|
to increase mesh density. These algorithms add curvature to the mesh,
|
||||||
@@ -142,7 +142,7 @@ bicubic_tension: 0.2
|
|||||||
integer pair, and also may be specified a single integer that is applied
|
integer pair, and also may be specified a single integer that is applied
|
||||||
to both axes. In this example there are 4 segments along the X axis
|
to both axes. In this example there are 4 segments along the X axis
|
||||||
and 2 segments along the Y axis. This evaluates to 8 interpolated
|
and 2 segments along the Y axis. This evaluates to 8 interpolated
|
||||||
points along X, 6 interpolated points along Y, which results in a 13x8
|
points along X, 6 interpolated points along Y, which results in a 13x9
|
||||||
mesh. Note that if mesh_pps is set to 0 then mesh interpolation is
|
mesh. Note that if mesh_pps is set to 0 then mesh interpolation is
|
||||||
disabled and the probed matrix will be sampled directly.
|
disabled and the probed matrix will be sampled directly.
|
||||||
|
|
||||||
@@ -207,7 +207,7 @@ split_delta_z: .025
|
|||||||
Generally the default values for these options are sufficient, in fact the
|
Generally the default values for these options are sufficient, in fact the
|
||||||
default value of 5mm for the `move_check_distance` may be overkill. However an
|
default value of 5mm for the `move_check_distance` may be overkill. However an
|
||||||
advanced user may wish to experiment with these options in an effort to squeeze
|
advanced user may wish to experiment with these options in an effort to squeeze
|
||||||
out the optimial first layer.
|
out the optimal first layer.
|
||||||
|
|
||||||
### Mesh Fade
|
### Mesh Fade
|
||||||
|
|
||||||
@@ -255,19 +255,24 @@ fade_target: 0
|
|||||||
example, lets assume your homing position on the bed is an outlier, its
|
example, lets assume your homing position on the bed is an outlier, its
|
||||||
.2 mm lower than the average probed height of the bed. If the `fade_target`
|
.2 mm lower than the average probed height of the bed. If the `fade_target`
|
||||||
is 0, fade will shrink the print by an average of .2 mm across the bed. By
|
is 0, fade will shrink the print by an average of .2 mm across the bed. By
|
||||||
setting the `fade_target` to .2, the homed area will expand by .2 mm, however
|
setting the `fade_target` to .2, the homed area will expand by .2 mm, however,
|
||||||
the rest of the bed will have an accurately sized. Generally its a good idea
|
the rest of the bed will be accurately sized. Generally its a good idea
|
||||||
to leave `fade_target` out of the configuration so the average height of the
|
to leave `fade_target` out of the configuration so the average height of the
|
||||||
mesh is used, however it may be desirable to manually adjust the fade target
|
mesh is used, however it may be desirable to manually adjust the fade target
|
||||||
if one wants to print on a specific portion of the bed.
|
if one wants to print on a specific portion of the bed.
|
||||||
|
|
||||||
### The Relative Reference Index
|
### Configuring the zero reference position
|
||||||
|
|
||||||
Most probes are suceptible to drift, ie: inaccuracies in probing introduced by
|
Many probes are susceptible to "drift", ie: inaccuracies in probing introduced
|
||||||
heat or interference. This can make calculating the probe's z-offset
|
by heat or interference. This can make calculating the probe's z-offset
|
||||||
challenging, particuarly at different bed temperatures. As such, some printers
|
challenging, particularly at different bed temperatures. As such, some
|
||||||
use an endstop for homing the Z axis, and a probe for calibrating the mesh.
|
printers use an endstop for homing the Z axis and a probe for calibrating the
|
||||||
These printers can benefit from configuring the relative reference index.
|
mesh. In this configuration it is possible offset the mesh so that the (X, Y)
|
||||||
|
`reference position` applies zero adjustment. The `reference postion` should
|
||||||
|
be the location on the bed where a
|
||||||
|
[Z_ENDSTOP_CALIBRATE](./Manual_Level#calibrating-a-z-endstop)
|
||||||
|
paper test is performed. The bed_mesh module provides the
|
||||||
|
`zero_reference_position` option for specifying this coordinate:
|
||||||
|
|
||||||
```
|
```
|
||||||
[bed_mesh]
|
[bed_mesh]
|
||||||
@@ -275,23 +280,45 @@ speed: 120
|
|||||||
horizontal_move_z: 5
|
horizontal_move_z: 5
|
||||||
mesh_min: 35, 6
|
mesh_min: 35, 6
|
||||||
mesh_max: 240, 198
|
mesh_max: 240, 198
|
||||||
|
zero_reference_position: 125, 110
|
||||||
probe_count: 5, 3
|
probe_count: 5, 3
|
||||||
relative_reference_index: 7
|
```
|
||||||
|
- `zero_reference_position: `\
|
||||||
|
_Default Value: None (disabled)_\
|
||||||
|
The `zero_reference_position` expects an (X, Y) coordinate matching that
|
||||||
|
of the `reference position` described above. If the coordinate lies within
|
||||||
|
the mesh then the mesh will be offset so the reference position applies zero
|
||||||
|
adjustment. If the coordinate lies outside of the mesh then the coordinate
|
||||||
|
will be probed after calibration, with the resulting z-value used as the
|
||||||
|
z-offset. Note that this coordinate must NOT be in a location specified as
|
||||||
|
a `faulty_region` if a probe is necessary.
|
||||||
|
|
||||||
|
#### The deprecated relative_reference_index
|
||||||
|
|
||||||
|
Existing configurations using the `relative_reference_index` option must be
|
||||||
|
updated to use the `zero_reference_position`. The response to the
|
||||||
|
[BED_MESH_OUTPUT PGP=1](#output) gcode command will include the (X, Y)
|
||||||
|
coordinate associated with the index; this position may be used as the value for
|
||||||
|
the `zero_reference_position`. The output will look similar to the following:
|
||||||
|
|
||||||
|
```
|
||||||
|
// bed_mesh: generated points
|
||||||
|
// Index | Tool Adjusted | Probe
|
||||||
|
// 0 | (1.0, 1.0) | (24.0, 6.0)
|
||||||
|
// 1 | (36.7, 1.0) | (59.7, 6.0)
|
||||||
|
// 2 | (72.3, 1.0) | (95.3, 6.0)
|
||||||
|
// 3 | (108.0, 1.0) | (131.0, 6.0)
|
||||||
|
... (additional generated points)
|
||||||
|
// bed_mesh: relative_reference_index 24 is (131.5, 108.0)
|
||||||
```
|
```
|
||||||
|
|
||||||
- `relative_reference_index: 7`\
|
_Note: The above output is also printed in `klippy.log` during initialization._
|
||||||
_Default Value: None (disabled)_\
|
|
||||||
When the probed points are generated they are each assigned an index. You
|
Using the example above we see that the `relative_reference_index` is
|
||||||
can look up this index in klippy.log or by using BED_MESH_OUTPUT (see the
|
printed along with its coordinate. Thus the `zero_reference_position`
|
||||||
section on Bed Mesh GCodes below for more information). If you assign an
|
is `131.5, 108`.
|
||||||
index to the `relative_reference_index` option, the value probed at this
|
|
||||||
coordinate will replace the probe's z_offset. This effectively makes
|
|
||||||
this coordinate the "zero" reference for the mesh.
|
|
||||||
|
|
||||||
When using the relative reference index, you should choose the index nearest
|
|
||||||
to the spot on the bed where Z endstop calibration was done. Note that
|
|
||||||
when looking up the index using the log or BED_MESH_OUTPUT, you should use
|
|
||||||
the coordinates listed under the "Probe" header to find the correct index.
|
|
||||||
|
|
||||||
### Faulty Regions
|
### Faulty Regions
|
||||||
|
|
||||||
@@ -371,12 +398,12 @@ following parameters are available:
|
|||||||
- `MESH_ORIGIN`
|
- `MESH_ORIGIN`
|
||||||
- `ROUND_PROBE_COUNT`
|
- `ROUND_PROBE_COUNT`
|
||||||
- All beds:
|
- All beds:
|
||||||
- `RELATIVE_REFERNCE_INDEX`
|
|
||||||
- `ALGORITHM`
|
- `ALGORITHM`
|
||||||
|
|
||||||
See the configuration documentation above for details on how each parameter
|
See the configuration documentation above for details on how each parameter
|
||||||
applies to the mesh.
|
applies to the mesh.
|
||||||
|
|
||||||
|
|
||||||
### Profiles
|
### Profiles
|
||||||
|
|
||||||
`BED_MESH_PROFILE SAVE=<name> LOAD=<name> REMOVE=<name>`
|
`BED_MESH_PROFILE SAVE=<name> LOAD=<name> REMOVE=<name>`
|
||||||
@@ -390,15 +417,33 @@ to write the profile to printer.cfg.
|
|||||||
Profiles can be loaded by executing `BED_MESH_PROFILE LOAD=<name>`.
|
Profiles can be loaded by executing `BED_MESH_PROFILE LOAD=<name>`.
|
||||||
|
|
||||||
It should be noted that each time a BED_MESH_CALIBRATE occurs, the current
|
It should be noted that each time a BED_MESH_CALIBRATE occurs, the current
|
||||||
state is automatically saved to the _default_ profile. If this profile
|
state is automatically saved to the _default_ profile. The _default_ profile can be removed as follows:
|
||||||
exists it is automatically loaded when Klipper starts. If this behavior
|
|
||||||
is not desirable the _default_ profile can be removed as follows:
|
|
||||||
|
|
||||||
`BED_MESH_PROFILE REMOVE=default`
|
`BED_MESH_PROFILE REMOVE=default`
|
||||||
|
|
||||||
Any other saved profile can be removed in the same fashion, replacing
|
Any other saved profile can be removed in the same fashion, replacing
|
||||||
_default_ with the named profile you wish to remove.
|
_default_ with the named profile you wish to remove.
|
||||||
|
|
||||||
|
|
||||||
|
#### Loading the default profile
|
||||||
|
|
||||||
|
Previous versions of `bed_mesh` always loaded the profile named _default_
|
||||||
|
on startup if it was present. This behavior has been removed in favor of
|
||||||
|
allowing the user to determine when a profile is loaded. If a user wishes to
|
||||||
|
load the `default` profile it is recommended to add
|
||||||
|
`BED_MESH_PROFILE LOAD=default` to either their `START_PRINT` macro or their
|
||||||
|
slicer's "Start G-Code" configuration, whichever is applicable.
|
||||||
|
|
||||||
|
Alternatively the old behavior of loading a profile at startup can be
|
||||||
|
restored with a `[delayed_gcode]`:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
[delayed_gcode bed_mesh_init]
|
||||||
|
initial_duration: .01
|
||||||
|
gcode:
|
||||||
|
BED_MESH_PROFILE LOAD=default
|
||||||
|
```
|
||||||
|
|
||||||
### Output
|
### Output
|
||||||
|
|
||||||
`BED_MESH_OUTPUT PGP=[0 | 1]`
|
`BED_MESH_OUTPUT PGP=[0 | 1]`
|
||||||
|
|||||||
@@ -248,6 +248,26 @@ results were obtained by running an STM32F407 binary on an STM32F446
|
|||||||
| 1 stepper | 46 |
|
| 1 stepper | 46 |
|
||||||
| 3 stepper | 205 |
|
| 3 stepper | 205 |
|
||||||
|
|
||||||
|
### STM32H7 step rate benchmark
|
||||||
|
|
||||||
|
The following configuration sequence is used on a STM32H743VIT6:
|
||||||
|
```
|
||||||
|
allocate_oids count=3
|
||||||
|
config_stepper oid=0 step_pin=PD4 dir_pin=PD3 invert_step=-1 step_pulse_ticks=0
|
||||||
|
config_stepper oid=1 step_pin=PA15 dir_pin=PA8 invert_step=-1 step_pulse_ticks=0
|
||||||
|
config_stepper oid=2 step_pin=PE2 dir_pin=PE3 invert_step=-1 step_pulse_ticks=0
|
||||||
|
finalize_config crc=0
|
||||||
|
```
|
||||||
|
|
||||||
|
The test was last run on commit `00191b5c` with gcc version
|
||||||
|
`arm-none-eabi-gcc (15:8-2019-q3-1+b1) 8.3.1 20190703 (release)
|
||||||
|
[gcc-8-branch revision 273027]`.
|
||||||
|
|
||||||
|
| stm32h7 | ticks |
|
||||||
|
| -------------------- | ----- |
|
||||||
|
| 1 stepper | 44 |
|
||||||
|
| 3 stepper | 198 |
|
||||||
|
|
||||||
### STM32G0B1 step rate benchmark
|
### STM32G0B1 step rate benchmark
|
||||||
|
|
||||||
The following configuration sequence is used on the STM32G0B1:
|
The following configuration sequence is used on the STM32G0B1:
|
||||||
@@ -334,6 +354,27 @@ micro-controller.
|
|||||||
| 1 stepper (200Mhz) | 39 |
|
| 1 stepper (200Mhz) | 39 |
|
||||||
| 3 stepper (200Mhz) | 181 |
|
| 3 stepper (200Mhz) | 181 |
|
||||||
|
|
||||||
|
### AR100 step rate benchmark ###
|
||||||
|
|
||||||
|
The following configuration sequence is used on AR100 CPU (Allwinner A64):
|
||||||
|
```
|
||||||
|
allocate_oids count=3
|
||||||
|
config_stepper oid=0 step_pin=PL10 dir_pin=PE14 invert_step=-1 step_pulse_ticks=0
|
||||||
|
config_stepper oid=1 step_pin=PL11 dir_pin=PE15 invert_step=-1 step_pulse_ticks=0
|
||||||
|
config_stepper oid=2 step_pin=PL12 dir_pin=PE16 invert_step=-1 step_pulse_ticks=0
|
||||||
|
finalize_config crc=0
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
The test was last run on commit `08d037c6` with gcc version
|
||||||
|
`or1k-linux-musl-gcc (GCC) 9.2.0` on an Allwinner A64-H
|
||||||
|
micro-controller.
|
||||||
|
|
||||||
|
| AR100 R_PIO | ticks |
|
||||||
|
| -------------------- | ----- |
|
||||||
|
| 1 stepper | 85 |
|
||||||
|
| 3 stepper | 359 |
|
||||||
|
|
||||||
### RP2040 step rate benchmark
|
### RP2040 step rate benchmark
|
||||||
|
|
||||||
The following configuration sequence is used on the RP2040:
|
The following configuration sequence is used on the RP2040:
|
||||||
@@ -405,6 +446,7 @@ hub.
|
|||||||
| atmega2560 (serial) | 23K | b161a69e | avr-gcc (GCC) 4.8.1 |
|
| atmega2560 (serial) | 23K | b161a69e | avr-gcc (GCC) 4.8.1 |
|
||||||
| sam3x8e (serial) | 23K | b161a69e | arm-none-eabi-gcc (Fedora 7.1.0-5.fc27) 7.1.0 |
|
| sam3x8e (serial) | 23K | b161a69e | arm-none-eabi-gcc (Fedora 7.1.0-5.fc27) 7.1.0 |
|
||||||
| at90usb1286 (USB) | 75K | 01d2183f | avr-gcc (GCC) 5.4.0 |
|
| at90usb1286 (USB) | 75K | 01d2183f | avr-gcc (GCC) 5.4.0 |
|
||||||
|
| ar100 (serial) | 138K | 08d037c6 | or1k-linux-musl-gcc 9.3.0 |
|
||||||
| samd21 (USB) | 223K | 01d2183f | arm-none-eabi-gcc (Fedora 7.4.0-1.fc30) 7.4.0 |
|
| samd21 (USB) | 223K | 01d2183f | arm-none-eabi-gcc (Fedora 7.4.0-1.fc30) 7.4.0 |
|
||||||
| pru (shared memory) | 260K | c5968a08 | pru-gcc (GCC) 8.0.0 20170530 (experimental) |
|
| pru (shared memory) | 260K | c5968a08 | pru-gcc (GCC) 8.0.0 20170530 (experimental) |
|
||||||
| stm32f103 (USB) | 355K | 01d2183f | arm-none-eabi-gcc (Fedora 7.4.0-1.fc30) 7.4.0 |
|
| stm32f103 (USB) | 355K | 01d2183f | arm-none-eabi-gcc (Fedora 7.4.0-1.fc30) 7.4.0 |
|
||||||
|
|||||||
125
docs/Bootloader_Entry.md
Normal file
125
docs/Bootloader_Entry.md
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
# Bootloader Entry
|
||||||
|
|
||||||
|
Klipper can be instructed to reboot into a [Bootloader](Bootloaders.md) in one
|
||||||
|
of the following ways:
|
||||||
|
|
||||||
|
## Requesting the bootloader
|
||||||
|
|
||||||
|
### Virtual Serial
|
||||||
|
|
||||||
|
If a virtual (USB-ACM) serial port is in use, pulsing DTR while at 1200 baud
|
||||||
|
will request the bootloader.
|
||||||
|
|
||||||
|
#### Python (with `flash_usb`)
|
||||||
|
|
||||||
|
To enter the bootloader using python (using `flash_usb`):
|
||||||
|
|
||||||
|
```shell
|
||||||
|
> cd klipper/scripts
|
||||||
|
> python3 -c 'import flash_usb as u; u.enter_bootloader("<DEVICE>")'
|
||||||
|
Entering bootloader on <DEVICE>
|
||||||
|
```
|
||||||
|
|
||||||
|
Where `<DEVICE>` is your serial device, such as
|
||||||
|
`/dev/serial.by-id/usb-Klipper[...]` or `/dev/ttyACM0`
|
||||||
|
|
||||||
|
Note that if this fails, no output will be printed, success is indicated by
|
||||||
|
printing `Entering bootloader on <DEVICE>`.
|
||||||
|
|
||||||
|
#### Picocom
|
||||||
|
|
||||||
|
```shell
|
||||||
|
picocom -b 1200 <DEVICE>
|
||||||
|
<Ctrl-A><Ctrl-P>
|
||||||
|
```
|
||||||
|
|
||||||
|
Where `<DEVICE>` is your serial device, such as
|
||||||
|
`/dev/serial.by-id/usb-Klipper[...]` or `/dev/ttyACM0`
|
||||||
|
|
||||||
|
`<Ctrl-A><Ctrl-P>` means
|
||||||
|
holding `Ctrl`, pressing and releasing `a`, pressing and releasing `p`, then
|
||||||
|
releasing `Ctrl`
|
||||||
|
|
||||||
|
### Physical serial
|
||||||
|
|
||||||
|
If a physical serial port is being used on the MCU (even if a USB serial adapter
|
||||||
|
is being used to connect to it), sending the string
|
||||||
|
`<SPACE><FS><SPACE>Request Serial Bootloader!!<SPACE>~` requests the bootloader.
|
||||||
|
|
||||||
|
`<SPACE>` is an ASCII literal space, 0x20.
|
||||||
|
|
||||||
|
`<FS>` is the ASCII File Separator,
|
||||||
|
0x1c.
|
||||||
|
|
||||||
|
Note that this is not a valid message as per the
|
||||||
|
[MCU Protocol](Protocol.md#micro-controller-interface), but sync characters(`~`)
|
||||||
|
are still respected.
|
||||||
|
|
||||||
|
Because this message must be the only thing in the "block"
|
||||||
|
it is received in, prefixing an extra sync character can increase reliability if
|
||||||
|
other tools were previously accessing the serial port.
|
||||||
|
|
||||||
|
#### Shell
|
||||||
|
|
||||||
|
```shell
|
||||||
|
stty <BAUD> < /dev/<DEVICE>
|
||||||
|
echo $'~ \x1c Request Serial Bootloader!! ~' >> /dev/<DEVICE>
|
||||||
|
```
|
||||||
|
|
||||||
|
Where `<DEVICE>` is your serial port, such as `/dev/ttyS0`, or
|
||||||
|
`/dev/serial/by-id/gpio-serial2`, and
|
||||||
|
|
||||||
|
`<BAUD>` is the baud rate of the serial
|
||||||
|
port, such as `115200`.
|
||||||
|
|
||||||
|
### CANBUS
|
||||||
|
|
||||||
|
If CANBUS is in use, a special
|
||||||
|
[admin message](CANBUS_protocol.md#admin-messages) will request the bootloader.
|
||||||
|
This message will be respected even if the device already has a nodeid, and will
|
||||||
|
also be processed if the mcu is shutdown.
|
||||||
|
|
||||||
|
This method also applies to devices operating in
|
||||||
|
[CANBridge](CANBUS.md#usb-to-can-bus-bridge-mode) mode.
|
||||||
|
|
||||||
|
#### Katapult's flashtool.py
|
||||||
|
|
||||||
|
```shell
|
||||||
|
python3 ./katapult/scripts/flashtool.py -i <CAN_IFACE> -u <UUID> -r
|
||||||
|
```
|
||||||
|
|
||||||
|
Where `<CAN_IFACE>` is the can interface to use. If using `can0`, both the `-i`
|
||||||
|
and `<CAN_IFACE>` may be omitted.
|
||||||
|
|
||||||
|
`<UUID>` is the UUID of your CAN device.
|
||||||
|
|
||||||
|
See the
|
||||||
|
[CANBUS Documentation](CANBUS.md#finding-the-canbus_uuid-for-new-micro-controllers)
|
||||||
|
for information on finding the CAN UUID of your devices.
|
||||||
|
|
||||||
|
## Entering the bootloader
|
||||||
|
|
||||||
|
When klipper receives one of the above bootloader requests:
|
||||||
|
|
||||||
|
If Katapult (formerly known as CANBoot) is available, klipper will request that
|
||||||
|
Katapult stay active on the next boot, then reset the MCU (therefore entering
|
||||||
|
Katapult).
|
||||||
|
|
||||||
|
If Katapult is not available, klipper will then try to enter a
|
||||||
|
platform-specific bootloader, such as STM32's DFU
|
||||||
|
mode([see note](#stm32-dfu-warning)).
|
||||||
|
|
||||||
|
In short, Klipper will reboot to Katapult if installed, then a hardware specific
|
||||||
|
bootloader if available.
|
||||||
|
|
||||||
|
For details about the specific bootloaders on various platforms see
|
||||||
|
[Bootloaders](Bootloaders.md)
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
### STM32 DFU Warning
|
||||||
|
|
||||||
|
Note that on some boards, like the Octopus Pro v1, entering DFU mode can cause
|
||||||
|
undesired actions (such as powering the heater while in DFU mode). It is
|
||||||
|
recommended to disconnect heaters, and otherwise prevent undesired operations
|
||||||
|
when using DFU mode. Consult the documentation for your board for more details.
|
||||||
@@ -185,6 +185,50 @@ To flash an application use something like:
|
|||||||
bossac --port=/dev/ttyACM0 -b -U -e -w -v -R out/klipper.bin
|
bossac --port=/dev/ttyACM0 -b -U -e -w -v -R out/klipper.bin
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## SAMDC21 micro-controllers (Duet3D Toolboard 1LC)
|
||||||
|
|
||||||
|
The SAMC21 is flashed via the ARM Serial Wire Debug (SWD) interface.
|
||||||
|
This is commonly done with a dedicated SWD hardware dongle.
|
||||||
|
Alternatively, one can use a
|
||||||
|
[Raspberry Pi with OpenOCD](#running-openocd-on-the-raspberry-pi).
|
||||||
|
|
||||||
|
When using OpenOCD with the SAMC21, extra steps must be taken to first
|
||||||
|
put the chip into Cold Plugging mode if the board makes use of the
|
||||||
|
SWD pins for other purposes. If using OpenOCD on a Rasberry Pi, this
|
||||||
|
can be done by running the following commands before invoking OpenOCD.
|
||||||
|
```
|
||||||
|
SWCLK=25
|
||||||
|
SWDIO=24
|
||||||
|
SRST=18
|
||||||
|
|
||||||
|
echo "Exporting SWCLK and SRST pins."
|
||||||
|
echo $SWCLK > /sys/class/gpio/export
|
||||||
|
echo $SRST > /sys/class/gpio/export
|
||||||
|
echo "out" > /sys/class/gpio/gpio$SWCLK/direction
|
||||||
|
echo "out" > /sys/class/gpio/gpio$SRST/direction
|
||||||
|
|
||||||
|
echo "Setting SWCLK low and pulsing SRST."
|
||||||
|
echo "0" > /sys/class/gpio/gpio$SWCLK/value
|
||||||
|
echo "0" > /sys/class/gpio/gpio$SRST/value
|
||||||
|
echo "1" > /sys/class/gpio/gpio$SRST/value
|
||||||
|
|
||||||
|
echo "Unexporting SWCLK and SRST pins."
|
||||||
|
echo $SWCLK > /sys/class/gpio/unexport
|
||||||
|
echo $SRST > /sys/class/gpio/unexport
|
||||||
|
```
|
||||||
|
|
||||||
|
To flash a program with OpenOCD use the following chip config:
|
||||||
|
```
|
||||||
|
source [find target/at91samdXX.cfg]
|
||||||
|
```
|
||||||
|
Obtain a program; for instance, klipper can be built for this chip.
|
||||||
|
Flash with OpenOCD commands similar to:
|
||||||
|
```
|
||||||
|
at91samd chip-erase
|
||||||
|
at91samd bootloader 0
|
||||||
|
program out/klipper.elf verify
|
||||||
|
```
|
||||||
|
|
||||||
## SAMD21 micro-controllers (Arduino Zero)
|
## SAMD21 micro-controllers (Arduino Zero)
|
||||||
|
|
||||||
The SAMD21 bootloader is flashed via the ARM Serial Wire Debug (SWD)
|
The SAMD21 bootloader is flashed via the ARM Serial Wire Debug (SWD)
|
||||||
@@ -305,7 +349,7 @@ is a [fork with builds specific to the SKR Mini E3 1.2](
|
|||||||
https://github.com/Arksine/STM32_HID_Bootloader/releases/latest).
|
https://github.com/Arksine/STM32_HID_Bootloader/releases/latest).
|
||||||
|
|
||||||
For generic STM32F103 boards such as the blue pill it is possible to flash
|
For generic STM32F103 boards such as the blue pill it is possible to flash
|
||||||
the bootloader via 3.3v serial using stm32flash as noted in the stm32duino
|
the bootloader via 3.3V serial using stm32flash as noted in the stm32duino
|
||||||
section above, substituting the file name for the desired hid bootloader binary
|
section above, substituting the file name for the desired hid bootloader binary
|
||||||
(ie: hid_generic_pc13.bin for the blue pill).
|
(ie: hid_generic_pc13.bin for the blue pill).
|
||||||
|
|
||||||
@@ -382,7 +426,7 @@ make flash FLASH_DEVICE=/dev/ttyACM0
|
|||||||
It may be necessary to manually enter the bootloader, this can be done by
|
It may be necessary to manually enter the bootloader, this can be done by
|
||||||
setting "boot 0" low and "boot 1" high. On the SKR Mini E3 "Boot 1" is
|
setting "boot 0" low and "boot 1" high. On the SKR Mini E3 "Boot 1" is
|
||||||
not available, so it may be done by setting pin PA2 low if you flashed
|
not available, so it may be done by setting pin PA2 low if you flashed
|
||||||
"hid_btt_skr_mini_e3.bin". This pin is labeld "TX0" on the TFT header in
|
"hid_btt_skr_mini_e3.bin". This pin is labeled "TX0" on the TFT header in
|
||||||
the SKR Mini E3's "PIN" document. There is a ground pin next to PA2
|
the SKR Mini E3's "PIN" document. There is a ground pin next to PA2
|
||||||
which you can use to pull PA2 low.
|
which you can use to pull PA2 low.
|
||||||
|
|
||||||
@@ -390,7 +434,7 @@ which you can use to pull PA2 low.
|
|||||||
|
|
||||||
The [MSC bootloader](https://github.com/Telekatz/MSC-stm32f103-bootloader) is a driverless bootloader capable of flashing over USB.
|
The [MSC bootloader](https://github.com/Telekatz/MSC-stm32f103-bootloader) is a driverless bootloader capable of flashing over USB.
|
||||||
|
|
||||||
It is possible to flash the bootloader via 3.3v serial using stm32flash as noted
|
It is possible to flash the bootloader via 3.3V serial using stm32flash as noted
|
||||||
in the stm32duino section above, substituting the file name for the desired
|
in the stm32duino section above, substituting the file name for the desired
|
||||||
MSC bootloader binary (ie: MSCboot-Bluepill.bin for the blue pill).
|
MSC bootloader binary (ie: MSCboot-Bluepill.bin for the blue pill).
|
||||||
|
|
||||||
@@ -419,7 +463,7 @@ It is recommended to use a ST-Link Programmer to flash CanBoot, however it
|
|||||||
should be possible to flash using `stm32flash` on STM32F103 devices, and
|
should be possible to flash using `stm32flash` on STM32F103 devices, and
|
||||||
`dfu-util` on STM32F042/STM32F072 devices. See the previous sections in this
|
`dfu-util` on STM32F042/STM32F072 devices. See the previous sections in this
|
||||||
document for instructions on these flashing methods, substituting `canboot.bin`
|
document for instructions on these flashing methods, substituting `canboot.bin`
|
||||||
for the file name where appropriate. The CanBoot repo linked above provides
|
for the file name where appropriate. The CanBoot repository linked above provides
|
||||||
instructions for building the bootloader.
|
instructions for building the bootloader.
|
||||||
|
|
||||||
The first time CanBoot has been flashed it should detect that no application
|
The first time CanBoot has been flashed it should detect that no application
|
||||||
@@ -448,8 +492,8 @@ When building Klipper for use with CanBoot, select the 8 KiB Bootloader option.
|
|||||||
|
|
||||||
## STM32F4 micro-controllers (SKR Pro 1.1)
|
## STM32F4 micro-controllers (SKR Pro 1.1)
|
||||||
|
|
||||||
STM32F4 microcontrollers come equipped with a built-in system bootloader
|
STM32F4 micro-controllers come equipped with a built-in system bootloader
|
||||||
capable of flashing over USB (via DFU), 3.3v Serial, and various other
|
capable of flashing over USB (via DFU), 3.3V Serial, and various other
|
||||||
methods (see STM Document AN2606 for more information). Some
|
methods (see STM Document AN2606 for more information). Some
|
||||||
STM32F4 boards, such as the SKR Pro 1.1, are not able to enter the DFU
|
STM32F4 boards, such as the SKR Pro 1.1, are not able to enter the DFU
|
||||||
bootloader. The HID bootloader is available for STM32F405/407
|
bootloader. The HID bootloader is available for STM32F405/407
|
||||||
@@ -458,8 +502,8 @@ Note that you may need to configure and build a version specific to your
|
|||||||
board, a [build for the SKR Pro 1.1 is available here](
|
board, a [build for the SKR Pro 1.1 is available here](
|
||||||
https://github.com/Arksine/STM32_HID_Bootloader/releases/latest).
|
https://github.com/Arksine/STM32_HID_Bootloader/releases/latest).
|
||||||
|
|
||||||
Unless your board is DFU capable the most accessable flashing method
|
Unless your board is DFU capable the most accessible flashing method
|
||||||
is likely via 3.3v serial, which follows the same procedure as
|
is likely via 3.3V serial, which follows the same procedure as
|
||||||
[flashing the STM32F103 using stm32flash](#stm32f103-micro-controllers-blue-pill-devices).
|
[flashing the STM32F103 using stm32flash](#stm32f103-micro-controllers-blue-pill-devices).
|
||||||
For example:
|
For example:
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ This document describes Klipper's CAN bus support.
|
|||||||
|
|
||||||
## Device Hardware
|
## Device Hardware
|
||||||
|
|
||||||
Klipper currently only supports CAN on stm32 chips. In addition, the
|
Klipper currently supports CAN on stm32, SAME5x, and rp2040 chips. In
|
||||||
micro-controller chip must support CAN and it must be on a board that
|
addition, the micro-controller chip must be on a board that has a CAN
|
||||||
has a CAN transceiver.
|
transceiver.
|
||||||
|
|
||||||
To compile for CAN, run `make menuconfig` and select "CAN bus" as the
|
To compile for CAN, run `make menuconfig` and select "CAN bus" as the
|
||||||
communication interface. Finally, compile the micro-controller code
|
communication interface. Finally, compile the micro-controller code
|
||||||
@@ -14,44 +14,35 @@ and flash it to the target board.
|
|||||||
|
|
||||||
## Host Hardware
|
## Host Hardware
|
||||||
|
|
||||||
In order to use a CAN bus, it is necessary to have a host adapter.
|
In order to use a CAN bus, it is necessary to have a host adapter. It
|
||||||
There are currently two common options:
|
is recommended to use a "USB to CAN adapter". There are many different
|
||||||
|
USB to CAN adapters available from different manufacturers. When
|
||||||
1. Use a
|
choosing one, we recommend verifying that the firmware can be updated
|
||||||
[Waveshare Raspberry Pi CAN hat](https://www.waveshare.com/rs485-can-hat.htm)
|
on it. (Unfortunately, we've found some USB adapters run defective
|
||||||
or one of its many clones.
|
firmware and are locked down, so verify before purchasing.) Look for
|
||||||
|
adapters that can run Klipper directly (in its "USB to CAN bridge
|
||||||
2. Use a USB CAN adapter (for example
|
mode") or that run the
|
||||||
[https://hacker-gadgets.com/product/cantact-usb-can-adapter/](https://hacker-gadgets.com/product/cantact-usb-can-adapter/)). There
|
[candlelight firmware](https://github.com/candle-usb/candleLight_fw).
|
||||||
are many different USB to CAN adapters available - when choosing
|
|
||||||
one, we recommend verifying it can run the
|
|
||||||
[candlelight firmware](https://github.com/candle-usb/candleLight_fw).
|
|
||||||
(Unfortunately, we've found some USB adapters run defective
|
|
||||||
firmware and are locked down, so verify before purchasing.)
|
|
||||||
|
|
||||||
It is also necessary to configure the host operating system to use the
|
It is also necessary to configure the host operating system to use the
|
||||||
adapter. This is typically done by creating a new file named
|
adapter. This is typically done by creating a new file named
|
||||||
`/etc/network/interfaces.d/can0` with the following contents:
|
`/etc/network/interfaces.d/can0` with the following contents:
|
||||||
```
|
```
|
||||||
auto can0
|
allow-hotplug can0
|
||||||
iface can0 can static
|
iface can0 can static
|
||||||
bitrate 500000
|
bitrate 1000000
|
||||||
up ifconfig $IFACE txqueuelen 128
|
up ifconfig $IFACE txqueuelen 128
|
||||||
```
|
```
|
||||||
|
|
||||||
Note that the "Raspberry Pi CAN hat" also requires
|
|
||||||
[changes to config.txt](https://www.waveshare.com/wiki/RS485_CAN_HAT).
|
|
||||||
|
|
||||||
## Terminating Resistors
|
## Terminating Resistors
|
||||||
|
|
||||||
A CAN bus should have two 120 ohm resistors between the CANH and CANL
|
A CAN bus should have two 120 ohm resistors between the CANH and CANL
|
||||||
wires. Ideally, one resistor located at each the end of the bus.
|
wires. Ideally, one resistor located at each the end of the bus.
|
||||||
|
|
||||||
Note that some devices have a builtin 120 ohm resistor (for example,
|
Note that some devices have a builtin 120 ohm resistor that can not be
|
||||||
the "Waveshare Raspberry Pi CAN hat" has a soldered on resistor that
|
easily removed. Some devices do not include a resistor at all. Other
|
||||||
can not be easily removed). Some devices do not include a resistor at
|
devices have a mechanism to select the resistor (typically by
|
||||||
all. Other devices have a mechanism to select the resistor (typically
|
connecting a "pin jumper"). Be sure to check the schematics of all
|
||||||
by connecting a "pin jumper"). Be sure to check the schematics of all
|
|
||||||
devices on the CAN bus to verify that there are two and only two 120
|
devices on the CAN bus to verify that there are two and only two 120
|
||||||
Ohm resistors on the bus.
|
Ohm resistors on the bus.
|
||||||
|
|
||||||
@@ -73,7 +64,7 @@ powered and wired correctly, and then run:
|
|||||||
If uninitialized CAN devices are detected the above command will
|
If uninitialized CAN devices are detected the above command will
|
||||||
report lines like the following:
|
report lines like the following:
|
||||||
```
|
```
|
||||||
Found canbus_uuid=11aa22bb33cc
|
Found canbus_uuid=11aa22bb33cc, Application: Klipper
|
||||||
```
|
```
|
||||||
|
|
||||||
Each device will have a unique identifier. In the above example,
|
Each device will have a unique identifier. In the above example,
|
||||||
@@ -95,22 +86,18 @@ canbus_uuid: 11aa22bb33cc
|
|||||||
## USB to CAN bus bridge mode
|
## USB to CAN bus bridge mode
|
||||||
|
|
||||||
Some micro-controllers support selecting "USB to CAN bus bridge" mode
|
Some micro-controllers support selecting "USB to CAN bus bridge" mode
|
||||||
during "make menuconfig". This mode may allow one to use a
|
during Klipper's "make menuconfig". This mode may allow one to use a
|
||||||
micro-controller as both a "USB to CAN bus adapter" and as a Klipper
|
micro-controller as both a "USB to CAN bus adapter" and as a Klipper
|
||||||
node.
|
node.
|
||||||
|
|
||||||
When Klipper uses this mode the micro-controller appears as a "USB CAN
|
When Klipper uses this mode the micro-controller appears as a "USB CAN
|
||||||
bus adapter" under Linux. The "Klipper bridge mcu" itself will appear
|
bus adapter" under Linux. The "Klipper bridge mcu" itself will appear
|
||||||
as if was on this CAN bus - it can be identified via `canbus_query.py`
|
as if it was on this CAN bus - it can be identified via
|
||||||
and configured like other CAN bus Klipper nodes. It will appear
|
`canbus_query.py` and it must be configured like other CAN bus Klipper
|
||||||
alongside other devices that are actually on the CAN bus.
|
nodes.
|
||||||
|
|
||||||
Some important notes when using this mode:
|
Some important notes when using this mode:
|
||||||
|
|
||||||
* The "bridge mcu" is not actually on the CAN bus. Messages to and
|
|
||||||
from it do not consume bandwidth on the CAN bus. The mcu can not be
|
|
||||||
seen by other adapters that may be on the CAN bus.
|
|
||||||
|
|
||||||
* It is necessary to configure the `can0` (or similar) interface in
|
* It is necessary to configure the `can0` (or similar) interface in
|
||||||
Linux in order to communicate with the bus. However, Linux CAN bus
|
Linux in order to communicate with the bus. However, Linux CAN bus
|
||||||
speed and CAN bus bit-timing options are ignored by Klipper.
|
speed and CAN bus bit-timing options are ignored by Klipper.
|
||||||
@@ -118,7 +105,37 @@ Some important notes when using this mode:
|
|||||||
menuconfig" and the bus speed specified in Linux is ignored.
|
menuconfig" and the bus speed specified in Linux is ignored.
|
||||||
|
|
||||||
* Whenever the "bridge mcu" is reset, Linux will disable the
|
* Whenever the "bridge mcu" is reset, Linux will disable the
|
||||||
corresponding `can0` interface. Generally, this may require running
|
corresponding `can0` interface. To ensure proper handling of
|
||||||
commands such as "ip up" to restart the interface. Thus, Klipper
|
FIRMWARE_RESTART and RESTART commands, it is recommended to use
|
||||||
FIRMWARE_RESTART commands (or regular RESTART after a config change)
|
`allow-hotplug` in the `/etc/network/interfaces.d/can0` file. For
|
||||||
may require restarting the `can0` interface.
|
example:
|
||||||
|
```
|
||||||
|
allow-hotplug can0
|
||||||
|
iface can0 can static
|
||||||
|
bitrate 1000000
|
||||||
|
up ifconfig $IFACE txqueuelen 128
|
||||||
|
```
|
||||||
|
|
||||||
|
* The "bridge mcu" is not actually on the CAN bus. Messages to and
|
||||||
|
from the bridge mcu will not be seen by other adapters that may be
|
||||||
|
on the CAN bus.
|
||||||
|
|
||||||
|
* The available bandwidth to both the "bridge mcu" itself and all
|
||||||
|
devices on the CAN bus is effectively limited by the CAN bus
|
||||||
|
frequency. As a result, it is recommended to use a CAN bus frequency
|
||||||
|
of 1000000 when using "USB to CAN bus bridge mode".
|
||||||
|
|
||||||
|
Even at a CAN bus frequency of 1000000, there may not be sufficient
|
||||||
|
bandwidth to run a `SHAPER_CALIBRATE` test if both the XY steppers
|
||||||
|
and the accelerometer all communicate via a single "USB to CAN bus"
|
||||||
|
interface.
|
||||||
|
|
||||||
|
* A USB to CAN bridge board will not appear as a USB serial device, it
|
||||||
|
will not show up when running `ls /dev/serial/by-id`, and it can not
|
||||||
|
be configured in Klipper's printer.cfg file with a `serial:`
|
||||||
|
parameter. The bridge board appears as a "USB CAN adapter" and it is
|
||||||
|
configured in the printer.cfg as a [CAN node](#configuring-klipper).
|
||||||
|
|
||||||
|
## Tips for troubleshooting
|
||||||
|
|
||||||
|
See the [CAN bus troubleshooting](CANBUS_Troubleshooting.md) document.
|
||||||
|
|||||||
140
docs/CANBUS_Troubleshooting.md
Normal file
140
docs/CANBUS_Troubleshooting.md
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
# CANBUS Troubleshooting
|
||||||
|
|
||||||
|
This document provides information on troubleshooting communication
|
||||||
|
issues when using [Klipper with CAN bus](CANBUS.md).
|
||||||
|
|
||||||
|
## Verify CAN bus wiring
|
||||||
|
|
||||||
|
The first step in troubleshooting communication issues is to verify
|
||||||
|
the CAN bus wiring.
|
||||||
|
|
||||||
|
Be sure there are exactly two 120 Ohm [terminating
|
||||||
|
resistors](CANBUS.md#terminating-resistors) on the CAN bus. If the
|
||||||
|
resistors are not properly installed then messages may not be able to
|
||||||
|
be sent at all or the connection may have sporadic instability.
|
||||||
|
|
||||||
|
The CANH and CANL bus wiring should be twisted around each other. At a
|
||||||
|
minimum, the wiring should have a twist every few centimeters. Avoid
|
||||||
|
twisting the CANH and CANL wiring around power wires and ensure that
|
||||||
|
power wires that travel parallel to the CANH and CANL wires do not
|
||||||
|
have the same amount of twists.
|
||||||
|
|
||||||
|
Verify that all plugs and wire crimps on the CAN bus wiring are fully
|
||||||
|
secured. Movement of the printer toolhead may jostle the CAN bus
|
||||||
|
wiring causing a bad wire crimp or unsecured plug to result in
|
||||||
|
intermittent communication errors.
|
||||||
|
|
||||||
|
## Check for incrementing bytes_invalid counter
|
||||||
|
|
||||||
|
The Klipper log file will report a `Stats` line once a second when the
|
||||||
|
printer is active. These "Stats" lines will have a `bytes_invalid`
|
||||||
|
counter for each micro-controller. This counter should not increment
|
||||||
|
during normal printer operation (it is normal for the counter to be
|
||||||
|
non-zero after a RESTART and it is not a concern if the counter
|
||||||
|
increments once a month or so). If this counter increments on a CAN
|
||||||
|
bus micro-controller during normal printing (it increments every few
|
||||||
|
hours or more frequently) then it is an indication of a severe
|
||||||
|
problem.
|
||||||
|
|
||||||
|
Incrementing `bytes_invalid` on a CAN bus connection is a symptom of
|
||||||
|
reordered messages on the CAN bus. There are two known causes of
|
||||||
|
reordered messages:
|
||||||
|
1. Old versions of the popular candlight_firmware for USB CAN adapters
|
||||||
|
had a bug that could cause reordered messages. If using a USB CAN
|
||||||
|
adapter running this firmware then make sure to update to the
|
||||||
|
latest firmware if incrementing `bytes_invalid` is observed.
|
||||||
|
2. Some Linux kernel builds for embedded devices have been known to
|
||||||
|
reorder CAN bus messages. It may be necessary to use an alternative
|
||||||
|
Linux kernel or to use alternative hardware that supports
|
||||||
|
mainstream Linux kernels that do not exhibit this problem.
|
||||||
|
|
||||||
|
Reordered messages is a severe problem that must be fixed. It will
|
||||||
|
result in unstable behavior and can lead to confusing errors at any
|
||||||
|
part of a print.
|
||||||
|
|
||||||
|
## Obtaining candump logs
|
||||||
|
|
||||||
|
The CAN bus messages sent to and from the micro-controller are handled
|
||||||
|
by the Linux kernel. It is possible to capture these messages from the
|
||||||
|
kernel for debugging purposes. A log of these messages may be of use
|
||||||
|
in diagnostics.
|
||||||
|
|
||||||
|
The Linux [can-utils](https://github.com/linux-can/can-utils) tool
|
||||||
|
provides the capture software. It is typically installed on a machine
|
||||||
|
by running:
|
||||||
|
```
|
||||||
|
sudo apt-get update && sudo apt-get install can-utils
|
||||||
|
```
|
||||||
|
|
||||||
|
Once installed, one may obtain a capture of all CAN bus messages on an
|
||||||
|
interface with the following command:
|
||||||
|
```
|
||||||
|
candump -tz -Ddex can0,#FFFFFFFF > mycanlog
|
||||||
|
```
|
||||||
|
|
||||||
|
One can view the resulting log file (`mycanlog` in the example above)
|
||||||
|
to see each raw CAN bus message that was sent and received by Klipper.
|
||||||
|
Understanding the content of these messages will likely require
|
||||||
|
low-level knowledge of Klipper's [CANBUS protocol](CANBUS_protocol.md)
|
||||||
|
and Klipper's [MCU commands](MCU_Commands.md).
|
||||||
|
|
||||||
|
### Parsing Klipper messages in a candump log
|
||||||
|
|
||||||
|
One may use the `parsecandump.py` tool to parse the low-level Klipper
|
||||||
|
micro-controller messages contained in a candump log. Using this tool
|
||||||
|
is an advanced topic that requires knowledge of Klipper
|
||||||
|
[MCU commands](MCU_Commands.md). For example:
|
||||||
|
```
|
||||||
|
./scripts/parsecandump.py mycanlog 108 ./out/klipper.dict
|
||||||
|
```
|
||||||
|
|
||||||
|
This tool produces output similar to the [parsedump
|
||||||
|
tool](Debugging.md#translating-gcode-files-to-micro-controller-commands). See
|
||||||
|
the documentation for that tool for information on generating the
|
||||||
|
Klipper micro-controller data dictionary.
|
||||||
|
|
||||||
|
In the above example, `108` is the [CAN bus
|
||||||
|
id](CANBUS_protocol.md#micro-controller-id-assignment). It is a
|
||||||
|
hexadecimal number. The id `108` is assigned by Klipper to the first
|
||||||
|
micro-controller. If the CAN bus has multiple micro-controllers on it,
|
||||||
|
then the second micro-controller would be `10a`, the third would be
|
||||||
|
`10c`, and so on.
|
||||||
|
|
||||||
|
The candump log must be produced using the `-tz -Ddex` command-line
|
||||||
|
arguments (for example: `candump -tz -Ddex can0,#FFFFFFFF`) in order
|
||||||
|
to use the `parsecandump.py` tool.
|
||||||
|
|
||||||
|
## Using a logic analyzer on the canbus wiring
|
||||||
|
|
||||||
|
The [Sigrok Pulseview](https://sigrok.org/wiki/PulseView) software
|
||||||
|
along with a low-cost
|
||||||
|
[logic analyzer](https://en.wikipedia.org/wiki/Logic_analyzer) can be
|
||||||
|
useful for diagnosing CAN bus signaling. This is an advanced topic
|
||||||
|
likely only of interest to experts.
|
||||||
|
|
||||||
|
One can often find "USB logic analyzers" for under $15 (US pricing as
|
||||||
|
of 2023). These devices are often listed as "Saleae logic clones" or
|
||||||
|
as "24MHz 8 channel USB logic analyzers".
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
The above picture was taken while using Pulseview with a "Saleae
|
||||||
|
clone" logic analyzer. The Sigrok and Pulseview software was installed
|
||||||
|
on a desktop machine (also install the "fx2lafw" firmware if that is
|
||||||
|
packaged separately). The CH0 pin on the logic analyzer was routed to
|
||||||
|
the CAN Rx line, the CH1 pin was wired to the CAN Tx pin, and GND was
|
||||||
|
wired to GND. Pulseview was configured to only display the D0 and D1
|
||||||
|
lines (red "probe" icon center top toolbar). The number of samples was
|
||||||
|
set to 5 million (top toolbar) and the sample rate was set to 24Mhz
|
||||||
|
(top toolbar). The CAN decoder was added (yellow and green "bubble
|
||||||
|
icon" right top toolbar). The D0 channel was labeled as RX and set to
|
||||||
|
trigger on a falling edge (click on black D0 label at left). The D1
|
||||||
|
channel was labeled as TX (click on brown D1 label at left). The CAN
|
||||||
|
decoder was configured for 1Mbit rate (click on green CAN label at
|
||||||
|
left). The CAN decoder was moved to the top of the display (click and
|
||||||
|
drag green CAN label). Finally, the capture was started (click "Run"
|
||||||
|
at top left) and a packet was transmitted on the CAN bus (`cansend
|
||||||
|
can0 123#121212121212`).
|
||||||
|
|
||||||
|
The logic analyzer provides an independent tool for capturing packets
|
||||||
|
and verifying bit timing.
|
||||||
@@ -38,23 +38,23 @@ with a RESP_NEED_NODEID response message.
|
|||||||
The CMD_QUERY_UNASSIGNED message format is:
|
The CMD_QUERY_UNASSIGNED message format is:
|
||||||
`<1-byte message_id = 0x00>`
|
`<1-byte message_id = 0x00>`
|
||||||
|
|
||||||
### CMD_SET_NODEID message
|
### CMD_SET_KLIPPER_NODEID message
|
||||||
|
|
||||||
This command assigns a `canbus_nodeid` to the micro-controller with a
|
This command assigns a `canbus_nodeid` to the micro-controller with a
|
||||||
given `canbus_uuid`.
|
given `canbus_uuid`.
|
||||||
|
|
||||||
The CMD_SET_NODEID message format is:
|
The CMD_SET_KLIPPER_NODEID message format is:
|
||||||
`<1-byte message_id = 0x01><6-byte canbus_uuid><1-byte canbus_nodeid>`
|
`<1-byte message_id = 0x01><6-byte canbus_uuid><1-byte canbus_nodeid>`
|
||||||
|
|
||||||
### RESP_NEED_NODEID message
|
### RESP_NEED_NODEID message
|
||||||
|
|
||||||
The RESP_NEED_NODEID message format is:
|
The RESP_NEED_NODEID message format is:
|
||||||
`<1-byte message_id = 0x20><6-byte canbus_uuid>`
|
`<1-byte message_id = 0x20><6-byte canbus_uuid><1-byte set_klipper_nodeid = 0x01>`
|
||||||
|
|
||||||
## Data Packets
|
## Data Packets
|
||||||
|
|
||||||
A micro-controller that has been assigned a nodeid via the
|
A micro-controller that has been assigned a nodeid via the
|
||||||
CMD_SET_NODEID command can send and receive data packets.
|
CMD_SET_KLIPPER_NODEID command can send and receive data packets.
|
||||||
|
|
||||||
The packet data in messages using the node's receive CAN bus id
|
The packet data in messages using the node's receive CAN bus id
|
||||||
(`canbus_nodeid * 2 + 256`) are simply appended to a buffer, and when
|
(`canbus_nodeid * 2 + 256`) are simply appended to a buffer, and when
|
||||||
|
|||||||
@@ -62,6 +62,10 @@ Common things a reviewer will look for:
|
|||||||
|
|
||||||
Submissions must pass all [regression test cases](Debugging.md).
|
Submissions must pass all [regression test cases](Debugging.md).
|
||||||
|
|
||||||
|
When fixing a defect in the code, submitters should have a general
|
||||||
|
understanding of the root cause of that defect, and the fix should
|
||||||
|
target that root cause.
|
||||||
|
|
||||||
Code submissions should not contain excessive debugging code,
|
Code submissions should not contain excessive debugging code,
|
||||||
debugging options, nor run-time debug logging.
|
debugging options, nor run-time debug logging.
|
||||||
|
|
||||||
@@ -249,8 +253,8 @@ The Klipper "reviewers" are:
|
|||||||
| ---------------------- | ----------------- | ----------------- |
|
| ---------------------- | ----------------- | ----------------- |
|
||||||
| Dmitry Butyugin | @dmbutyugin | Input shaping, resonance testing, kinematics |
|
| Dmitry Butyugin | @dmbutyugin | Input shaping, resonance testing, kinematics |
|
||||||
| Eric Callahan | @Arksine | Bed leveling, MCU flashing |
|
| Eric Callahan | @Arksine | Bed leveling, MCU flashing |
|
||||||
|
| James Hartley | @JamesH1978 | Configuration files |
|
||||||
| Kevin O'Connor | @KevinOConnor | Core motion system, Micro-controller code |
|
| Kevin O'Connor | @KevinOConnor | Core motion system, Micro-controller code |
|
||||||
| Paul McGowan | @mental405 | Configuration files, documentation |
|
|
||||||
|
|
||||||
Please do not "ping" any of the reviewers and please do not direct
|
Please do not "ping" any of the reviewers and please do not direct
|
||||||
submissions at them. All of the reviewers monitor the forums and PRs,
|
submissions at them. All of the reviewers monitor the forums and PRs,
|
||||||
|
|||||||
@@ -8,6 +8,89 @@ All dates in this document are approximate.
|
|||||||
|
|
||||||
## Changes
|
## Changes
|
||||||
|
|
||||||
|
20231216: The `[hall_filament_width_sensor]` is changed to trigger filament runout
|
||||||
|
when the thickness of the filament exceeds `max_diameter`. The maximum diameter
|
||||||
|
defaults to `default_nominal_filament_diameter + max_difference`. See
|
||||||
|
[[hall_filament_width_sensor] configuration
|
||||||
|
reference](./Config_Reference.md#hall_filament_width_sensor) for more details.
|
||||||
|
|
||||||
|
20231207: Several undocumented config parameters in the `[printer]`
|
||||||
|
config section have been removed (the buffer_time_low,
|
||||||
|
buffer_time_high, buffer_time_start, and move_flush_time parameters).
|
||||||
|
|
||||||
|
20231110: Klipper v0.12.0 released.
|
||||||
|
|
||||||
|
20230826: If `safe_distance` is set or calculated to be 0 in `[dual_carriage]`,
|
||||||
|
the carriages proximity checks will be disabled as per documentation. A user
|
||||||
|
may wish to configure `safe_distance` explicitly to prevent accidental crashes
|
||||||
|
of the carriages with each other. Additionally, the homing order of the primary
|
||||||
|
and the dual carriage is changed in some configurations (certain configurations
|
||||||
|
when both carriages home in the same direction, see
|
||||||
|
[[dual_carriage] configuration reference](./Config_Reference.md#dual_carriage)
|
||||||
|
for more details).
|
||||||
|
|
||||||
|
20230810: The flash-sdcard.sh script now supports both variants of the
|
||||||
|
Bigtreetech SKR-3, STM32H743 and STM32H723. For this, the original tag
|
||||||
|
of btt-skr-3 now has changed to be either btt-skr-3-h743 or btt-skr-3-h723.
|
||||||
|
|
||||||
|
20230729: The exported status for `dual_carriage` is changed. Instead of
|
||||||
|
exporting `mode` and `active_carriage`, the individual modes for each
|
||||||
|
carriage are exported as `printer.dual_carriage.carriage_0` and
|
||||||
|
`printer.dual_carriage.carriage_1`.
|
||||||
|
|
||||||
|
20230619: The `relative_reference_index` option has been deprecated
|
||||||
|
and superceded by the `zero_reference_position` option. Refer to the
|
||||||
|
[Bed Mesh Documentation](./Bed_Mesh.md#the-deprecated-relative_reference_index)
|
||||||
|
for details on how to update the configuration. With this deprecation
|
||||||
|
the `RELATIVE_REFERENCE_INDEX` is no longer available as a parameter
|
||||||
|
for the `BED_MESH_CALIBRATE` gcode command.
|
||||||
|
|
||||||
|
20230530: The default canbus frequency in "make menuconfig" is
|
||||||
|
now 1000000. If using canbus and using canbus with some other
|
||||||
|
frequency is required, then be sure to select "Enable extra low-level
|
||||||
|
configuration options" and specify the desired "CAN bus speed" in
|
||||||
|
"make menuconfig" when compiling and flashing the micro-controller.
|
||||||
|
|
||||||
|
20230525: `SHAPER_CALIBRATE` command immediately applies input shaper
|
||||||
|
parameters if `[input_shaper]` was enabled already.
|
||||||
|
|
||||||
|
20230407: The `stalled_bytes` counter in the log and in the
|
||||||
|
`printer.mcu.last_stats` field has been renamed to `upcoming_bytes`.
|
||||||
|
|
||||||
|
20230323: On tmc5160 drivers `multistep_filt` is now enabled by default. Set
|
||||||
|
`driver_MULTISTEP_FILT: False` in the tmc5160 config for the previous behavior.
|
||||||
|
|
||||||
|
20230304: The `SET_TMC_CURRENT` command now properly adjusts the globalscaler
|
||||||
|
register for drivers that have it. This removes a limitation where on tmc5160,
|
||||||
|
the currents could not be raised higher with `SET_TMC_CURRENT` than the
|
||||||
|
`run_current` value set in the config file.
|
||||||
|
However, this has a side effect: After running `SET_TMC_CURRENT`, the stepper
|
||||||
|
must be held at standstill for >130ms in case StealthChop2 is used so that the
|
||||||
|
AT#1 calibration gets executed by the driver.
|
||||||
|
|
||||||
|
20230202: The format of the `printer.screws_tilt_adjust` status
|
||||||
|
information has changed. The information is now stored as a dictionary of
|
||||||
|
screws with the resulting measurements. See the
|
||||||
|
[status reference](Status_Reference.md#screws_tilt_adjust) for details.
|
||||||
|
|
||||||
|
20230201: The `[bed_mesh]` module no longer loads the `default` profile
|
||||||
|
on startup. It is recommended that users who use the `default` profile
|
||||||
|
add `BED_MESH_PROFILE LOAD=default` to their `START_PRINT` macro (or
|
||||||
|
to their slicer's "Start G-Code" configuration when applicable).
|
||||||
|
|
||||||
|
20230103: It is now possible with the flash-sdcard.sh script to flash
|
||||||
|
both variants of the Bigtreetech SKR-2, STM32F407 and STM32F429.
|
||||||
|
This means that the original tag of btt-skr2 now has changed to either
|
||||||
|
btt-skr-2-f407 or btt-skr-2-f429.
|
||||||
|
|
||||||
|
20221128: Klipper v0.11.0 released.
|
||||||
|
|
||||||
|
20221122: Previously, with safe_z_home, it was possible that the
|
||||||
|
z_hop after the g28 homing would go in the negative z direction.
|
||||||
|
Now, a z_hop is performed after g28 only if it results in a positive
|
||||||
|
hop, mirroring the behavior of the z_hop that occurs before
|
||||||
|
the g28 homing.
|
||||||
|
|
||||||
20220616: It was previously possible to flash an rp2040 in bootloader
|
20220616: It was previously possible to flash an rp2040 in bootloader
|
||||||
mode by running `make flash FLASH_DEVICE=first`. The equivalent
|
mode by running `make flash FLASH_DEVICE=first`. The equivalent
|
||||||
command is now `make flash FLASH_DEVICE=2e8a:0003`.
|
command is now `make flash FLASH_DEVICE=2e8a:0003`.
|
||||||
|
|||||||
@@ -85,20 +85,25 @@ The printer section controls high level printer settings.
|
|||||||
kinematics:
|
kinematics:
|
||||||
# The type of printer in use. This option may be one of: cartesian,
|
# The type of printer in use. This option may be one of: cartesian,
|
||||||
# corexy, corexz, hybrid_corexy, hybrid_corexz, rotary_delta, delta,
|
# corexy, corexz, hybrid_corexy, hybrid_corexz, rotary_delta, delta,
|
||||||
# polar, winch, or none. This
|
# deltesian, polar, winch, or none. This parameter must be specified.
|
||||||
# parameter must be specified.
|
|
||||||
max_velocity:
|
max_velocity:
|
||||||
# Maximum velocity (in mm/s) of the toolhead (relative to the
|
# Maximum velocity (in mm/s) of the toolhead (relative to the
|
||||||
# print). This parameter must be specified.
|
# print). This value may be changed at runtime using the
|
||||||
|
# SET_VELOCITY_LIMIT command. This parameter must be specified.
|
||||||
max_accel:
|
max_accel:
|
||||||
# Maximum acceleration (in mm/s^2) of the toolhead (relative to the
|
# Maximum acceleration (in mm/s^2) of the toolhead (relative to the
|
||||||
# print). This parameter must be specified.
|
# print). Although this parameter is described as a "maximum"
|
||||||
|
# acceleration, in practice most moves that accelerate or decelerate
|
||||||
|
# will do so at the rate specified here. The value specified here
|
||||||
|
# may be changed at runtime using the SET_VELOCITY_LIMIT command.
|
||||||
|
# This parameter must be specified.
|
||||||
#max_accel_to_decel:
|
#max_accel_to_decel:
|
||||||
# A pseudo acceleration (in mm/s^2) controlling how fast the
|
# A pseudo acceleration (in mm/s^2) controlling how fast the
|
||||||
# toolhead may go from acceleration to deceleration. It is used to
|
# toolhead may go from acceleration to deceleration. It is used to
|
||||||
# reduce the top speed of short zig-zag moves (and thus reduce
|
# reduce the top speed of short zig-zag moves (and thus reduce
|
||||||
# printer vibration from these moves). The default is half of
|
# printer vibration from these moves). The value specified here may
|
||||||
# max_accel.
|
# be changed at runtime using the SET_VELOCITY_LIMIT command. The
|
||||||
|
# default is half of max_accel.
|
||||||
#square_corner_velocity: 5.0
|
#square_corner_velocity: 5.0
|
||||||
# The maximum velocity (in mm/s) that the toolhead may travel a 90
|
# The maximum velocity (in mm/s) that the toolhead may travel a 90
|
||||||
# degree corner at. A non-zero value can reduce changes in extruder
|
# degree corner at. A non-zero value can reduce changes in extruder
|
||||||
@@ -108,7 +113,9 @@ max_accel:
|
|||||||
# larger than 90 degrees will have a higher cornering velocity while
|
# larger than 90 degrees will have a higher cornering velocity while
|
||||||
# corners with angles less than 90 degrees will have a lower
|
# corners with angles less than 90 degrees will have a lower
|
||||||
# cornering velocity. If this is set to zero then the toolhead will
|
# cornering velocity. If this is set to zero then the toolhead will
|
||||||
# decelerate to zero at each corner. The default is 5mm/s.
|
# decelerate to zero at each corner. The value specified here may be
|
||||||
|
# changed at runtime using the SET_VELOCITY_LIMIT command. The
|
||||||
|
# default is 5mm/s.
|
||||||
```
|
```
|
||||||
|
|
||||||
### [stepper]
|
### [stepper]
|
||||||
@@ -318,6 +325,81 @@ radius:
|
|||||||
# just prior to starting a probe operation. The default is 5.
|
# just prior to starting a probe operation. The default is 5.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Deltesian Kinematics
|
||||||
|
|
||||||
|
See [example-deltesian.cfg](../config/example-deltesian.cfg) for an
|
||||||
|
example deltesian kinematics config file.
|
||||||
|
|
||||||
|
Only parameters specific to deltesian printers are described here - see
|
||||||
|
[common kinematic settings](#common-kinematic-settings) for available
|
||||||
|
parameters.
|
||||||
|
|
||||||
|
```
|
||||||
|
[printer]
|
||||||
|
kinematics: deltesian
|
||||||
|
max_z_velocity:
|
||||||
|
# For deltesian printers, this limits the maximum velocity (in mm/s) of
|
||||||
|
# moves with z axis movement. This setting can be used to reduce the
|
||||||
|
# maximum speed of up/down moves (which require a higher step rate
|
||||||
|
# than other moves on a deltesian printer). The default is to use
|
||||||
|
# max_velocity for max_z_velocity.
|
||||||
|
#max_z_accel:
|
||||||
|
# This sets the maximum acceleration (in mm/s^2) of movement along
|
||||||
|
# the z axis. Setting this may be useful if the printer can reach higher
|
||||||
|
# acceleration on XY moves than Z moves (eg, when using input shaper).
|
||||||
|
# The default is to use max_accel for max_z_accel.
|
||||||
|
#minimum_z_position: 0
|
||||||
|
# The minimum Z position that the user may command the head to move
|
||||||
|
# to. The default is 0.
|
||||||
|
#min_angle: 5
|
||||||
|
# This represents the minimum angle (in degrees) relative to horizontal
|
||||||
|
# that the deltesian arms are allowed to achieve. This parameter is
|
||||||
|
# intended to restrict the arms from becoming completely horizontal,
|
||||||
|
# which would risk accidental inversion of the XZ axis. The default is 5.
|
||||||
|
#print_width:
|
||||||
|
# The distance (in mm) of valid toolhead X coordinates. One may use
|
||||||
|
# this setting to customize the range checking of toolhead moves. If
|
||||||
|
# a large value is specified here then it may be possible to command
|
||||||
|
# the toolhead into a collision with a tower. This setting usually
|
||||||
|
# corresponds to bed width (in mm).
|
||||||
|
#slow_ratio: 3
|
||||||
|
# The ratio used to limit velocity and acceleration on moves near the
|
||||||
|
# extremes of the X axis. If vertical distance divided by horizontal
|
||||||
|
# distance exceeds the value of slow_ratio, then velocity and
|
||||||
|
# acceleration are limited to half their nominal values. If vertical
|
||||||
|
# distance divided by horizontal distance exceeds twice the value of
|
||||||
|
# the slow_ratio, then velocity and acceleration are limited to one
|
||||||
|
# quarter of their nominal values. The default is 3.
|
||||||
|
|
||||||
|
# The stepper_left section is used to describe the stepper controlling
|
||||||
|
# the left tower. This section also controls the homing parameters
|
||||||
|
# (homing_speed, homing_retract_dist) for all towers.
|
||||||
|
[stepper_left]
|
||||||
|
position_endstop:
|
||||||
|
# Distance (in mm) between the nozzle and the bed when the nozzle is
|
||||||
|
# in the center of the build area and the endstops are triggered. This
|
||||||
|
# parameter must be provided for stepper_left; for stepper_right this
|
||||||
|
# parameter defaults to the value specified for stepper_left.
|
||||||
|
arm_length:
|
||||||
|
# Length (in mm) of the diagonal rod that connects the tower carriage to
|
||||||
|
# the print head. This parameter must be provided for stepper_left; for
|
||||||
|
# stepper_right, this parameter defaults to the value specified for
|
||||||
|
# stepper_left.
|
||||||
|
arm_x_length:
|
||||||
|
# Horizontal distance between the print head and the tower when the
|
||||||
|
# printers is homed. This parameter must be provided for stepper_left;
|
||||||
|
# for stepper_right, this parameter defaults to the value specified for
|
||||||
|
# stepper_left.
|
||||||
|
|
||||||
|
# The stepper_right section is used to describe the stepper controlling the
|
||||||
|
# right tower.
|
||||||
|
[stepper_right]
|
||||||
|
|
||||||
|
# The stepper_y section is used to describe the stepper controlling
|
||||||
|
# the Y axis in a deltesian robot.
|
||||||
|
[stepper_y]
|
||||||
|
```
|
||||||
|
|
||||||
### CoreXY Kinematics
|
### CoreXY Kinematics
|
||||||
|
|
||||||
See [example-corexy.cfg](../config/example-corexy.cfg) for an example
|
See [example-corexy.cfg](../config/example-corexy.cfg) for an example
|
||||||
@@ -892,10 +974,18 @@ Visual Examples:
|
|||||||
# be applied to change the amount of slope interpolated. Larger
|
# be applied to change the amount of slope interpolated. Larger
|
||||||
# numbers will increase the amount of slope, which results in more
|
# numbers will increase the amount of slope, which results in more
|
||||||
# curvature in the mesh. Default is .2.
|
# curvature in the mesh. Default is .2.
|
||||||
|
#zero_reference_position:
|
||||||
|
# An optional X,Y coordinate that specifies the location on the bed
|
||||||
|
# where Z = 0. When this option is specified the mesh will be offset
|
||||||
|
# so that zero Z adjustment occurs at this location. The default is
|
||||||
|
# no zero reference.
|
||||||
#relative_reference_index:
|
#relative_reference_index:
|
||||||
# A point index in the mesh to reference all z values to. Enabling
|
# **DEPRECATED, use the "zero_reference_position" option**
|
||||||
# this parameter produces a mesh relative to the probed z position
|
# The legacy option superceded by the "zero reference position".
|
||||||
# at the provided index.
|
# Rather than a coordinate this option takes an integer "index" that
|
||||||
|
# refers to the location of one of the generated points. It is recommended
|
||||||
|
# to use the "zero_reference_position" instead of this option for new
|
||||||
|
# configurations. The default is no relative reference index.
|
||||||
#faulty_region_1_min:
|
#faulty_region_1_min:
|
||||||
#faulty_region_1_max:
|
#faulty_region_1_max:
|
||||||
# Optional points that define a faulty region. See docs/Bed_Mesh.md
|
# Optional points that define a faulty region. See docs/Bed_Mesh.md
|
||||||
@@ -1019,12 +1109,12 @@ information.
|
|||||||
# The height (in mm) that the head should be commanded to move to
|
# The height (in mm) that the head should be commanded to move to
|
||||||
# just prior to starting a probe operation. The default is 5.
|
# just prior to starting a probe operation. The default is 5.
|
||||||
#screw_thread: CW-M3
|
#screw_thread: CW-M3
|
||||||
# The type of screw used for bed level, M3, M4 or M5 and the
|
# The type of screw used for bed leveling, M3, M4, or M5, and the
|
||||||
# direction of the knob used to level the bed, clockwise decrease
|
# rotation direction of the knob that is used to level the bed.
|
||||||
# counter-clockwise decrease.
|
|
||||||
# Accepted values: CW-M3, CCW-M3, CW-M4, CCW-M4, CW-M5, CCW-M5.
|
# Accepted values: CW-M3, CCW-M3, CW-M4, CCW-M4, CW-M5, CCW-M5.
|
||||||
# Default value is CW-M3, most printers use an M3 screw and
|
# Default value is CW-M3 which most printers use. A clockwise
|
||||||
# turning the knob clockwise decrease distance.
|
# rotation of the knob decreases the gap between the nozzle and the
|
||||||
|
# bed. Conversely, a counter-clockwise rotation increases the gap.
|
||||||
```
|
```
|
||||||
|
|
||||||
### [z_tilt]
|
### [z_tilt]
|
||||||
@@ -1131,6 +1221,45 @@ the nature of skew correction these lengths are set via gcode. See
|
|||||||
[skew_correction]
|
[skew_correction]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### [z_thermal_adjust]
|
||||||
|
|
||||||
|
Temperature-dependant toolhead Z position adjustment. Compensate for vertical
|
||||||
|
toolhead movement caused by thermal expansion of the printer's frame in
|
||||||
|
real-time using a temperature sensor (typically coupled to a vertical section
|
||||||
|
of frame).
|
||||||
|
|
||||||
|
See also: [extended g-code commands](G-Codes.md#z_thermal_adjust).
|
||||||
|
|
||||||
|
```
|
||||||
|
[z_thermal_adjust]
|
||||||
|
#temp_coeff:
|
||||||
|
# The temperature coefficient of expansion, in mm/degC. For example, a
|
||||||
|
# temp_coeff of 0.01 mm/degC will move the Z axis downwards by 0.01 mm for
|
||||||
|
# every degree Celsius that the temperature sensor increases. Defaults to
|
||||||
|
# 0.0 mm/degC, which applies no adjustment.
|
||||||
|
#smooth_time:
|
||||||
|
# Smoothing window applied to the temperature sensor, in seconds. Can reduce
|
||||||
|
# motor noise from excessive small corrections in response to sensor noise.
|
||||||
|
# The default is 2.0 seconds.
|
||||||
|
#z_adjust_off_above:
|
||||||
|
# Disables adjustments above this Z height [mm]. The last computed correction
|
||||||
|
# will remain applied until the toolhead moves below the specified Z height
|
||||||
|
# again. The default is 99999999.0 mm (always on).
|
||||||
|
#max_z_adjustment:
|
||||||
|
# Maximum absolute adjustment that can be applied to the Z axis [mm]. The
|
||||||
|
# default is 99999999.0 mm (unlimited).
|
||||||
|
#sensor_type:
|
||||||
|
#sensor_pin:
|
||||||
|
#min_temp:
|
||||||
|
#max_temp:
|
||||||
|
# Temperature sensor configuration.
|
||||||
|
# See the "extruder" section for the definition of the above
|
||||||
|
# parameters.
|
||||||
|
#gcode_id:
|
||||||
|
# See the "heater_generic" section for the definition of this
|
||||||
|
# parameter.
|
||||||
|
```
|
||||||
|
|
||||||
## Customized homing
|
## Customized homing
|
||||||
|
|
||||||
### [safe_z_home]
|
### [safe_z_home]
|
||||||
@@ -1525,17 +1654,41 @@ cs_pin:
|
|||||||
# measurements.
|
# measurements.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### [lis2dw]
|
||||||
|
|
||||||
|
Support for LIS2DW accelerometers.
|
||||||
|
|
||||||
|
```
|
||||||
|
[lis2dw]
|
||||||
|
cs_pin:
|
||||||
|
# The SPI enable pin for the sensor. This parameter must be provided.
|
||||||
|
#spi_speed: 5000000
|
||||||
|
# The SPI speed (in hz) to use when communicating with the chip.
|
||||||
|
# The default is 5000000.
|
||||||
|
#spi_bus:
|
||||||
|
#spi_software_sclk_pin:
|
||||||
|
#spi_software_mosi_pin:
|
||||||
|
#spi_software_miso_pin:
|
||||||
|
# See the "common SPI settings" section for a description of the
|
||||||
|
# above parameters.
|
||||||
|
#axes_map: x, y, z
|
||||||
|
# See the "adxl345" section for information on this parameter.
|
||||||
|
```
|
||||||
|
|
||||||
### [mpu9250]
|
### [mpu9250]
|
||||||
|
|
||||||
Support for mpu9250 and mpu6050 accelerometers (one may define any
|
Support for MPU-9250, MPU-9255, MPU-6515, MPU-6050, and MPU-6500
|
||||||
number of sections with an "mpu9250" prefix).
|
accelerometers (one may define any number of sections with an
|
||||||
|
"mpu9250" prefix).
|
||||||
|
|
||||||
```
|
```
|
||||||
[mpu9250 my_accelerometer]
|
[mpu9250 my_accelerometer]
|
||||||
#i2c_address:
|
#i2c_address:
|
||||||
# Default is 104 (0x68).
|
# Default is 104 (0x68). If AD0 is high, it would be 0x69 instead.
|
||||||
#i2c_mcu:
|
#i2c_mcu:
|
||||||
#i2c_bus:
|
#i2c_bus:
|
||||||
|
#i2c_software_scl_pin:
|
||||||
|
#i2c_software_sda_pin:
|
||||||
#i2c_speed: 400000
|
#i2c_speed: 400000
|
||||||
# See the "common I2C settings" section for a description of the
|
# See the "common I2C settings" section for a description of the
|
||||||
# above parameters. The default "i2c_speed" is 400000.
|
# above parameters. The default "i2c_speed" is 400000.
|
||||||
@@ -1835,6 +1988,35 @@ z_offset:
|
|||||||
# See the "probe" section for more information on the parameters above.
|
# See the "probe" section for more information on the parameters above.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### [axis_twist_compensation]
|
||||||
|
|
||||||
|
A tool to compensate for inaccurate probe readings due to twist in X gantry. See
|
||||||
|
the [Axis Twist Compensation Guide](Axis_Twist_Compensation.md) for more
|
||||||
|
detailed information regarding symptoms, configuration and setup.
|
||||||
|
|
||||||
|
```
|
||||||
|
[axis_twist_compensation]
|
||||||
|
#speed: 50
|
||||||
|
# The speed (in mm/s) of non-probing moves during the calibration.
|
||||||
|
# The default is 50.
|
||||||
|
#horizontal_move_z: 5
|
||||||
|
# The height (in mm) that the head should be commanded to move to
|
||||||
|
# just prior to starting a probe operation. The default is 5.
|
||||||
|
calibrate_start_x: 20
|
||||||
|
# Defines the minimum X coordinate of the calibration
|
||||||
|
# This should be the X coordinate that positions the nozzle at the starting
|
||||||
|
# calibration position. This parameter must be provided.
|
||||||
|
calibrate_end_x: 200
|
||||||
|
# Defines the maximum X coordinate of the calibration
|
||||||
|
# This should be the X coordinate that positions the nozzle at the ending
|
||||||
|
# calibration position. This parameter must be provided.
|
||||||
|
calibrate_y: 112.5
|
||||||
|
# Defines the Y coordinate of the calibration
|
||||||
|
# This should be the Y coordinate that positions the nozzle during the
|
||||||
|
# calibration process. This parameter must be provided and is recommended to
|
||||||
|
# be near the center of the bed
|
||||||
|
```
|
||||||
|
|
||||||
## Additional stepper motors and extruders
|
## Additional stepper motors and extruders
|
||||||
|
|
||||||
### [stepper_z1]
|
### [stepper_z1]
|
||||||
@@ -1883,14 +2065,32 @@ for an example configuration.
|
|||||||
|
|
||||||
### [dual_carriage]
|
### [dual_carriage]
|
||||||
|
|
||||||
Support for cartesian printers with dual carriages on a single
|
Support for cartesian and hybrid_corexy/z printers with dual carriages
|
||||||
axis. The active carriage is set via the SET_DUAL_CARRIAGE extended
|
on a single axis. The carriage mode can be set via the
|
||||||
g-code command. The "SET_DUAL_CARRIAGE CARRIAGE=1" command will
|
SET_DUAL_CARRIAGE extended g-code command. For example,
|
||||||
activate the carriage defined in this section (CARRIAGE=0 will return
|
"SET_DUAL_CARRIAGE CARRIAGE=1" command will activate the carriage defined
|
||||||
activation to the primary carriage). Dual carriage support is
|
in this section (CARRIAGE=0 will return activation to the primary carriage).
|
||||||
typically combined with extra extruders - the SET_DUAL_CARRIAGE
|
Dual carriage support is typically combined with extra extruders - the
|
||||||
command is often called at the same time as the ACTIVATE_EXTRUDER
|
SET_DUAL_CARRIAGE command is often called at the same time as the
|
||||||
command. Be sure to park the carriages during deactivation.
|
ACTIVATE_EXTRUDER command. Be sure to park the carriages during deactivation.
|
||||||
|
Note that during G28 homing, typically the primary carriage is homed first
|
||||||
|
followed by the carriage defined in the `[dual_carriage]` config section.
|
||||||
|
However, the `[dual_carriage]` carriage will be homed first if both carriages
|
||||||
|
home in a positive direction and the [dual_carriage] carriage has a
|
||||||
|
`position_endstop` greater than the primary carriage, or if both carriages home
|
||||||
|
in a negative direction and the `[dual_carriage]` carriage has a
|
||||||
|
`position_endstop` less than the primary carriage.
|
||||||
|
|
||||||
|
Additionally, one could use "SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY" or
|
||||||
|
"SET_DUAL_CARRIAGE CARRIAGE=1 MODE=MIRROR" commands to activate either copying
|
||||||
|
or mirroring mode of the dual carriage, in which case it will follow the
|
||||||
|
motion of the carriage 0 accordingly. These commands can be used to print
|
||||||
|
two parts simultaneously - either two identical parts (in COPY mode) or
|
||||||
|
mirrored parts (in MIRROR mode). Note that COPY and MIRROR modes also require
|
||||||
|
appropriate configuration of the extruder on the dual carriage, which can
|
||||||
|
typically be achieved with
|
||||||
|
"SYNC_EXTRUDER_MOTION MOTION_QUEUE=extruder EXTRUDER=<dual_carriage_extruder>"
|
||||||
|
or a similar command.
|
||||||
|
|
||||||
See [sample-idex.cfg](../config/sample-idex.cfg) for an example
|
See [sample-idex.cfg](../config/sample-idex.cfg) for an example
|
||||||
configuration.
|
configuration.
|
||||||
@@ -1900,6 +2100,15 @@ configuration.
|
|||||||
axis:
|
axis:
|
||||||
# The axis this extra carriage is on (either x or y). This parameter
|
# The axis this extra carriage is on (either x or y). This parameter
|
||||||
# must be provided.
|
# must be provided.
|
||||||
|
#safe_distance:
|
||||||
|
# The minimum distance (in mm) to enforce between the dual and the primary
|
||||||
|
# carriages. If a G-Code command is executed that will bring the carriages
|
||||||
|
# closer than the specified limit, such a command will be rejected with an
|
||||||
|
# error. If safe_distance is not provided, it will be inferred from
|
||||||
|
# position_min and position_max for the dual and primary carriages. If set
|
||||||
|
# to 0 (or safe_distance is unset and position_min and position_max are
|
||||||
|
# identical for the primary and dual carraiges), the carriages proximity
|
||||||
|
# checks will be disabled.
|
||||||
#step_pin:
|
#step_pin:
|
||||||
#dir_pin:
|
#dir_pin:
|
||||||
#enable_pin:
|
#enable_pin:
|
||||||
@@ -2144,7 +2353,7 @@ temperature sensors that are reported via the M105 command.
|
|||||||
|
|
||||||
Klipper includes definitions for many types of temperature sensors.
|
Klipper includes definitions for many types of temperature sensors.
|
||||||
These sensors may be used in any config section that requires a
|
These sensors may be used in any config section that requires a
|
||||||
temperature sensor (such as an `[extruder]` or `[heated_bed]`
|
temperature sensor (such as an `[extruder]` or `[heater_bed]`
|
||||||
section).
|
section).
|
||||||
|
|
||||||
### Common thermistors
|
### Common thermistors
|
||||||
@@ -2239,9 +2448,9 @@ sensor_pin:
|
|||||||
# name in the above list.
|
# name in the above list.
|
||||||
```
|
```
|
||||||
|
|
||||||
### BMP280/BME280/BME680 temperature sensor
|
### BMP180/BMP280/BME280/BME680 temperature sensor
|
||||||
|
|
||||||
BMP280/BME280/BME680 two wire interface (I2C) environmental sensors.
|
BMP180/BMP280/BME280/BME680 two wire interface (I2C) environmental sensors.
|
||||||
Note that these sensors are not intended for use with extruders and
|
Note that these sensors are not intended for use with extruders and
|
||||||
heater beds, but rather for monitoring ambient temperature (C),
|
heater beds, but rather for monitoring ambient temperature (C),
|
||||||
pressure (hPa), relative humidity and in case of the BME680 gas level.
|
pressure (hPa), relative humidity and in case of the BME680 gas level.
|
||||||
@@ -2252,13 +2461,39 @@ temperature.
|
|||||||
```
|
```
|
||||||
sensor_type: BME280
|
sensor_type: BME280
|
||||||
#i2c_address:
|
#i2c_address:
|
||||||
# Default is 118 (0x76). Some BME280 sensors have an address of 119
|
# Default is 118 (0x76). The BMP180 and some BME280 sensors have an address of 119
|
||||||
# (0x77).
|
# (0x77).
|
||||||
#i2c_mcu:
|
#i2c_mcu:
|
||||||
#i2c_bus:
|
#i2c_bus:
|
||||||
|
#i2c_software_scl_pin:
|
||||||
|
#i2c_software_sda_pin:
|
||||||
|
#i2c_speed:
|
||||||
|
# See the "common I2C settings" section for a description of the
|
||||||
|
# above parameters.
|
||||||
|
```
|
||||||
|
|
||||||
|
### AHT10/AHT20/AHT21 temperature sensor
|
||||||
|
|
||||||
|
AHT10/AHT20/AHT21 two wire interface (I2C) environmental sensors.
|
||||||
|
Note that these sensors are not intended for use with extruders and
|
||||||
|
heater beds, but rather for monitoring ambient temperature (C) and
|
||||||
|
relative humidity. See
|
||||||
|
[sample-macros.cfg](../config/sample-macros.cfg) for a gcode_macro
|
||||||
|
that may be used to report humidity in addition to temperature.
|
||||||
|
|
||||||
|
```
|
||||||
|
sensor_type: AHT10
|
||||||
|
# Also use AHT10 for AHT20 and AHT21 sensors.
|
||||||
|
#i2c_address:
|
||||||
|
# Default is 56 (0x38). Some AHT10 sensors give the option to use
|
||||||
|
# 57 (0x39) by moving a resistor.
|
||||||
|
#i2c_mcu:
|
||||||
|
#i2c_bus:
|
||||||
#i2c_speed:
|
#i2c_speed:
|
||||||
# See the "common I2C settings" section for a description of the
|
# See the "common I2C settings" section for a description of the
|
||||||
# above parameters.
|
# above parameters.
|
||||||
|
#aht10_report_time:
|
||||||
|
# Interval in seconds between readings. Default is 30, minimum is 5
|
||||||
```
|
```
|
||||||
|
|
||||||
### HTU21D sensor
|
### HTU21D sensor
|
||||||
@@ -2277,6 +2512,8 @@ sensor_type:
|
|||||||
# Default is 64 (0x40).
|
# Default is 64 (0x40).
|
||||||
#i2c_mcu:
|
#i2c_mcu:
|
||||||
#i2c_bus:
|
#i2c_bus:
|
||||||
|
#i2c_software_scl_pin:
|
||||||
|
#i2c_software_sda_pin:
|
||||||
#i2c_speed:
|
#i2c_speed:
|
||||||
# See the "common I2C settings" section for a description of the
|
# See the "common I2C settings" section for a description of the
|
||||||
# above parameters.
|
# above parameters.
|
||||||
@@ -2310,6 +2547,8 @@ sensor_type: LM75
|
|||||||
# (usually with jumpers or hard wired).
|
# (usually with jumpers or hard wired).
|
||||||
#i2c_mcu:
|
#i2c_mcu:
|
||||||
#i2c_bus:
|
#i2c_bus:
|
||||||
|
#i2c_software_scl_pin:
|
||||||
|
#i2c_software_sda_pin:
|
||||||
#i2c_speed:
|
#i2c_speed:
|
||||||
# See the "common I2C settings" section for a description of the
|
# See the "common I2C settings" section for a description of the
|
||||||
# above parameters.
|
# above parameters.
|
||||||
@@ -2320,7 +2559,7 @@ sensor_type: LM75
|
|||||||
|
|
||||||
### Builtin micro-controller temperature sensor
|
### Builtin micro-controller temperature sensor
|
||||||
|
|
||||||
The atsam, atsamd, and stm32 micro-controllers contain an internal
|
The atsam, atsamd, stm32 and rp2040 micro-controllers contain an internal
|
||||||
temperature sensor. One can use the "temperature_mcu" sensor to
|
temperature sensor. One can use the "temperature_mcu" sensor to
|
||||||
monitor these temperatures.
|
monitor these temperatures.
|
||||||
|
|
||||||
@@ -2381,6 +2620,24 @@ serial_no:
|
|||||||
# The micro-controller to read from. Must be the host_mcu
|
# The micro-controller to read from. Must be the host_mcu
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Combined temperature sensor
|
||||||
|
|
||||||
|
Combined temperature sensor is a virtual temperature sensor based on several other sensors. This sensor can be used with extruders, heater_generic and heater beds.
|
||||||
|
|
||||||
|
```
|
||||||
|
sensor_type: temperature_combined
|
||||||
|
#sensor_list:
|
||||||
|
# Must be provided. List of sensors to combine to new "virtual"
|
||||||
|
# sensor.
|
||||||
|
# E.g. 'temperature_sensor sensor1,extruder,heater_bed'
|
||||||
|
#combination_method:
|
||||||
|
# Must be provided. Combination method used for the sensor.
|
||||||
|
# Available options are 'max', 'min', 'mean'.
|
||||||
|
#maximum_deviation:
|
||||||
|
# Must be provided. Maximum permissible deviation between the sensors
|
||||||
|
# to combine (e.g. 5 degrees). To disable it, use a large value (e.g. 999.9)
|
||||||
|
```
|
||||||
|
|
||||||
## Fans
|
## Fans
|
||||||
|
|
||||||
### [fan]
|
### [fan]
|
||||||
@@ -2446,6 +2703,12 @@ pin:
|
|||||||
# enough for fans below 10000 RPM at 2 PPR. This must be smaller than
|
# enough for fans below 10000 RPM at 2 PPR. This must be smaller than
|
||||||
# 30/(tachometer_ppr*rpm), with some margin, where rpm is the
|
# 30/(tachometer_ppr*rpm), with some margin, where rpm is the
|
||||||
# maximum speed (in RPM) of the fan.
|
# maximum speed (in RPM) of the fan.
|
||||||
|
#enable_pin:
|
||||||
|
# Optional pin to enable power to the fan. This can be useful for fans
|
||||||
|
# with dedicated PWM inputs. Some of these fans stay on even at 0% PWM
|
||||||
|
# input. In such a case, the PWM pin can be used normally, and e.g. a
|
||||||
|
# ground-switched FET(standard fan pin) can be used to control power to
|
||||||
|
# the fan.
|
||||||
```
|
```
|
||||||
|
|
||||||
### [heater_fan]
|
### [heater_fan]
|
||||||
@@ -2456,7 +2719,7 @@ whenever its associated heater is active. By default, a heater_fan has
|
|||||||
a shutdown_speed equal to max_power.
|
a shutdown_speed equal to max_power.
|
||||||
|
|
||||||
```
|
```
|
||||||
[heater_fan my_nozzle_fan]
|
[heater_fan heatbreak_cooling_fan]
|
||||||
#pin:
|
#pin:
|
||||||
#max_power:
|
#max_power:
|
||||||
#shutdown_speed:
|
#shutdown_speed:
|
||||||
@@ -2467,6 +2730,7 @@ a shutdown_speed equal to max_power.
|
|||||||
#tachometer_pin:
|
#tachometer_pin:
|
||||||
#tachometer_ppr:
|
#tachometer_ppr:
|
||||||
#tachometer_poll_interval:
|
#tachometer_poll_interval:
|
||||||
|
#enable_pin:
|
||||||
# See the "fan" section for a description of the above parameters.
|
# See the "fan" section for a description of the above parameters.
|
||||||
#heater: extruder
|
#heater: extruder
|
||||||
# Name of the config section defining the heater that this fan is
|
# Name of the config section defining the heater that this fan is
|
||||||
@@ -2503,6 +2767,7 @@ watched component.
|
|||||||
#tachometer_pin:
|
#tachometer_pin:
|
||||||
#tachometer_ppr:
|
#tachometer_ppr:
|
||||||
#tachometer_poll_interval:
|
#tachometer_poll_interval:
|
||||||
|
#enable_pin:
|
||||||
# See the "fan" section for a description of the above parameters.
|
# See the "fan" section for a description of the above parameters.
|
||||||
#fan_speed: 1.0
|
#fan_speed: 1.0
|
||||||
# The fan speed (expressed as a value from 0.0 to 1.0) that the fan
|
# The fan speed (expressed as a value from 0.0 to 1.0) that the fan
|
||||||
@@ -2548,6 +2813,7 @@ information.
|
|||||||
#tachometer_pin:
|
#tachometer_pin:
|
||||||
#tachometer_ppr:
|
#tachometer_ppr:
|
||||||
#tachometer_poll_interval:
|
#tachometer_poll_interval:
|
||||||
|
#enable_pin:
|
||||||
# See the "fan" section for a description of the above parameters.
|
# See the "fan" section for a description of the above parameters.
|
||||||
#sensor_type:
|
#sensor_type:
|
||||||
#sensor_pin:
|
#sensor_pin:
|
||||||
@@ -2605,6 +2871,7 @@ with the SET_FAN_SPEED [gcode command](G-Codes.md#fan_generic).
|
|||||||
#tachometer_pin:
|
#tachometer_pin:
|
||||||
#tachometer_ppr:
|
#tachometer_ppr:
|
||||||
#tachometer_poll_interval:
|
#tachometer_poll_interval:
|
||||||
|
#enable_pin:
|
||||||
# See the "fan" section for a description of the above parameters.
|
# See the "fan" section for a description of the above parameters.
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -2707,6 +2974,8 @@ PCA9533 LED support. The PCA9533 is used on the mightyboard.
|
|||||||
# the PCA9533/1, 99 for the PCA9533/2. The default is 98.
|
# the PCA9533/1, 99 for the PCA9533/2. The default is 98.
|
||||||
#i2c_mcu:
|
#i2c_mcu:
|
||||||
#i2c_bus:
|
#i2c_bus:
|
||||||
|
#i2c_software_scl_pin:
|
||||||
|
#i2c_software_sda_pin:
|
||||||
#i2c_speed:
|
#i2c_speed:
|
||||||
# See the "common I2C settings" section for a description of the
|
# See the "common I2C settings" section for a description of the
|
||||||
# above parameters.
|
# above parameters.
|
||||||
@@ -2728,6 +2997,8 @@ PCA9632 LED support. The PCA9632 is used on the FlashForge Dreamer.
|
|||||||
# 96, 97, 98, or 99. The default is 98.
|
# 96, 97, 98, or 99. The default is 98.
|
||||||
#i2c_mcu:
|
#i2c_mcu:
|
||||||
#i2c_bus:
|
#i2c_bus:
|
||||||
|
#i2c_software_scl_pin:
|
||||||
|
#i2c_software_sda_pin:
|
||||||
#i2c_speed:
|
#i2c_speed:
|
||||||
# See the "common I2C settings" section for a description of the
|
# See the "common I2C settings" section for a description of the
|
||||||
# above parameters.
|
# above parameters.
|
||||||
@@ -2864,6 +3135,27 @@ pin:
|
|||||||
# parameter.
|
# parameter.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### [pwm_tool]
|
||||||
|
|
||||||
|
Pulse width modulation digital output pins capable of high speed
|
||||||
|
updates (one may define any number of sections with an "output_pin"
|
||||||
|
prefix). Pins configured here will be setup as output pins and one may
|
||||||
|
modify them at run-time using "SET_PIN PIN=my_pin VALUE=.1" type
|
||||||
|
extended [g-code commands](G-Codes.md#output_pin).
|
||||||
|
|
||||||
|
```
|
||||||
|
[pwm_tool my_tool]
|
||||||
|
pin:
|
||||||
|
# The pin to configure as an output. This parameter must be provided.
|
||||||
|
#value:
|
||||||
|
#shutdown_value:
|
||||||
|
#maximum_mcu_duration:
|
||||||
|
#cycle_time: 0.100
|
||||||
|
#hardware_pwm: False
|
||||||
|
#scale:
|
||||||
|
# See the "output_pin" section for the definition of these parameters.
|
||||||
|
```
|
||||||
|
|
||||||
### [static_digital_output]
|
### [static_digital_output]
|
||||||
|
|
||||||
Statically configured digital output pins (one may define any number
|
Statically configured digital output pins (one may define any number
|
||||||
@@ -2949,6 +3241,30 @@ run_current:
|
|||||||
# set, "stealthChop" mode will be enabled if the stepper motor
|
# set, "stealthChop" mode will be enabled if the stepper motor
|
||||||
# velocity is below this value. The default is 0, which disables
|
# velocity is below this value. The default is 0, which disables
|
||||||
# "stealthChop" mode.
|
# "stealthChop" mode.
|
||||||
|
#driver_MSLUT0: 2863314260
|
||||||
|
#driver_MSLUT1: 1251300522
|
||||||
|
#driver_MSLUT2: 608774441
|
||||||
|
#driver_MSLUT3: 269500962
|
||||||
|
#driver_MSLUT4: 4227858431
|
||||||
|
#driver_MSLUT5: 3048961917
|
||||||
|
#driver_MSLUT6: 1227445590
|
||||||
|
#driver_MSLUT7: 4211234
|
||||||
|
#driver_W0: 2
|
||||||
|
#driver_W1: 1
|
||||||
|
#driver_W2: 1
|
||||||
|
#driver_W3: 1
|
||||||
|
#driver_X1: 128
|
||||||
|
#driver_X2: 255
|
||||||
|
#driver_X3: 255
|
||||||
|
#driver_START_SIN: 0
|
||||||
|
#driver_START_SIN90: 247
|
||||||
|
# These fields control the Microstep Table registers directly. The optimal
|
||||||
|
# wave table is specific to each motor and might vary with current. An
|
||||||
|
# optimal configuration will have minimal print artifacts caused by
|
||||||
|
# non-linear stepper movement. The values specified above are the default
|
||||||
|
# values used by the driver. The value must be specified as a decimal integer
|
||||||
|
# (hex form is not supported). In order to compute the wave table fields,
|
||||||
|
# see the tmc2130 "Calculation Sheet" from the Trinamic website.
|
||||||
#driver_IHOLDDELAY: 8
|
#driver_IHOLDDELAY: 8
|
||||||
#driver_TPOWERDOWN: 0
|
#driver_TPOWERDOWN: 0
|
||||||
#driver_TBL: 1
|
#driver_TBL: 1
|
||||||
@@ -3018,6 +3334,7 @@ run_current:
|
|||||||
# set, "stealthChop" mode will be enabled if the stepper motor
|
# set, "stealthChop" mode will be enabled if the stepper motor
|
||||||
# velocity is below this value. The default is 0, which disables
|
# velocity is below this value. The default is 0, which disables
|
||||||
# "stealthChop" mode.
|
# "stealthChop" mode.
|
||||||
|
#driver_MULTISTEP_FILT: True
|
||||||
#driver_IHOLDDELAY: 8
|
#driver_IHOLDDELAY: 8
|
||||||
#driver_TPOWERDOWN: 20
|
#driver_TPOWERDOWN: 20
|
||||||
#driver_TBL: 2
|
#driver_TBL: 2
|
||||||
@@ -3059,6 +3376,7 @@ run_current:
|
|||||||
# The address of the TMC2209 chip for UART messages (an integer
|
# The address of the TMC2209 chip for UART messages (an integer
|
||||||
# between 0 and 3). This is typically used when multiple TMC2209
|
# between 0 and 3). This is typically used when multiple TMC2209
|
||||||
# chips are connected to the same UART pin. The default is zero.
|
# chips are connected to the same UART pin. The default is zero.
|
||||||
|
#driver_MULTISTEP_FILT: True
|
||||||
#driver_IHOLDDELAY: 8
|
#driver_IHOLDDELAY: 8
|
||||||
#driver_TPOWERDOWN: 20
|
#driver_TPOWERDOWN: 20
|
||||||
#driver_TBL: 2
|
#driver_TBL: 2
|
||||||
@@ -3159,6 +3477,130 @@ run_current:
|
|||||||
# HDEC) is interpreted as the MSB of HSTRT in this case).
|
# HDEC) is interpreted as the MSB of HSTRT in this case).
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### [tmc2240]
|
||||||
|
|
||||||
|
Configure a TMC2240 stepper motor driver via SPI bus or UART. To use this
|
||||||
|
feature, define a config section with a "tmc2240" prefix followed by
|
||||||
|
the name of the corresponding stepper config section (for example,
|
||||||
|
"[tmc2240 stepper_x]").
|
||||||
|
|
||||||
|
```
|
||||||
|
[tmc2240 stepper_x]
|
||||||
|
cs_pin:
|
||||||
|
# The pin corresponding to the TMC2240 chip select line. This pin
|
||||||
|
# will be set to low at the start of SPI messages and raised to high
|
||||||
|
# after the message completes. This parameter must be provided.
|
||||||
|
#spi_speed:
|
||||||
|
#spi_bus:
|
||||||
|
#spi_software_sclk_pin:
|
||||||
|
#spi_software_mosi_pin:
|
||||||
|
#spi_software_miso_pin:
|
||||||
|
# See the "common SPI settings" section for a description of the
|
||||||
|
# above parameters.
|
||||||
|
#uart_pin:
|
||||||
|
# The pin connected to the TMC2240 DIAG1/SW line. If this parameter
|
||||||
|
# is provided UART communication is used rather then SPI.
|
||||||
|
#chain_position:
|
||||||
|
#chain_length:
|
||||||
|
# These parameters configure an SPI daisy chain. The two parameters
|
||||||
|
# define the stepper position in the chain and the total chain length.
|
||||||
|
# Position 1 corresponds to the stepper that connects to the MOSI signal.
|
||||||
|
# The default is to not use an SPI daisy chain.
|
||||||
|
#interpolate: True
|
||||||
|
# If true, enable step interpolation (the driver will internally
|
||||||
|
# step at a rate of 256 micro-steps). The default is True.
|
||||||
|
run_current:
|
||||||
|
# The amount of current (in amps RMS) to configure the driver to use
|
||||||
|
# during stepper movement. This parameter must be provided.
|
||||||
|
#hold_current:
|
||||||
|
# The amount of current (in amps RMS) to configure the driver to use
|
||||||
|
# when the stepper is not moving. Setting a hold_current is not
|
||||||
|
# recommended (see TMC_Drivers.md for details). The default is to
|
||||||
|
# not reduce the current.
|
||||||
|
#rref: 12000
|
||||||
|
# The resistance (in ohms) of the resistor between IREF and GND. The
|
||||||
|
# default is 12000.
|
||||||
|
#stealthchop_threshold: 0
|
||||||
|
# The velocity (in mm/s) to set the "stealthChop" threshold to. When
|
||||||
|
# set, "stealthChop" mode will be enabled if the stepper motor
|
||||||
|
# velocity is below this value. The default is 0, which disables
|
||||||
|
# "stealthChop" mode.
|
||||||
|
#driver_MSLUT0: 2863314260
|
||||||
|
#driver_MSLUT1: 1251300522
|
||||||
|
#driver_MSLUT2: 608774441
|
||||||
|
#driver_MSLUT3: 269500962
|
||||||
|
#driver_MSLUT4: 4227858431
|
||||||
|
#driver_MSLUT5: 3048961917
|
||||||
|
#driver_MSLUT6: 1227445590
|
||||||
|
#driver_MSLUT7: 4211234
|
||||||
|
#driver_W0: 2
|
||||||
|
#driver_W1: 1
|
||||||
|
#driver_W2: 1
|
||||||
|
#driver_W3: 1
|
||||||
|
#driver_X1: 128
|
||||||
|
#driver_X2: 255
|
||||||
|
#driver_X3: 255
|
||||||
|
#driver_START_SIN: 0
|
||||||
|
#driver_START_SIN90: 247
|
||||||
|
#driver_OFFSET_SIN90: 0
|
||||||
|
# These fields control the Microstep Table registers directly. The optimal
|
||||||
|
# wave table is specific to each motor and might vary with current. An
|
||||||
|
# optimal configuration will have minimal print artifacts caused by
|
||||||
|
# non-linear stepper movement. The values specified above are the default
|
||||||
|
# values used by the driver. The value must be specified as a decimal integer
|
||||||
|
# (hex form is not supported). In order to compute the wave table fields,
|
||||||
|
# see the tmc2130 "Calculation Sheet" from the Trinamic website.
|
||||||
|
# Additionally, this driver also has the OFFSET_SIN90 field which can be used
|
||||||
|
# to tune a motor with unbalanced coils. See the `Sine Wave Lookup Table`
|
||||||
|
# section in the datasheet for information about this field and how to tune
|
||||||
|
# it.
|
||||||
|
#driver_MULTISTEP_FILT: True
|
||||||
|
#driver_IHOLDDELAY: 6
|
||||||
|
#driver_IRUNDELAY: 4
|
||||||
|
#driver_TPOWERDOWN: 10
|
||||||
|
#driver_TBL: 2
|
||||||
|
#driver_TOFF: 3
|
||||||
|
#driver_HEND: 2
|
||||||
|
#driver_HSTRT: 5
|
||||||
|
#driver_FD3: 0
|
||||||
|
#driver_TPFD: 4
|
||||||
|
#driver_CHM: 0
|
||||||
|
#driver_VHIGHFS: 0
|
||||||
|
#driver_VHIGHCHM: 0
|
||||||
|
#driver_DISS2G: 0
|
||||||
|
#driver_DISS2VS: 0
|
||||||
|
#driver_PWM_AUTOSCALE: True
|
||||||
|
#driver_PWM_AUTOGRAD: True
|
||||||
|
#driver_PWM_FREQ: 0
|
||||||
|
#driver_FREEWHEEL: 0
|
||||||
|
#driver_PWM_GRAD: 0
|
||||||
|
#driver_PWM_OFS: 29
|
||||||
|
#driver_PWM_REG: 4
|
||||||
|
#driver_PWM_LIM: 12
|
||||||
|
#driver_SGT: 0
|
||||||
|
#driver_SEMIN: 0
|
||||||
|
#driver_SEUP: 0
|
||||||
|
#driver_SEMAX: 0
|
||||||
|
#driver_SEDN: 0
|
||||||
|
#driver_SEIMIN: 0
|
||||||
|
#driver_SFILT: 0
|
||||||
|
#driver_SG4_ANGLE_OFFSET: 1
|
||||||
|
# Set the given register during the configuration of the TMC2240
|
||||||
|
# chip. This may be used to set custom motor parameters. The
|
||||||
|
# defaults for each parameter are next to the parameter name in the
|
||||||
|
# above list.
|
||||||
|
#diag0_pin:
|
||||||
|
#diag1_pin:
|
||||||
|
# The micro-controller pin attached to one of the DIAG lines of the
|
||||||
|
# TMC2240 chip. Only a single diag pin should be specified. The pin
|
||||||
|
# is "active low" and is thus normally prefaced with "^!". Setting
|
||||||
|
# this creates a "tmc2240_stepper_x:virtual_endstop" virtual pin
|
||||||
|
# which may be used as the stepper's endstop_pin. Doing this enables
|
||||||
|
# "sensorless homing". (Be sure to also set driver_SGT to an
|
||||||
|
# appropriate sensitivity value.) The default is to not enable
|
||||||
|
# sensorless homing.
|
||||||
|
```
|
||||||
|
|
||||||
### [tmc5160]
|
### [tmc5160]
|
||||||
|
|
||||||
Configure a TMC5160 stepper motor driver via SPI bus. To use this
|
Configure a TMC5160 stepper motor driver via SPI bus. To use this
|
||||||
@@ -3204,6 +3646,31 @@ run_current:
|
|||||||
# set, "stealthChop" mode will be enabled if the stepper motor
|
# set, "stealthChop" mode will be enabled if the stepper motor
|
||||||
# velocity is below this value. The default is 0, which disables
|
# velocity is below this value. The default is 0, which disables
|
||||||
# "stealthChop" mode.
|
# "stealthChop" mode.
|
||||||
|
#driver_MSLUT0: 2863314260
|
||||||
|
#driver_MSLUT1: 1251300522
|
||||||
|
#driver_MSLUT2: 608774441
|
||||||
|
#driver_MSLUT3: 269500962
|
||||||
|
#driver_MSLUT4: 4227858431
|
||||||
|
#driver_MSLUT5: 3048961917
|
||||||
|
#driver_MSLUT6: 1227445590
|
||||||
|
#driver_MSLUT7: 4211234
|
||||||
|
#driver_W0: 2
|
||||||
|
#driver_W1: 1
|
||||||
|
#driver_W2: 1
|
||||||
|
#driver_W3: 1
|
||||||
|
#driver_X1: 128
|
||||||
|
#driver_X2: 255
|
||||||
|
#driver_X3: 255
|
||||||
|
#driver_START_SIN: 0
|
||||||
|
#driver_START_SIN90: 247
|
||||||
|
# These fields control the Microstep Table registers directly. The optimal
|
||||||
|
# wave table is specific to each motor and might vary with current. An
|
||||||
|
# optimal configuration will have minimal print artifacts caused by
|
||||||
|
# non-linear stepper movement. The values specified above are the default
|
||||||
|
# values used by the driver. The value must be specified as a decimal integer
|
||||||
|
# (hex form is not supported). In order to compute the wave table fields,
|
||||||
|
# see the tmc2130 "Calculation Sheet" from the Trinamic website.
|
||||||
|
#driver_MULTISTEP_FILT: True
|
||||||
#driver_IHOLDDELAY: 6
|
#driver_IHOLDDELAY: 6
|
||||||
#driver_TPOWERDOWN: 10
|
#driver_TPOWERDOWN: 10
|
||||||
#driver_TBL: 2
|
#driver_TBL: 2
|
||||||
@@ -3232,6 +3699,10 @@ run_current:
|
|||||||
#driver_SEDN: 0
|
#driver_SEDN: 0
|
||||||
#driver_SEIMIN: 0
|
#driver_SEIMIN: 0
|
||||||
#driver_SFILT: 0
|
#driver_SFILT: 0
|
||||||
|
#driver_DRVSTRENGTH: 0
|
||||||
|
#driver_BBMCLKS: 4
|
||||||
|
#driver_BBMTIME: 0
|
||||||
|
#driver_FILT_ISENSE: 0
|
||||||
# Set the given register during the configuration of the TMC5160
|
# Set the given register during the configuration of the TMC5160
|
||||||
# chip. This may be used to set custom motor parameters. The
|
# chip. This may be used to set custom motor parameters. The
|
||||||
# defaults for each parameter are next to the parameter name in the
|
# defaults for each parameter are next to the parameter name in the
|
||||||
@@ -3302,6 +3773,8 @@ i2c_address:
|
|||||||
# parameter must be provided.
|
# parameter must be provided.
|
||||||
#i2c_mcu:
|
#i2c_mcu:
|
||||||
#i2c_bus:
|
#i2c_bus:
|
||||||
|
#i2c_software_scl_pin:
|
||||||
|
#i2c_software_sda_pin:
|
||||||
#i2c_speed:
|
#i2c_speed:
|
||||||
# See the "common I2C settings" section for a description of the
|
# See the "common I2C settings" section for a description of the
|
||||||
# above parameters.
|
# above parameters.
|
||||||
@@ -3338,6 +3811,8 @@ prefix).
|
|||||||
# is 96.
|
# is 96.
|
||||||
#i2c_mcu:
|
#i2c_mcu:
|
||||||
#i2c_bus:
|
#i2c_bus:
|
||||||
|
#i2c_software_scl_pin:
|
||||||
|
#i2c_software_sda_pin:
|
||||||
#i2c_speed:
|
#i2c_speed:
|
||||||
# See the "common I2C settings" section for a description of the
|
# See the "common I2C settings" section for a description of the
|
||||||
# above parameters.
|
# above parameters.
|
||||||
@@ -3608,6 +4083,8 @@ lcd_type:
|
|||||||
# Set to either "ssd1306" or "sh1106" for the given display type.
|
# Set to either "ssd1306" or "sh1106" for the given display type.
|
||||||
#i2c_mcu:
|
#i2c_mcu:
|
||||||
#i2c_bus:
|
#i2c_bus:
|
||||||
|
#i2c_software_scl_pin:
|
||||||
|
#i2c_software_sda_pin:
|
||||||
#i2c_speed:
|
#i2c_speed:
|
||||||
# Optional parameters available for displays connected via an i2c
|
# Optional parameters available for displays connected via an i2c
|
||||||
# bus. See the "common I2C settings" section for a description of
|
# bus. See the "common I2C settings" section for a description of
|
||||||
@@ -3952,6 +4429,9 @@ adc2:
|
|||||||
# command.
|
# command.
|
||||||
#min_diameter: 1.0
|
#min_diameter: 1.0
|
||||||
# Minimal diameter for trigger virtual filament_switch_sensor.
|
# Minimal diameter for trigger virtual filament_switch_sensor.
|
||||||
|
#max_diameter:
|
||||||
|
# Maximum diameter for triggering virtual filament_switch_sensor.
|
||||||
|
# The default is default_nominal_filament_diameter + max_difference.
|
||||||
#use_current_dia_while_delay: False
|
#use_current_dia_while_delay: False
|
||||||
# Use the current diameter instead of the nominal diameter while
|
# Use the current diameter instead of the nominal diameter while
|
||||||
# the measurement delay has not run through.
|
# the measurement delay has not run through.
|
||||||
@@ -3988,13 +4468,11 @@ i2c_address:
|
|||||||
# 113. This parameter must be provided.
|
# 113. This parameter must be provided.
|
||||||
#i2c_mcu:
|
#i2c_mcu:
|
||||||
#i2c_bus:
|
#i2c_bus:
|
||||||
|
#i2c_software_scl_pin:
|
||||||
|
#i2c_software_sda_pin:
|
||||||
#i2c_speed:
|
#i2c_speed:
|
||||||
# See the "common I2C settings" section for a description of the
|
# See the "common I2C settings" section for a description of the
|
||||||
# above parameters.
|
# above parameters.
|
||||||
#i2c_bus:
|
|
||||||
# If the I2C implementation of your micro-controller supports
|
|
||||||
# multiple I2C busses, you may specify the bus name here. The
|
|
||||||
# default is to use the default micro-controller i2c bus.
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### [samd_sercom]
|
### [samd_sercom]
|
||||||
@@ -4151,7 +4629,7 @@ serial:
|
|||||||
#auto_load_speed: 2
|
#auto_load_speed: 2
|
||||||
# Extrude feedrate when autoloading, default is 2 (mm/s)
|
# Extrude feedrate when autoloading, default is 2 (mm/s)
|
||||||
#auto_cancel_variation: 0.1
|
#auto_cancel_variation: 0.1
|
||||||
# Auto cancel print when ping varation is above this threshold
|
# Auto cancel print when ping variation is above this threshold
|
||||||
```
|
```
|
||||||
|
|
||||||
### [angle]
|
### [angle]
|
||||||
@@ -4217,20 +4695,20 @@ SPI bus.
|
|||||||
The following parameters are generally available for devices using an
|
The following parameters are generally available for devices using an
|
||||||
I2C bus.
|
I2C bus.
|
||||||
|
|
||||||
Note that Klipper's current micro-controller support for i2c is
|
Note that Klipper's current micro-controller support for I2C is
|
||||||
generally not tolerant to line noise. Unexpected errors on the i2c
|
generally not tolerant to line noise. Unexpected errors on the I2C
|
||||||
wires may result in Klipper raising a run-time error. Klipper's
|
wires may result in Klipper raising a run-time error. Klipper's
|
||||||
support for error recovery varies between each micro-controller type.
|
support for error recovery varies between each micro-controller type.
|
||||||
It is generally recommended to only use i2c devices that are on the
|
It is generally recommended to only use I2C devices that are on the
|
||||||
same printed circuit board as the micro-controller.
|
same printed circuit board as the micro-controller.
|
||||||
|
|
||||||
Most Klipper micro-controller implementations only support an
|
Most Klipper micro-controller implementations only support an
|
||||||
`i2c_speed` of 100000. The Klipper "linux" micro-controller supports a
|
`i2c_speed` of 100000 (*standard mode*, 100kbit/s). The Klipper "Linux"
|
||||||
400000 speed, but it must be
|
micro-controller supports a 400000 speed (*fast mode*, 400kbit/s), but it must be
|
||||||
[set in the operating system](RPi_microcontroller.md#optional-enabling-i2c)
|
[set in the operating system](RPi_microcontroller.md#optional-enabling-i2c)
|
||||||
and the `i2c_speed` parameter is otherwise ignored. The Klipper
|
and the `i2c_speed` parameter is otherwise ignored. The Klipper
|
||||||
"rp2040" micro-controller supports a rate of 400000 via the
|
"RP2040" micro-controller and ATmega AVR family support a rate of 400000
|
||||||
`i2c_speed` parameter. All other Klipper micro-controllers use a
|
via the `i2c_speed` parameter. All other Klipper micro-controllers use a
|
||||||
100000 rate and ignore the `i2c_speed` parameter.
|
100000 rate and ignore the `i2c_speed` parameter.
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -4244,9 +4722,16 @@ and the `i2c_speed` parameter is otherwise ignored. The Klipper
|
|||||||
# If the micro-controller supports multiple I2C busses then one may
|
# If the micro-controller supports multiple I2C busses then one may
|
||||||
# specify the micro-controller bus name here. The default depends on
|
# specify the micro-controller bus name here. The default depends on
|
||||||
# the type of micro-controller.
|
# the type of micro-controller.
|
||||||
|
#i2c_software_scl_pin:
|
||||||
|
#i2c_software_sda_pin:
|
||||||
|
# Specify these parameters to use micro-controller software based
|
||||||
|
# I2C "bit-banging" support. The two parameters should the two pins
|
||||||
|
# on the micro-controller to use for the scl and sda wires. The
|
||||||
|
# default is to use hardware based I2C support as specified by the
|
||||||
|
# i2c_bus parameter.
|
||||||
#i2c_speed:
|
#i2c_speed:
|
||||||
# The I2C speed (in Hz) to use when communicating with the device.
|
# The I2C speed (in Hz) to use when communicating with the device.
|
||||||
# The Klipper implementation on most micro-controllers is hard-coded
|
# The Klipper implementation on most micro-controllers is hard-coded
|
||||||
# to 100000 and changing this value has no effect. The default is
|
# to 100000 and changing this value has no effect. The default is
|
||||||
# 100000.
|
# 100000. Linux, RP2040 and ATmega support 400000.
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -15,10 +15,7 @@ config file is successfully loaded.
|
|||||||
## Verify temperature
|
## Verify temperature
|
||||||
|
|
||||||
Start by verifying that temperatures are being properly reported.
|
Start by verifying that temperatures are being properly reported.
|
||||||
Navigate to the Octoprint temperature tab.
|
Navigate to the temperature graph section in the user interface.
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Verify that the temperature of the nozzle and bed (if applicable) are
|
Verify that the temperature of the nozzle and bed (if applicable) are
|
||||||
present and not increasing. If it is increasing, remove power from the
|
present and not increasing. If it is increasing, remove power from the
|
||||||
printer. If the temperatures are not accurate, review the
|
printer. If the temperatures are not accurate, review the
|
||||||
@@ -26,28 +23,25 @@ printer. If the temperatures are not accurate, review the
|
|||||||
|
|
||||||
## Verify M112
|
## Verify M112
|
||||||
|
|
||||||
Navigate to the Octoprint terminal tab and issue an M112 command in
|
Navigate to the command console and issue an M112
|
||||||
the terminal box. This command requests Klipper to go into a
|
command in the terminal box. This command requests Klipper to go into a
|
||||||
"shutdown" state. It will cause Octoprint to disconnect from Klipper -
|
"shutdown" state. It will cause an error to show,
|
||||||
navigate to the Connection area and click on "Connect" to cause
|
which can be cleared with a FIRMWARE_RESTART command in the
|
||||||
Octoprint to reconnect. Then navigate to the Octoprint temperature tab
|
command console. Octoprint will also require a reconnect. Then navigate
|
||||||
and verify that temperatures continue to update and the temperatures
|
to the temperature graph section and verify that temperatures continue
|
||||||
are not increasing. If temperatures are increasing, remove power from
|
to update and the temperatures are not increasing.
|
||||||
the printer.
|
If temperatures are increasing, remove power from the printer.
|
||||||
|
|
||||||
The M112 command causes Klipper to go into a "shutdown" state. To
|
|
||||||
clear this state, issue a FIRMWARE_RESTART command in the Octoprint
|
|
||||||
terminal tab.
|
|
||||||
|
|
||||||
## Verify heaters
|
## Verify heaters
|
||||||
|
|
||||||
Navigate to the Octoprint temperature tab and type in 50 followed by
|
Navigate to the temperature graph section and type in 50 followed by
|
||||||
enter in the "Tool" temperature box. The extruder temperature in the
|
enter in the extruder/tool temperature box.
|
||||||
graph should start to increase (within about 30 seconds or so). Then
|
The extruder temperature in the graph should start to increase
|
||||||
go to the "Tool" temperature drop-down box and select "Off". After
|
(within about 30 seconds or so). Then go to the extruder temperature
|
||||||
several minutes the temperature should start to return to its initial
|
drop-down box and select "Off". After several minutes the temperature
|
||||||
room temperature value. If the temperature does not increase then
|
should start to return to its initial room temperature value. If the
|
||||||
verify the "heater_pin" setting in the config.
|
temperature does not increase then verify the "heater_pin" setting
|
||||||
|
in the config.
|
||||||
|
|
||||||
If the printer has a heated bed then perform the above test again with
|
If the printer has a heated bed then perform the above test again with
|
||||||
the bed.
|
the bed.
|
||||||
@@ -60,21 +54,20 @@ the motors. If any of the axes still can not move freely, then verify
|
|||||||
the stepper "enable_pin" configuration for the given axis. On most
|
the stepper "enable_pin" configuration for the given axis. On most
|
||||||
commodity stepper motor drivers, the motor enable pin is "active low"
|
commodity stepper motor drivers, the motor enable pin is "active low"
|
||||||
and therefore the enable pin should have a "!" before the pin (for
|
and therefore the enable pin should have a "!" before the pin (for
|
||||||
example, "enable_pin: !ar38").
|
example, "enable_pin: !PA1").
|
||||||
|
|
||||||
## Verify endstops
|
## Verify endstops
|
||||||
|
|
||||||
Manually move all the printer axes so that none of them are in contact
|
Manually move all the printer axes so that none of them are in contact
|
||||||
with an endstop. Send a QUERY_ENDSTOPS command via the Octoprint
|
with an endstop. Send a QUERY_ENDSTOPS command via the command console.
|
||||||
terminal tab. It should respond with the current state of all of the
|
It should respond with the current state of all of the configured endstops
|
||||||
configured endstops and they should all report a state of "open". For
|
and they should all report a state of "open". For each of the endstops,
|
||||||
each of the endstops, rerun the QUERY_ENDSTOPS command while manually
|
rerun the QUERY_ENDSTOPS command while manually triggering the endstop.
|
||||||
triggering the endstop. The QUERY_ENDSTOPS command should report the
|
The QUERY_ENDSTOPS command should report the endstop as "TRIGGERED".
|
||||||
endstop as "TRIGGERED".
|
|
||||||
|
|
||||||
If the endstop appears inverted (it reports "open" when triggered and
|
If the endstop appears inverted (it reports "open" when triggered and
|
||||||
vice-versa) then add a "!" to the pin definition (for example,
|
vice-versa) then add a "!" to the pin definition (for example,
|
||||||
"endstop_pin: ^!ar3"), or remove the "!" if there is already one
|
"endstop_pin: ^!PA2"), or remove the "!" if there is already one
|
||||||
present.
|
present.
|
||||||
|
|
||||||
If the endstop does not change at all then it generally indicates that
|
If the endstop does not change at all then it generally indicates that
|
||||||
@@ -87,12 +80,13 @@ resistor and the '^' should be present).
|
|||||||
|
|
||||||
Use the STEPPER_BUZZ command to verify the connectivity of each
|
Use the STEPPER_BUZZ command to verify the connectivity of each
|
||||||
stepper motor. Start by manually positioning the given axis to a
|
stepper motor. Start by manually positioning the given axis to a
|
||||||
midway point and then run `STEPPER_BUZZ STEPPER=stepper_x`. The
|
midway point and then run `STEPPER_BUZZ STEPPER=stepper_x` in the
|
||||||
STEPPER_BUZZ command will cause the given stepper to move one
|
command console. The STEPPER_BUZZ command will cause the given
|
||||||
millimeter in a positive direction and then it will return to its
|
stepper to move one millimeter in a positive direction and then it
|
||||||
starting position. (If the endstop is defined at position_endstop=0
|
will return to its starting position. (If the endstop is defined at
|
||||||
then at the start of each movement the stepper will move away from the
|
position_endstop=0 then at the start of each movement the stepper
|
||||||
endstop.) It will perform this oscillation ten times.
|
will move away from the endstop.) It will perform this oscillation
|
||||||
|
ten times.
|
||||||
|
|
||||||
If the stepper does not move at all, then verify the "enable_pin" and
|
If the stepper does not move at all, then verify the "enable_pin" and
|
||||||
"step_pin" settings for the stepper. If the stepper motor moves but
|
"step_pin" settings for the stepper. If the stepper motor moves but
|
||||||
@@ -119,11 +113,11 @@ Rerun the endstop and stepper motor verification steps if necessary.
|
|||||||
## Verify extruder motor
|
## Verify extruder motor
|
||||||
|
|
||||||
To test the extruder motor it will be necessary to heat the extruder
|
To test the extruder motor it will be necessary to heat the extruder
|
||||||
to a printing temperature. Navigate to the Octoprint temperature tab
|
to a printing temperature. Navigate to the temperature graph section
|
||||||
and select a target temperature from the temperature drop-down box (or
|
and select a target temperature from the temperature drop-down box (or
|
||||||
manually enter an appropriate temperature). Wait for the printer to
|
manually enter an appropriate temperature). Wait for the printer to
|
||||||
reach the desired temperature. Then navigate to the Octoprint control
|
reach the desired temperature. Then navigate to the command console and
|
||||||
tab and click the "Extrude" button. Verify that the extruder motor
|
click the "Extrude" button. Verify that the extruder motor
|
||||||
turns in the correct direction. If it does not, see the
|
turns in the correct direction. If it does not, see the
|
||||||
troubleshooting tips in the previous section to confirm the
|
troubleshooting tips in the previous section to confirm the
|
||||||
"enable_pin", "step_pin", and "dir_pin" settings for the extruder.
|
"enable_pin", "step_pin", and "dir_pin" settings for the extruder.
|
||||||
@@ -137,8 +131,8 @@ necessary to calibrate the PID settings on each printer (PID settings
|
|||||||
found in other firmwares or in the example configuration files often
|
found in other firmwares or in the example configuration files often
|
||||||
work poorly).
|
work poorly).
|
||||||
|
|
||||||
To calibrate the extruder, navigate to the OctoPrint terminal tab and
|
To calibrate the extruder, navigate to the command console
|
||||||
run the PID_CALIBRATE command. For example: `PID_CALIBRATE
|
and run the PID_CALIBRATE command. For example: `PID_CALIBRATE
|
||||||
HEATER=extruder TARGET=170`
|
HEATER=extruder TARGET=170`
|
||||||
|
|
||||||
At the completion of the tuning test run `SAVE_CONFIG` to update the
|
At the completion of the tuning test run `SAVE_CONFIG` to update the
|
||||||
|
|||||||
137
docs/Contact.md
137
docs/Contact.md
@@ -2,24 +2,18 @@
|
|||||||
|
|
||||||
This document provides contact information for Klipper.
|
This document provides contact information for Klipper.
|
||||||
|
|
||||||
1. [Community Forum](#community-forum)
|
## Discourse Forum
|
||||||
2. [Discord Chat](#discord-chat)
|
|
||||||
3. [I have a question about Klipper](#i-have-a-question-about-klipper)
|
|
||||||
4. [I have a feature request](#i-have-a-feature-request)
|
|
||||||
5. [Help! It doesn't work!](#help-it-doesnt-work)
|
|
||||||
6. [I have diagnosed a defect in the Klipper software](#i-have-diagnosed-a-defect-in-the-klipper-software)
|
|
||||||
7. [I am making changes that I'd like to include in Klipper](#i-am-making-changes-that-id-like-to-include-in-klipper)
|
|
||||||
|
|
||||||
## Community Forum
|
|
||||||
|
|
||||||
There is a
|
There is a
|
||||||
[Klipper Community Discourse server](https://community.klipper3d.org)
|
[Klipper Community Discourse server](https://community.klipper3d.org)
|
||||||
for discussions on Klipper.
|
for "forum" style discussions on Klipper. Note that Discourse is not
|
||||||
|
Discord.
|
||||||
|
|
||||||
## Discord Chat
|
## Discord Chat
|
||||||
|
|
||||||
There is a Discord server dedicated to Klipper at:
|
There is a Discord server dedicated to Klipper at:
|
||||||
[https://discord.klipper3d.org](https://discord.klipper3d.org).
|
[https://discord.klipper3d.org](https://discord.klipper3d.org). Note
|
||||||
|
that Discord is not Discourse.
|
||||||
|
|
||||||
This server is run by a community of Klipper enthusiasts dedicated to
|
This server is run by a community of Klipper enthusiasts dedicated to
|
||||||
discussions on Klipper. It allows users to chat with other users in
|
discussions on Klipper. It allows users to chat with other users in
|
||||||
@@ -32,41 +26,29 @@ Many questions we receive are already answered in the
|
|||||||
documentation and follow the directions provided there.
|
documentation and follow the directions provided there.
|
||||||
|
|
||||||
It is also possible to search for similar questions in the
|
It is also possible to search for similar questions in the
|
||||||
[Klipper Community Forum](#community-forum).
|
[Klipper Discourse Forum](#discourse-forum).
|
||||||
|
|
||||||
If you are interested in sharing your knowledge and experience with
|
If you are interested in sharing your knowledge and experience with
|
||||||
other Klipper users then you can join the
|
other Klipper users then you can join the
|
||||||
[Klipper Community Forum](#community-forum) or
|
[Klipper Discourse Forum](#discourse-forum) or
|
||||||
[Klipper Discord Chat](#discord-chat). Both are communities where
|
[Klipper Discord Chat](#discord-chat). Both are communities where
|
||||||
Klipper users can discuss Klipper with other users.
|
Klipper users can discuss Klipper with other users.
|
||||||
|
|
||||||
Many questions we receive are general 3d-printing questions that are
|
If you have a general question or are experiencing general printing
|
||||||
not specific to Klipper. If you have a general question or are
|
problems, then also consider a general 3d-printing forum or a forum
|
||||||
experiencing general printing problems, then you will likely get a
|
dedicated to the printer hardware.
|
||||||
better response by asking in a general 3d-printing forum or a forum
|
|
||||||
dedicated to your printer hardware.
|
|
||||||
|
|
||||||
Do not open a Klipper github issue to ask a question.
|
|
||||||
|
|
||||||
## I have a feature request
|
## I have a feature request
|
||||||
|
|
||||||
All new features require someone interested and able to implement that
|
All new features require someone interested and able to implement that
|
||||||
feature. If you are interested in helping to implement or test a new
|
feature. If you are interested in helping to implement or test a new
|
||||||
feature, you can search for ongoing developments in the
|
feature, you can search for ongoing developments in the
|
||||||
[Klipper Community Forum](#community-forum). There is also
|
[Klipper Discourse Forum](#discourse-forum). There is also
|
||||||
[Klipper Discord Chat](#discord-chat) for discussions between
|
[Klipper Discord Chat](#discord-chat) for discussions between
|
||||||
collaborators.
|
collaborators.
|
||||||
|
|
||||||
Do not open a Klipper github issue to request a feature.
|
|
||||||
|
|
||||||
## Help! It doesn't work!
|
## Help! It doesn't work!
|
||||||
|
|
||||||
Unfortunately, we receive many more requests for help than we could
|
|
||||||
possibly answer. Most problem reports we see are eventually tracked
|
|
||||||
down to:
|
|
||||||
1. Subtle errors in the hardware, or
|
|
||||||
2. Not following all the steps described in the Klipper documentation.
|
|
||||||
|
|
||||||
If you are experiencing problems we recommend you carefully read the
|
If you are experiencing problems we recommend you carefully read the
|
||||||
[Klipper documentation](Overview.md) and double check that all steps
|
[Klipper documentation](Overview.md) and double check that all steps
|
||||||
were followed.
|
were followed.
|
||||||
@@ -75,91 +57,78 @@ If you are experiencing a printing problem, then we recommend
|
|||||||
carefully inspecting the printer hardware (all joints, wires, screws,
|
carefully inspecting the printer hardware (all joints, wires, screws,
|
||||||
etc.) and verify nothing is abnormal. We find most printing problems
|
etc.) and verify nothing is abnormal. We find most printing problems
|
||||||
are not related to the Klipper software. If you do find a problem with
|
are not related to the Klipper software. If you do find a problem with
|
||||||
the printer hardware then you will likely get a better response by
|
the printer hardware then consider searching general 3d-printing
|
||||||
searching in a general 3d-printing forum or in a forum dedicated to
|
forums or forums dedicated to the printer hardware.
|
||||||
your printer hardware.
|
|
||||||
|
|
||||||
It is also possible to search for similar issues in the
|
It is also possible to search for similar issues in the
|
||||||
[Klipper Community Forum](#community-forum).
|
[Klipper Discourse Forum](#discourse-forum).
|
||||||
|
|
||||||
If you are interested in sharing your knowledge and experience with
|
If you are interested in sharing your knowledge and experience with
|
||||||
other Klipper users then you can join the
|
other Klipper users then you can join the
|
||||||
[Klipper Community Forum](#community-forum) or
|
[Klipper Discourse Forum](#discourse-forum) or
|
||||||
[Klipper Discord Chat](#discord-chat). Both are communities where
|
[Klipper Discord Chat](#discord-chat). Both are communities where
|
||||||
Klipper users can discuss Klipper with other users.
|
Klipper users can discuss Klipper with other users.
|
||||||
|
|
||||||
Do not open a Klipper github issue to request help.
|
## I found a bug in the Klipper software
|
||||||
|
|
||||||
## I have diagnosed a defect in the Klipper software
|
|
||||||
|
|
||||||
Klipper is an open-source project and we appreciate when collaborators
|
Klipper is an open-source project and we appreciate when collaborators
|
||||||
diagnose errors in the software.
|
diagnose errors in the software.
|
||||||
|
|
||||||
|
Problems should be reported in the
|
||||||
|
[Klipper Discourse Forum](#discourse-forum).
|
||||||
|
|
||||||
There is important information that will be needed in order to fix a
|
There is important information that will be needed in order to fix a
|
||||||
bug. Please follow these steps:
|
bug. Please follow these steps:
|
||||||
1. Be sure the bug is in the Klipper software. If you are thinking
|
1. Make sure you are running unmodified code from
|
||||||
"there is a problem, I can't figure out why, and therefore it is a
|
|
||||||
Klipper bug", then **do not** open a github issue. In that case,
|
|
||||||
someone interested and able will need to first research and
|
|
||||||
diagnose the root cause of the problem. If you would like to share
|
|
||||||
the results of your research or check if other users are
|
|
||||||
experiencing similar issues then you can search the
|
|
||||||
[Klipper Community Forum](#community-forum).
|
|
||||||
2. Make sure you are running unmodified code from
|
|
||||||
[https://github.com/Klipper3d/klipper](https://github.com/Klipper3d/klipper).
|
[https://github.com/Klipper3d/klipper](https://github.com/Klipper3d/klipper).
|
||||||
If the code has been modified or is obtained from another source,
|
If the code has been modified or is obtained from another source,
|
||||||
then you will need to reproduce the problem on the unmodified code
|
then you should reproduce the problem on the unmodified code from
|
||||||
from
|
|
||||||
[https://github.com/Klipper3d/klipper](https://github.com/Klipper3d/klipper)
|
[https://github.com/Klipper3d/klipper](https://github.com/Klipper3d/klipper)
|
||||||
prior to reporting an issue.
|
prior to reporting.
|
||||||
3. If possible, run an `M112` command in the OctoPrint terminal window
|
2. If possible, run an `M112` command immediately after the
|
||||||
immediately after the undesirable event occurs. This causes Klipper
|
undesirable event occurs. This causes Klipper to go into a
|
||||||
to go into a "shutdown state" and it will cause additional
|
"shutdown state" and it will cause additional debugging information
|
||||||
debugging information to be written to the log file.
|
to be written to the log file.
|
||||||
4. Obtain the Klipper log file from the event. The log file has been
|
3. Obtain the Klipper log file from the event. The log file has been
|
||||||
engineered to answer common questions the Klipper developers have
|
engineered to answer common questions the Klipper developers have
|
||||||
about the software and its environment (software version, hardware
|
about the software and its environment (software version, hardware
|
||||||
type, configuration, event timing, and hundreds of other
|
type, configuration, event timing, and hundreds of other
|
||||||
questions).
|
questions).
|
||||||
1. The Klipper log file is located in `/tmp/klippy.log` on the
|
1. Dedicated Klipper web interfaces have the ability to directly
|
||||||
Klipper "host" computer (the Raspberry Pi).
|
obtain the Klipper log file. It's the easiest way to obtain the
|
||||||
2. An "scp" or "sftp" utility is needed to copy this log file to
|
log when using one of these interfaces. Otherwise, an "scp" or
|
||||||
your desktop computer. The "scp" utility comes standard with
|
"sftp" utility is needed to copy the log file to your desktop
|
||||||
Linux and MacOS desktops. There are freely available scp
|
computer. The "scp" utility comes standard with Linux and MacOS
|
||||||
utilities for other desktops (eg, WinSCP). If using a graphical
|
desktops. There are freely available scp utilities for other
|
||||||
scp utility that can not directly copy `/tmp/klippy.log` then
|
desktops (eg, WinSCP). The log file may be located in the
|
||||||
repeatedly click on `..` or `parent folder` until you get to the
|
`~/printer_data/logs/klippy.log` file (if using a graphical scp
|
||||||
root directory, click on the `tmp` folder, and then select the
|
utility, look for the "printer_data" folder, then the "logs"
|
||||||
`klippy.log` file.
|
folder under that, then the `klippy.log` file). The log file may
|
||||||
3. Copy the log file to your desktop so that it can be attached to
|
alternatively be located in the `/tmp/klippy.log` file (if using
|
||||||
|
a graphical scp utility that can not directly copy
|
||||||
|
`/tmp/klippy.log` then repeatedly click on `..` or
|
||||||
|
"parent folder" until reaching the root directory, click on
|
||||||
|
the `tmp` folder, and then select the `klippy.log` file).
|
||||||
|
2. Copy the log file to your desktop so that it can be attached to
|
||||||
an issue report.
|
an issue report.
|
||||||
4. Do not modify the log file in any way; do not provide a snippet
|
3. Do not modify the log file in any way; do not provide a snippet
|
||||||
of the log. Only the full unmodified log file provides the
|
of the log. Only the full unmodified log file provides the
|
||||||
necessary information.
|
necessary information.
|
||||||
5. If the log file is very large (eg, greater than 2MB) then one
|
4. It is a good idea to compress the log file with zip or gzip.
|
||||||
may need to compress the log with zip or gzip.
|
5. Open a new topic on the [Klipper Discourse Forum](#discourse-forum)
|
||||||
5. Open a new github issue at
|
and provide a clear description of the problem. Other Klipper
|
||||||
[https://github.com/Klipper3d/klipper/issues](https://github.com/Klipper3d/klipper/issues)
|
contributors will need to understand what steps were taken, what
|
||||||
and provide a clear description of the problem. The Klipper
|
the desired outcome was, and what outcome actually occurred. The
|
||||||
developers need to understand what steps were taken, what the
|
compressed Klipper log file should be attached to that topic.
|
||||||
desired outcome was, and what outcome actually occurred. The
|
|
||||||
Klipper log file **must be attached** to that ticket:
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## I am making changes that I'd like to include in Klipper
|
## I am making changes that I'd like to include in Klipper
|
||||||
|
|
||||||
Klipper is open-source software and we appreciate new contributions.
|
Klipper is open-source software and we appreciate new contributions.
|
||||||
|
|
||||||
New contributions (for both code and documentation) are submitted via
|
See the [CONTRIBUTING document](CONTRIBUTING.md) for information.
|
||||||
Github Pull Requests. See the [CONTRIBUTING document](CONTRIBUTING.md)
|
|
||||||
for important information.
|
|
||||||
|
|
||||||
There are several
|
There are several
|
||||||
[documents for developers](Overview.md#developer-documentation). If
|
[documents for developers](Overview.md#developer-documentation). If
|
||||||
you have questions on the code then you can also ask in the
|
you have questions on the code then you can also ask in the
|
||||||
[Klipper Community Forum](#community-forum) or on the
|
[Klipper Discourse Forum](#discourse-forum) or on the
|
||||||
[Klipper Community Discord](#discord-chat). If you would like to
|
[Klipper Discord Chat](#discord-chat).
|
||||||
provide an update on your current progress then you can open a Github
|
|
||||||
issue with the location of your code, an overview of the changes, and
|
|
||||||
a description of its current status.
|
|
||||||
|
|||||||
@@ -216,7 +216,7 @@ after the above compilation:
|
|||||||
```
|
```
|
||||||
ls ./build/pysimulavr/_pysimulavr.*.so
|
ls ./build/pysimulavr/_pysimulavr.*.so
|
||||||
```
|
```
|
||||||
This commmand should report a specific file (e.g.
|
This command should report a specific file (e.g.
|
||||||
**./build/pysimulavr/_pysimulavr.cpython-39-x86_64-linux-gnu.so**) and
|
**./build/pysimulavr/_pysimulavr.cpython-39-x86_64-linux-gnu.so**) and
|
||||||
not an error.
|
not an error.
|
||||||
|
|
||||||
|
|||||||
@@ -12,10 +12,10 @@ Klipper has several compelling features:
|
|||||||
kinematic estimations (such as the Bresenham algorithm) - instead it
|
kinematic estimations (such as the Bresenham algorithm) - instead it
|
||||||
calculates precise step times based on the physics of acceleration
|
calculates precise step times based on the physics of acceleration
|
||||||
and the physics of the machine kinematics. More precise stepper
|
and the physics of the machine kinematics. More precise stepper
|
||||||
movement translates to quieter and more stable printer operation.
|
movement provides quieter and more stable printer operation.
|
||||||
|
|
||||||
* Best in class performance. Klipper is able to achieve high stepping
|
* Best in class performance. Klipper is able to achieve high stepping
|
||||||
rates on both new and old micro-controllers. Even old 8bit
|
rates on both new and old micro-controllers. Even old 8-bit
|
||||||
micro-controllers can obtain rates over 175K steps per second. On
|
micro-controllers can obtain rates over 175K steps per second. On
|
||||||
more recent micro-controllers, several million steps per second are
|
more recent micro-controllers, several million steps per second are
|
||||||
possible. Higher stepper rates enable higher print velocities. The
|
possible. Higher stepper rates enable higher print velocities. The
|
||||||
@@ -53,7 +53,14 @@ Klipper has several compelling features:
|
|||||||
types of robots easier and it keeps timing precise even with complex
|
types of robots easier and it keeps timing precise even with complex
|
||||||
kinematics (no "line segmentation" is needed).
|
kinematics (no "line segmentation" is needed).
|
||||||
|
|
||||||
* Portable code. Klipper works on ARM, AVR, and PRU based
|
* Klipper is hardware agnostic. One should get the same precise timing
|
||||||
|
independent of the low-level electronics hardware. The Klipper
|
||||||
|
micro-controller code is designed to faithfully follow the schedule
|
||||||
|
provided by the Klipper host software (or prominently alert the user
|
||||||
|
if it is unable to). This makes it easier to use available hardware,
|
||||||
|
to upgrade to new hardware, and to have confidence in the hardware.
|
||||||
|
|
||||||
|
* Portable code. Klipper works on ARM, AVR, PRU, and other
|
||||||
micro-controllers. Existing "reprap" style printers can run Klipper
|
micro-controllers. Existing "reprap" style printers can run Klipper
|
||||||
without hardware modification - just add a Raspberry Pi. Klipper's
|
without hardware modification - just add a Raspberry Pi. Klipper's
|
||||||
internal code layout makes it easier to support other
|
internal code layout makes it easier to support other
|
||||||
@@ -78,9 +85,10 @@ Klipper has several compelling features:
|
|||||||
|
|
||||||
Klipper supports many standard 3d printer features:
|
Klipper supports many standard 3d printer features:
|
||||||
|
|
||||||
* Works with Octoprint. This allows the printer to be controlled using
|
* Several web interfaces available. Works with Mainsail, Fluidd,
|
||||||
|
OctoPrint and others. This allows the printer to be controlled using
|
||||||
a regular web-browser. The same Raspberry Pi that runs Klipper can
|
a regular web-browser. The same Raspberry Pi that runs Klipper can
|
||||||
also run Octoprint.
|
also run the web interface.
|
||||||
|
|
||||||
* Standard G-Code support. Common g-code commands that are produced by
|
* Standard G-Code support. Common g-code commands that are produced by
|
||||||
typical "slicers" (SuperSlicer, Cura, PrusaSlicer, etc.) are
|
typical "slicers" (SuperSlicer, Cura, PrusaSlicer, etc.) are
|
||||||
@@ -90,25 +98,31 @@ Klipper supports many standard 3d printer features:
|
|||||||
extruders on independent carriages (IDEX) are also supported.
|
extruders on independent carriages (IDEX) are also supported.
|
||||||
|
|
||||||
* Support for cartesian, delta, corexy, corexz, hybrid-corexy,
|
* Support for cartesian, delta, corexy, corexz, hybrid-corexy,
|
||||||
hybrid-corexz, rotary delta, polar, and cable winch style printers.
|
hybrid-corexz, deltesian, rotary delta, polar, and cable winch style
|
||||||
|
printers.
|
||||||
|
|
||||||
* Automatic bed leveling support. Klipper can be configured for basic
|
* Automatic bed leveling support. Klipper can be configured for basic
|
||||||
bed tilt detection or full mesh bed leveling. If the bed uses
|
bed tilt detection or full mesh bed leveling. If the bed uses
|
||||||
multiple Z steppers then Klipper can also level by independently
|
multiple Z steppers then Klipper can also level by independently
|
||||||
manipulating the Z steppers. Most Z height probes are supported,
|
manipulating the Z steppers. Most Z height probes are supported,
|
||||||
including BL-Touch probes and servo activated probes.
|
including BL-Touch probes and servo activated probes. Probes may be
|
||||||
|
calibrated for axis twist compensation.
|
||||||
|
|
||||||
* Automatic delta calibration support. The calibration tool can
|
* Automatic delta calibration support. The calibration tool can
|
||||||
perform basic height calibration as well as an enhanced X and Y
|
perform basic height calibration as well as an enhanced X and Y
|
||||||
dimension calibration. The calibration can be done with a Z height
|
dimension calibration. The calibration can be done with a Z height
|
||||||
probe or via manual probing.
|
probe or via manual probing.
|
||||||
|
|
||||||
|
* Run-time "exclude object" support. When configured, this module may
|
||||||
|
facilitate canceling of just one object in a multi-part print.
|
||||||
|
|
||||||
* Support for common temperature sensors (eg, common thermistors,
|
* Support for common temperature sensors (eg, common thermistors,
|
||||||
AD595, AD597, AD849x, PT100, PT1000, MAX6675, MAX31855, MAX31856,
|
AD595, AD597, AD849x, PT100, PT1000, MAX6675, MAX31855, MAX31856,
|
||||||
MAX31865, BME280, HTU21D, DS18B20, and LM75). Custom thermistors and
|
MAX31865, BME280, HTU21D, DS18B20, AHT10, and LM75). Custom
|
||||||
custom analog temperature sensors can also be configured. One can
|
thermistors and custom analog temperature sensors can also be
|
||||||
monitor the internal micro-controller temperature sensor and the
|
configured. One can monitor the internal micro-controller
|
||||||
internal temperature sensor of a Raspberry Pi.
|
temperature sensor and the internal temperature sensor of a
|
||||||
|
Raspberry Pi.
|
||||||
|
|
||||||
* Basic thermal heater protection enabled by default.
|
* Basic thermal heater protection enabled by default.
|
||||||
|
|
||||||
@@ -117,9 +131,9 @@ Klipper supports many standard 3d printer features:
|
|||||||
speed can be monitored on fans that have a tachometer.
|
speed can be monitored on fans that have a tachometer.
|
||||||
|
|
||||||
* Support for run-time configuration of TMC2130, TMC2208/TMC2224,
|
* Support for run-time configuration of TMC2130, TMC2208/TMC2224,
|
||||||
TMC2209, TMC2660, and TMC5160 stepper motor drivers. There is also
|
TMC2209, TMC2240, TMC2660, and TMC5160 stepper motor drivers. There
|
||||||
support for current control of traditional stepper drivers via
|
is also support for current control of traditional stepper drivers
|
||||||
AD5206, MCP4451, MCP4728, MCP4018, and PWM pins.
|
via AD5206, DAC084S085, MCP4451, MCP4728, MCP4018, and PWM pins.
|
||||||
|
|
||||||
* Support for common LCD displays attached directly to the printer. A
|
* Support for common LCD displays attached directly to the printer. A
|
||||||
default menu is also available. The contents of the display and menu
|
default menu is also available. The contents of the display and menu
|
||||||
@@ -139,8 +153,8 @@ Klipper supports many standard 3d printer features:
|
|||||||
* Support for filament presence sensors, filament motion sensors, and
|
* Support for filament presence sensors, filament motion sensors, and
|
||||||
filament width sensors.
|
filament width sensors.
|
||||||
|
|
||||||
* Support for measuring and recording acceleration using an adxl345
|
* Support for measuring and recording acceleration using adxl345,
|
||||||
accelerometer.
|
mpu9250, mpu6050, and lis2dw12 accelerometers.
|
||||||
|
|
||||||
* Support for limiting the top speed of short "zigzag" moves to reduce
|
* Support for limiting the top speed of short "zigzag" moves to reduce
|
||||||
printer vibration and noise. See the [kinematics](Kinematics.md)
|
printer vibration and noise. See the [kinematics](Kinematics.md)
|
||||||
@@ -173,8 +187,10 @@ represent total number of steps per second on the micro-controller.
|
|||||||
| RP2040 | 2400K | 1636K |
|
| RP2040 | 2400K | 1636K |
|
||||||
| SAM4E8E | 2500K | 1674K |
|
| SAM4E8E | 2500K | 1674K |
|
||||||
| SAMD51 | 3077K | 1885K |
|
| SAMD51 | 3077K | 1885K |
|
||||||
|
| AR100 | 3529K | 2507K |
|
||||||
| STM32F407 | 3652K | 2459K |
|
| STM32F407 | 3652K | 2459K |
|
||||||
| STM32F446 | 3913K | 2634K |
|
| STM32F446 | 3913K | 2634K |
|
||||||
|
| STM32H743 | 9091K | 6061K |
|
||||||
|
|
||||||
If unsure of the micro-controller on a particular board, find the
|
If unsure of the micro-controller on a particular board, find the
|
||||||
appropriate [config file](../config/), and look for the
|
appropriate [config file](../config/), and look for the
|
||||||
|
|||||||
214
docs/G-Codes.md
214
docs/G-Codes.md
@@ -146,14 +146,15 @@ The following commands are available when the
|
|||||||
(also see the [bed mesh guide](Bed_Mesh.md)).
|
(also see the [bed mesh guide](Bed_Mesh.md)).
|
||||||
|
|
||||||
#### BED_MESH_CALIBRATE
|
#### BED_MESH_CALIBRATE
|
||||||
`BED_MESH_CALIBRATE [METHOD=manual] [<probe_parameter>=<value>]
|
`BED_MESH_CALIBRATE [METHOD=manual] [HORIZONTAL_MOVE_Z=<value>]
|
||||||
[<mesh_parameter>=<value>]`: This command probes the bed using
|
[<probe_parameter>=<value>] [<mesh_parameter>=<value>]`: This command probes
|
||||||
generated points specified by the parameters in the config. After
|
the bed using generated points specified by the parameters in the config. After
|
||||||
probing, a mesh is generated and z-movement is adjusted according to
|
probing, a mesh is generated and z-movement is adjusted according to the mesh.
|
||||||
the mesh. See the PROBE command for details on the optional probe
|
See the PROBE command for details on the optional probe parameters. If
|
||||||
parameters. If METHOD=manual is specified then the manual probing tool
|
METHOD=manual is specified then the manual probing tool is activated - see the
|
||||||
is activated - see the MANUAL_PROBE command above for details on the
|
MANUAL_PROBE command above for details on the additional commands available
|
||||||
additional commands available while this tool is active.
|
while this tool is active. The optional `HORIZONTAL_MOVE_Z` value overrides the
|
||||||
|
`horizontal_move_z` option specified in the config file.
|
||||||
|
|
||||||
#### BED_MESH_OUTPUT
|
#### BED_MESH_OUTPUT
|
||||||
`BED_MESH_OUTPUT PGP=[<0:1>]`: This command outputs the current probed
|
`BED_MESH_OUTPUT PGP=[<0:1>]`: This command outputs the current probed
|
||||||
@@ -207,13 +208,14 @@ The following commands are available when the
|
|||||||
[bed_tilt config section](Config_Reference.md#bed_tilt) is enabled.
|
[bed_tilt config section](Config_Reference.md#bed_tilt) is enabled.
|
||||||
|
|
||||||
#### BED_TILT_CALIBRATE
|
#### BED_TILT_CALIBRATE
|
||||||
`BED_TILT_CALIBRATE [METHOD=manual] [<probe_parameter>=<value>]`: This
|
`BED_TILT_CALIBRATE [METHOD=manual] [HORIZONTAL_MOVE_Z=<value>]
|
||||||
command will probe the points specified in the config and then
|
[<probe_parameter>=<value>]`: This command will probe the points specified in
|
||||||
recommend updated x and y tilt adjustments. See the PROBE command for
|
the config and then recommend updated x and y tilt adjustments. See the PROBE
|
||||||
details on the optional probe parameters. If METHOD=manual is
|
command for details on the optional probe parameters. If METHOD=manual is
|
||||||
specified then the manual probing tool is activated - see the
|
specified then the manual probing tool is activated - see the MANUAL_PROBE
|
||||||
MANUAL_PROBE command above for details on the additional commands
|
command above for details on the additional commands available while this tool
|
||||||
available while this tool is active.
|
is active. The optional `HORIZONTAL_MOVE_Z` value overrides the
|
||||||
|
`horizontal_move_z` option specified in the config file.
|
||||||
|
|
||||||
### [bltouch]
|
### [bltouch]
|
||||||
|
|
||||||
@@ -262,13 +264,14 @@ The following commands are available when the
|
|||||||
is enabled (also see the [delta calibrate guide](Delta_Calibrate.md)).
|
is enabled (also see the [delta calibrate guide](Delta_Calibrate.md)).
|
||||||
|
|
||||||
#### DELTA_CALIBRATE
|
#### DELTA_CALIBRATE
|
||||||
`DELTA_CALIBRATE [METHOD=manual] [<probe_parameter>=<value>]`: This
|
`DELTA_CALIBRATE [METHOD=manual] [HORIZONTAL_MOVE_Z=<value>]
|
||||||
command will probe seven points on the bed and recommend updated
|
[<probe_parameter>=<value>]`: This command will probe seven points on the bed
|
||||||
endstop positions, tower angles, and radius. See the PROBE command for
|
and recommend updated endstop positions, tower angles, and radius. See the
|
||||||
details on the optional probe parameters. If METHOD=manual is
|
PROBE command for details on the optional probe parameters. If METHOD=manual is
|
||||||
specified then the manual probing tool is activated - see the
|
specified then the manual probing tool is activated - see the MANUAL_PROBE
|
||||||
MANUAL_PROBE command above for details on the additional commands
|
command above for details on the additional commands available while this tool
|
||||||
available while this tool is active.
|
is active. The optional `HORIZONTAL_MOVE_Z` value overrides the
|
||||||
|
`horizontal_move_z` option specified in the config file.
|
||||||
|
|
||||||
#### DELTA_ANALYZE
|
#### DELTA_ANALYZE
|
||||||
`DELTA_ANALYZE`: This command is used during enhanced delta
|
`DELTA_ANALYZE`: This command is used during enhanced delta
|
||||||
@@ -307,9 +310,33 @@ The following command is available when the
|
|||||||
enabled.
|
enabled.
|
||||||
|
|
||||||
#### SET_DUAL_CARRIAGE
|
#### SET_DUAL_CARRIAGE
|
||||||
`SET_DUAL_CARRIAGE CARRIAGE=[0|1]`: This command will set the active
|
`SET_DUAL_CARRIAGE CARRIAGE=[0|1] [MODE=[PRIMARY|COPY|MIRROR]]`:
|
||||||
carriage. It is typically invoked from the activate_gcode and
|
This command will change the mode of the specified carriage.
|
||||||
deactivate_gcode fields in a multiple extruder configuration.
|
If no `MODE` is provided it defaults to `PRIMARY`. Setting the mode
|
||||||
|
to `PRIMARY` deactivates the other carriage and makes the specified
|
||||||
|
carriage execute subsequent G-Code commands as-is. `COPY` and `MIRROR`
|
||||||
|
modes are supported only for `CARRIAGE=1`. When set to either of these
|
||||||
|
modes, carriage 1 will then track the subsequent moves of the carriage 0
|
||||||
|
and either copy relative movements of it (in `COPY` mode) or execute them
|
||||||
|
in the opposite (mirror) direction (in `MIRROR` mode).
|
||||||
|
|
||||||
|
#### SAVE_DUAL_CARRIAGE_STATE
|
||||||
|
`SAVE_DUAL_CARRIAGE_STATE [NAME=<state_name>]`: Save the current positions
|
||||||
|
of the dual carriages and their modes. Saving and restoring DUAL_CARRIAGE
|
||||||
|
state can be useful in scripts and macros, as well as in homing routine
|
||||||
|
overrides. If NAME is provided it allows one to name the saved state
|
||||||
|
to the given string. If NAME is not provided it defaults to "default".
|
||||||
|
|
||||||
|
#### RESTORE_DUAL_CARRIAGE_STATE
|
||||||
|
`RESTORE_DUAL_CARRIAGE_STATE [NAME=<state_name>] [MOVE=[0|1] [MOVE_SPEED=<speed>]]`:
|
||||||
|
Restore the previously saved positions of the dual carriages and their modes,
|
||||||
|
unless "MOVE=0" is specified, in which case only the saved modes will be
|
||||||
|
restored, but not the positions of the carriages. If positions are being
|
||||||
|
restored and "MOVE_SPEED" is specified, then the toolhead moves will be
|
||||||
|
performed with the given speed (in mm/s); otherwise the toolhead move will
|
||||||
|
use the rail homing speed. Note that the carriages restore their positions
|
||||||
|
only over their own axis, which may be necessary to correctly restore COPY
|
||||||
|
and MIRROR mode of the dual carraige.
|
||||||
|
|
||||||
### [endstop_phase]
|
### [endstop_phase]
|
||||||
|
|
||||||
@@ -549,8 +576,9 @@ clears any error state from the micro-controller.
|
|||||||
The following standard G-Code commands are available if a
|
The following standard G-Code commands are available if a
|
||||||
[gcode_arcs config section](Config_Reference.md#gcode_arcs) is
|
[gcode_arcs config section](Config_Reference.md#gcode_arcs) is
|
||||||
enabled:
|
enabled:
|
||||||
- Controlled Arc Move (G2 or G3): `G2 [X<pos>] [Y<pos>] [Z<pos>]
|
- Arc Move Clockwise (G2), Arc Move Counter-clockwise (G3): `G2|G3 [X<pos>] [Y<pos>] [Z<pos>]
|
||||||
[E<pos>] [F<speed>] I<value> J<value>`
|
[E<pos>] [F<speed>] I<value> J<value>|I<value> K<value>|J<value> K<value>`
|
||||||
|
- Arc Plane Select: G17 (XY plane), G18 (XZ plane), G19 (YZ plane)
|
||||||
|
|
||||||
### [gcode_macro]
|
### [gcode_macro]
|
||||||
|
|
||||||
@@ -746,6 +774,20 @@ scheduled to run after the stepper move completes, however if a manual
|
|||||||
stepper move uses SYNC=0 then future G-Code movement commands may run
|
stepper move uses SYNC=0 then future G-Code movement commands may run
|
||||||
in parallel with the stepper movement.
|
in parallel with the stepper movement.
|
||||||
|
|
||||||
|
### [mcp4018]
|
||||||
|
|
||||||
|
The following command is available when a
|
||||||
|
[mcp4018 config section](Config_Reference.md#mcp4018) is
|
||||||
|
enabled.
|
||||||
|
|
||||||
|
#### SET_DIGIPOT
|
||||||
|
|
||||||
|
`SET_DIGIPOT DIGIPOT=config_name WIPER=<value>`: This command will
|
||||||
|
change the current value of the digipot. This value should typically
|
||||||
|
be between 0.0 and 1.0, unless a 'scale' is defined in the config.
|
||||||
|
When 'scale' is defined, then this value should be between 0.0 and
|
||||||
|
'scale'.
|
||||||
|
|
||||||
### [led]
|
### [led]
|
||||||
|
|
||||||
The following command is available when any of the
|
The following command is available when any of the
|
||||||
@@ -792,13 +834,22 @@ commands to manage the LED's color settings).
|
|||||||
### [output_pin]
|
### [output_pin]
|
||||||
|
|
||||||
The following command is available when an
|
The following command is available when an
|
||||||
[output_pin config section](Config_Reference.md#output_pin) is
|
[output_pin config section](Config_Reference.md#output_pin) or
|
||||||
|
[pwm_tool config section](Config_Reference.md#pwm_tool) is
|
||||||
enabled.
|
enabled.
|
||||||
|
|
||||||
#### SET_PIN
|
#### SET_PIN
|
||||||
`SET_PIN PIN=config_name VALUE=<value> CYCLE_TIME=<cycle_time>`:
|
`SET_PIN PIN=config_name VALUE=<value> [CYCLE_TIME=<cycle_time>]`: Set
|
||||||
Note - hardware PWM does not currently support the CYCLE_TIME
|
the pin to the given output `VALUE`. VALUE should be 0 or 1 for
|
||||||
parameter and will use the cycle time defined in the config.
|
"digital" output pins. For PWM pins, set to a value between 0.0 and
|
||||||
|
1.0, or between 0.0 and `scale` if a scale is configured in the
|
||||||
|
output_pin config section.
|
||||||
|
|
||||||
|
Some pins (currently only "soft PWM" pins) support setting an explicit
|
||||||
|
cycle time using the CYCLE_TIME parameter (specified in seconds). Note
|
||||||
|
that the CYCLE_TIME parameter is not stored between SET_PIN commands
|
||||||
|
(any SET_PIN command without an explicit CYCLE_TIME parameter will use
|
||||||
|
the `cycle_time` specified in the output_pin config section).
|
||||||
|
|
||||||
### [palette2]
|
### [palette2]
|
||||||
|
|
||||||
@@ -874,6 +925,18 @@ the paused state is fresh for each print.
|
|||||||
#### CANCEL_PRINT
|
#### CANCEL_PRINT
|
||||||
`CANCEL_PRINT`: Cancels the current print.
|
`CANCEL_PRINT`: Cancels the current print.
|
||||||
|
|
||||||
|
### [print_stats]
|
||||||
|
|
||||||
|
The print_stats module is automatically loaded.
|
||||||
|
|
||||||
|
#### SET_PRINT_STATS_INFO
|
||||||
|
`SET_PRINT_STATS_INFO [TOTAL_LAYER=<total_layer_count>] [CURRENT_LAYER=
|
||||||
|
<current_layer>]`: Pass slicer info like layer act and total to Klipper.
|
||||||
|
Add `SET_PRINT_STATS_INFO [TOTAL_LAYER=<total_layer_count>]` to your
|
||||||
|
slicer start gcode section and `SET_PRINT_STATS_INFO [CURRENT_LAYER=
|
||||||
|
<current_layer>]` at the layer change gcode section to pass layer
|
||||||
|
information from your slicer to Klipper.
|
||||||
|
|
||||||
### [probe]
|
### [probe]
|
||||||
|
|
||||||
The following commands are available when a
|
The following commands are available when a
|
||||||
@@ -980,7 +1043,7 @@ frequency response is calculated (across all probe points) and written into
|
|||||||
|
|
||||||
#### SHAPER_CALIBRATE
|
#### SHAPER_CALIBRATE
|
||||||
`SHAPER_CALIBRATE [AXIS=<axis>] [NAME=<name>] [FREQ_START=<min_freq>]
|
`SHAPER_CALIBRATE [AXIS=<axis>] [NAME=<name>] [FREQ_START=<min_freq>]
|
||||||
[FREQ_END=<max_freq>] [HZ_PER_SEC=<hz_per_sec>]
|
[FREQ_END=<max_freq>] [HZ_PER_SEC=<hz_per_sec>] [CHIPS=<adxl345_chip_name>]
|
||||||
[MAX_SMOOTHING=<max_smoothing>]`: Similarly to `TEST_RESONANCES`, runs
|
[MAX_SMOOTHING=<max_smoothing>]`: Similarly to `TEST_RESONANCES`, runs
|
||||||
the resonance test as configured, and tries to find the optimal
|
the resonance test as configured, and tries to find the optimal
|
||||||
parameters for the input shaper for the requested axis (or both X and
|
parameters for the input shaper for the requested axis (or both X and
|
||||||
@@ -994,7 +1057,9 @@ frequency responses and the different input shapers values are written
|
|||||||
to a CSV file(s) `/tmp/calibration_data_<axis>_<name>.csv`. Unless
|
to a CSV file(s) `/tmp/calibration_data_<axis>_<name>.csv`. Unless
|
||||||
specified, NAME defaults to the current time in "YYYYMMDD_HHMMSS"
|
specified, NAME defaults to the current time in "YYYYMMDD_HHMMSS"
|
||||||
format. Note that the suggested input shaper parameters can be
|
format. Note that the suggested input shaper parameters can be
|
||||||
persisted in the config by issuing `SAVE_CONFIG` command.
|
persisted in the config by issuing `SAVE_CONFIG` command, and if
|
||||||
|
`[input_shaper]` was already enabled previously, these parameters
|
||||||
|
take effect immediately.
|
||||||
|
|
||||||
### [respond]
|
### [respond]
|
||||||
|
|
||||||
@@ -1043,16 +1108,17 @@ is enabled (also see the
|
|||||||
|
|
||||||
#### SCREWS_TILT_CALCULATE
|
#### SCREWS_TILT_CALCULATE
|
||||||
`SCREWS_TILT_CALCULATE [DIRECTION=CW|CCW] [MAX_DEVIATION=<value>]
|
`SCREWS_TILT_CALCULATE [DIRECTION=CW|CCW] [MAX_DEVIATION=<value>]
|
||||||
[<probe_parameter>=<value>]`: This command will invoke the bed screws
|
[HORIZONTAL_MOVE_Z=<value>] [<probe_parameter>=<value>]`: This command will
|
||||||
adjustment tool. It will command the nozzle to different locations (as
|
invoke the bed screws adjustment tool. It will command the nozzle to different
|
||||||
defined in the config file) probing the z height and calculate the
|
locations (as defined in the config file) probing the z height and calculate
|
||||||
number of knob turns to adjust the bed level. If DIRECTION is
|
the number of knob turns to adjust the bed level. If DIRECTION is specified,
|
||||||
specified, the knob turns will all be in the same direction, clockwise
|
the knob turns will all be in the same direction, clockwise (CW) or
|
||||||
(CW) or counterclockwise (CCW). See the PROBE command for details on
|
counterclockwise (CCW). See the PROBE command for details on the optional probe
|
||||||
the optional probe parameters. IMPORTANT: You MUST always do a G28
|
parameters. IMPORTANT: You MUST always do a G28 before using this command. If
|
||||||
before using this command. If MAX_DEVIATION is specified, the command
|
MAX_DEVIATION is specified, the command will raise a gcode error if any
|
||||||
will raise a gcode error if any difference in the screw height
|
difference in the screw height relative to the base screw height is greater
|
||||||
relative to the base screw height is greater than the value provided.
|
than the value provided. The optional `HORIZONTAL_MOVE_Z` value overrides the
|
||||||
|
`horizontal_move_z` option specified in the config file.
|
||||||
|
|
||||||
### [sdcard_loop]
|
### [sdcard_loop]
|
||||||
|
|
||||||
@@ -1180,8 +1246,9 @@ The following commands are available when any of the
|
|||||||
are enabled.
|
are enabled.
|
||||||
|
|
||||||
#### DUMP_TMC
|
#### DUMP_TMC
|
||||||
`DUMP_TMC STEPPER=<name>`: This command will read the TMC driver
|
`DUMP_TMC STEPPER=<name> [REGISTER=<name>]`: This command will read all TMC
|
||||||
registers and report their values.
|
driver registers and report their values. If a REGISTER is provided, only
|
||||||
|
the specified register will be dumped.
|
||||||
|
|
||||||
#### INIT_TMC
|
#### INIT_TMC
|
||||||
`INIT_TMC STEPPER=<name>`: This command will initialize the TMC
|
`INIT_TMC STEPPER=<name>`: This command will initialize the TMC
|
||||||
@@ -1191,16 +1258,22 @@ turned off then back on.
|
|||||||
#### SET_TMC_CURRENT
|
#### SET_TMC_CURRENT
|
||||||
`SET_TMC_CURRENT STEPPER=<name> CURRENT=<amps> HOLDCURRENT=<amps>`:
|
`SET_TMC_CURRENT STEPPER=<name> CURRENT=<amps> HOLDCURRENT=<amps>`:
|
||||||
This will adjust the run and hold currents of the TMC driver.
|
This will adjust the run and hold currents of the TMC driver.
|
||||||
(HOLDCURRENT is not applicable to tmc2660 drivers.)
|
`HOLDCURRENT` is not applicable to tmc2660 drivers.
|
||||||
|
When used on a driver which has the `globalscaler` field (tmc5160 and tmc2240),
|
||||||
|
if StealthChop2 is used, the stepper must be held at standstill for >130ms so
|
||||||
|
that the driver executes the AT#1 calibration.
|
||||||
|
|
||||||
#### SET_TMC_FIELD
|
#### SET_TMC_FIELD
|
||||||
`SET_TMC_FIELD STEPPER=<name> FIELD=<field> VALUE=<value>`: This will
|
`SET_TMC_FIELD STEPPER=<name> FIELD=<field> VALUE=<value> VELOCITY=<value>`:
|
||||||
alter the value of the specified register field of the TMC driver.
|
This will alter the value of the specified register field of the TMC driver.
|
||||||
This command is intended for low-level diagnostics and debugging only
|
This command is intended for low-level diagnostics and debugging only
|
||||||
because changing the fields during run-time can lead to undesired and
|
because changing the fields during run-time can lead to undesired and
|
||||||
potentially dangerous behavior of your printer. Permanent changes
|
potentially dangerous behavior of your printer. Permanent changes
|
||||||
should be made using the printer configuration file instead. No sanity
|
should be made using the printer configuration file instead. No sanity
|
||||||
checks are performed for the given values.
|
checks are performed for the given values.
|
||||||
|
A VELOCITY can also be specified instead of a VALUE. This velocity is
|
||||||
|
converted to the 20bit TSTEP based value representation. Only use the VELOCITY
|
||||||
|
argument for fields that represent velocities.
|
||||||
|
|
||||||
### [toolhead]
|
### [toolhead]
|
||||||
|
|
||||||
@@ -1208,8 +1281,11 @@ The toolhead module is automatically loaded.
|
|||||||
|
|
||||||
#### SET_VELOCITY_LIMIT
|
#### SET_VELOCITY_LIMIT
|
||||||
`SET_VELOCITY_LIMIT [VELOCITY=<value>] [ACCEL=<value>]
|
`SET_VELOCITY_LIMIT [VELOCITY=<value>] [ACCEL=<value>]
|
||||||
[ACCEL_TO_DECEL=<value>] [SQUARE_CORNER_VELOCITY=<value>]`: Modify the
|
[ACCEL_TO_DECEL=<value>] [SQUARE_CORNER_VELOCITY=<value>]`: This
|
||||||
printer's velocity limits.
|
command can alter the velocity limits that were specified in the
|
||||||
|
printer config file. See the
|
||||||
|
[printer config section](Config_Reference.md#printer) for a
|
||||||
|
description of each parameter.
|
||||||
|
|
||||||
### [tuning_tower]
|
### [tuning_tower]
|
||||||
|
|
||||||
@@ -1267,13 +1343,43 @@ print.
|
|||||||
#### SDCARD_RESET_FILE
|
#### SDCARD_RESET_FILE
|
||||||
`SDCARD_RESET_FILE`: Unload file and clear SD state.
|
`SDCARD_RESET_FILE`: Unload file and clear SD state.
|
||||||
|
|
||||||
|
### [axis_twist_compensation]
|
||||||
|
|
||||||
|
The following commands are available when the
|
||||||
|
[axis_twist_compensation config
|
||||||
|
section](Config_Reference.md#axis_twist_compensation) is enabled.
|
||||||
|
|
||||||
|
#### AXIS_TWIST_COMPENSATION_CALIBRATE
|
||||||
|
`AXIS_TWIST_COMPENSATION_CALIBRATE [SAMPLE_COUNT=<value>]`: Initiates the X
|
||||||
|
twist calibration wizard. `SAMPLE_COUNT` specifies the number of points along
|
||||||
|
the X axis to calibrate at and defaults to 3.
|
||||||
|
|
||||||
|
### [z_thermal_adjust]
|
||||||
|
|
||||||
|
The following commands are available when the
|
||||||
|
[z_thermal_adjust config section](Config_Reference.md#z_thermal_adjust)
|
||||||
|
is enabled.
|
||||||
|
|
||||||
|
#### SET_Z_THERMAL_ADJUST
|
||||||
|
`SET_Z_THERMAL_ADJUST [ENABLE=<0:1>] [TEMP_COEFF=<value>] [REF_TEMP=<value>]`:
|
||||||
|
Enable or disable the Z thermal adjustment with `ENABLE`. Disabling does not
|
||||||
|
remove any adjustment already applied, but will freeze the current adjustment
|
||||||
|
value - this prevents potentially unsafe downward Z movement. Re-enabling can
|
||||||
|
potentially cause upward tool movement as the adjustment is updated and applied.
|
||||||
|
`TEMP_COEFF` allows run-time tuning of the adjustment temperature coefficient
|
||||||
|
(i.e. the `TEMP_COEFF` config parameter). `TEMP_COEFF` values are not saved to
|
||||||
|
the config. `REF_TEMP` manually overrides the reference temperature typically
|
||||||
|
set during homing (for use in e.g. non-standard homing routines) - will be reset
|
||||||
|
automatically upon homing.
|
||||||
|
|
||||||
### [z_tilt]
|
### [z_tilt]
|
||||||
|
|
||||||
The following commands are available when the
|
The following commands are available when the
|
||||||
[z_tilt config section](Config_Reference.md#z_tilt) is enabled.
|
[z_tilt config section](Config_Reference.md#z_tilt) is enabled.
|
||||||
|
|
||||||
#### Z_TILT_ADJUST
|
#### Z_TILT_ADJUST
|
||||||
`Z_TILT_ADJUST [<probe_parameter>=<value>]`: This command will probe
|
`Z_TILT_ADJUST [HORIZONTAL_MOVE_Z=<value>] [<probe_parameter>=<value>]`: This
|
||||||
the points specified in the config and then make independent
|
command will probe the points specified in the config and then make independent
|
||||||
adjustments to each Z stepper to compensate for tilt. See the PROBE
|
adjustments to each Z stepper to compensate for tilt. See the PROBE command for
|
||||||
command for details on the optional probe parameters.
|
details on the optional probe parameters. The optional `HORIZONTAL_MOVE_Z`
|
||||||
|
value overrides the `horizontal_move_z` option specified in the config file.
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
This document describes Filament Width Sensor host module. Hardware used for
|
This document describes Filament Width Sensor host module. Hardware used for
|
||||||
developing this host module is based on two Hall linear sensors (ss49e for
|
developing this host module is based on two Hall linear sensors (ss49e for
|
||||||
example). Sensors in the body are located opposite sides. Principle of operation:
|
example). Sensors in the body are located on opposite sides. Principle of operation:
|
||||||
two hall sensors work in differential mode, temperature drift same for sensor.
|
two hall sensors work in differential mode, temperature drift same for sensor.
|
||||||
Special temperature compensation not needed.
|
Special temperature compensation not needed.
|
||||||
|
|
||||||
@@ -18,9 +18,9 @@ To use Hall filament width sensor, read
|
|||||||
|
|
||||||
Sensor generates two analog output based on calculated filament width. Sum of
|
Sensor generates two analog output based on calculated filament width. Sum of
|
||||||
output voltage always equals to detected filament width. Host module monitors
|
output voltage always equals to detected filament width. Host module monitors
|
||||||
voltage changes and adjusts extrusion multiplier. I use aux2 connector on
|
voltage changes and adjusts extrusion multiplier. I use the aux2 connector on
|
||||||
ramps-like board analog11 and analog12 pins. You can use different pins and
|
a ramps-like board with the analog11 and analog12 pins. You can use different pins
|
||||||
differenr boards.
|
and different boards.
|
||||||
|
|
||||||
## Template for menu variables
|
## Template for menu variables
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
These instructions assume the software will run on a Raspberry Pi
|
These instructions assume the software will run on a Raspberry Pi
|
||||||
computer in conjunction with OctoPrint. It is recommended that a
|
computer in conjunction with OctoPrint. It is recommended that a
|
||||||
Raspberry Pi 2, 3, or 4 computer be used as the host machine (see the
|
Raspberry Pi 2 (or later) be used as the host machine (see the
|
||||||
[FAQ](FAQ.md#can-i-run-klipper-on-something-other-than-a-raspberry-pi-3)
|
[FAQ](FAQ.md#can-i-run-klipper-on-something-other-than-a-raspberry-pi-3)
|
||||||
for other machines).
|
for other machines).
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ using a Linux or MacOS desktop, then the "ssh" software should already
|
|||||||
be installed on the desktop. There are free ssh clients available for
|
be installed on the desktop. There are free ssh clients available for
|
||||||
other desktops (eg,
|
other desktops (eg,
|
||||||
[PuTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/)). Use the
|
[PuTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/)). Use the
|
||||||
ssh utility to connect to the Raspberry Pi (ssh pi@octopi -- password
|
ssh utility to connect to the Raspberry Pi (`ssh pi@octopi` -- password
|
||||||
is "raspberry") and run the following commands:
|
is "raspberry") and run the following commands:
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -135,18 +135,18 @@ web page and then configure the following items:
|
|||||||
|
|
||||||
Navigate to the Settings tab (the wrench icon at the top of the
|
Navigate to the Settings tab (the wrench icon at the top of the
|
||||||
page). Under "Serial Connection" in "Additional serial ports" add
|
page). Under "Serial Connection" in "Additional serial ports" add
|
||||||
"/tmp/printer". Then click "Save".
|
`/tmp/printer`. Then click "Save".
|
||||||
|
|
||||||
Enter the Settings tab again and under "Serial Connection" change the
|
Enter the Settings tab again and under "Serial Connection" change the
|
||||||
"Serial Port" setting to "/tmp/printer".
|
"Serial Port" setting to `/tmp/printer`.
|
||||||
|
|
||||||
In the Settings tab, navigate to the "Behavior" sub-tab and select the
|
In the Settings tab, navigate to the "Behavior" sub-tab and select the
|
||||||
"Cancel any ongoing prints but stay connected to the printer"
|
"Cancel any ongoing prints but stay connected to the printer"
|
||||||
option. Click "Save".
|
option. Click "Save".
|
||||||
|
|
||||||
From the main page, under the "Connection" section (at the top left of
|
From the main page, under the "Connection" section (at the top left of
|
||||||
the page) make sure the "Serial Port" is set to "/tmp/printer" and
|
the page) make sure the "Serial Port" is set to `/tmp/printer` and
|
||||||
click "Connect". (If "/tmp/printer" is not an available selection then
|
click "Connect". (If `/tmp/printer` is not an available selection then
|
||||||
try reloading the page.)
|
try reloading the page.)
|
||||||
|
|
||||||
Once connected, navigate to the "Terminal" tab and type "status"
|
Once connected, navigate to the "Terminal" tab and type "status"
|
||||||
@@ -165,8 +165,8 @@ Arguably the easiest way to set the Klipper configuration file is to
|
|||||||
use a desktop editor that supports editing files over the "scp" and/or
|
use a desktop editor that supports editing files over the "scp" and/or
|
||||||
"sftp" protocols. There are freely available tools that support this
|
"sftp" protocols. There are freely available tools that support this
|
||||||
(eg, Notepad++, WinSCP, and Cyberduck). Load the printer config file
|
(eg, Notepad++, WinSCP, and Cyberduck). Load the printer config file
|
||||||
in the editor and then save it as a file named "printer.cfg" in the
|
in the editor and then save it as a file named `printer.cfg` in the
|
||||||
home directory of the pi user (ie, /home/pi/printer.cfg).
|
home directory of the pi user (ie, `/home/pi/printer.cfg`).
|
||||||
|
|
||||||
Alternatively, one can also copy and edit the file directly on the
|
Alternatively, one can also copy and edit the file directly on the
|
||||||
Raspberry Pi via ssh. That may look something like the following (be
|
Raspberry Pi via ssh. That may look something like the following (be
|
||||||
|
|||||||
@@ -1,55 +1,182 @@
|
|||||||
# Measuring Resonances
|
# Measuring Resonances
|
||||||
|
|
||||||
Klipper has built-in support for ADXL345 accelerometer, which can be used to
|
Klipper has built-in support for the ADXL345, MPU-9250 and LIS2DW compatible
|
||||||
measure resonance frequencies of the printer for different axes, and auto-tune
|
accelerometers which can be used to measure resonance frequencies of the printer
|
||||||
[input shapers](Resonance_Compensation.md) to compensate for resonances.
|
for different axes, and auto-tune [input shapers](Resonance_Compensation.md) to
|
||||||
Note that using ADXL345 requires some soldering and crimping. ADXL345 can be
|
compensate for resonances. Note that using accelerometers requires some
|
||||||
connected to a Raspberry Pi directly, or to an SPI interface of an MCU
|
soldering and crimping. The ADXL345/LIS2DW can be connected to the SPI interface
|
||||||
board (it needs to be reasonably fast).
|
of a Raspberry Pi or MCU board (it needs to be reasonably fast). The MPU family can
|
||||||
|
be connected to the I2C interface of a Raspberry Pi directly, or to an I2C
|
||||||
|
interface of an MCU board that supports 400kbit/s *fast mode* in Klipper.
|
||||||
|
|
||||||
When sourcing ADXL345, be aware that there is a variety of different PCB
|
When sourcing accelerometers, be aware that there are a variety of different PCB
|
||||||
board designs and different clones of them. Make sure that the board supports
|
board designs and different clones of them. If it is going to be connected to a
|
||||||
SPI mode (small number of boards appear to be hard-configured for I2C by
|
5V printer MCU ensure it has a voltage regulator and level shifters.
|
||||||
pulling SDO to GND), and, if it is going to be connected to a 5V printer MCU,
|
|
||||||
that it has a voltage regulator and a level shifter.
|
|
||||||
|
|
||||||
|
For ADXL345s/LIS2DWs, make sure that the board supports SPI mode (a small number of
|
||||||
|
boards appear to be hard-configured for I2C by pulling SDO to GND).
|
||||||
|
|
||||||
|
For MPU-9250/MPU-9255/MPU-6515/MPU-6050/MPU-6500s there are also a variety of
|
||||||
|
board designs and clones with different I2C pull-up resistors which will need
|
||||||
|
supplementing.
|
||||||
|
|
||||||
|
## MCUs with Klipper I2C *fast-mode* Support
|
||||||
|
|
||||||
|
| MCU Family | MCU(s) Tested | MCU(s) with Support |
|
||||||
|
|:--:|:--|:--|
|
||||||
|
| Raspberry Pi | 3B+, Pico | 3A, 3A+, 3B, 4 |
|
||||||
|
| AVR ATmega | ATmega328p | ATmega32u4, ATmega128, ATmega168, ATmega328, ATmega644p, ATmega1280, ATmega1284, ATmega2560 |
|
||||||
|
| AVR AT90 | - | AT90usb646, AT90usb1286 |
|
||||||
|
|
||||||
## Installation instructions
|
## Installation instructions
|
||||||
|
|
||||||
### Wiring
|
### Wiring
|
||||||
|
|
||||||
|
An ethernet cable with shielded twisted pairs (cat5e or better) is recommended
|
||||||
|
for signal integrity over a long distance. If you still experience signal
|
||||||
|
integrity issues (SPI/I2C errors):
|
||||||
|
|
||||||
|
- Double check the wiring with a digital multimeter for:
|
||||||
|
- Correct connections when turned off (continuity)
|
||||||
|
- Correct power and ground voltages
|
||||||
|
- I2C only:
|
||||||
|
- Check the SCL and SDA lines' resistances to 3.3V are in the range of 900
|
||||||
|
ohms to 1.8K
|
||||||
|
- For full technical details consult [chapter 7 of the I2C-bus specification
|
||||||
|
and user manual UM10204](https://www.pololu.com/file/0J435/UM10204.pdf)
|
||||||
|
for *fast-mode*
|
||||||
|
- Shorten the cable
|
||||||
|
|
||||||
|
Connect ethernet cable shielding only to the MCU board/Pi ground.
|
||||||
|
|
||||||
|
***Double-check your wiring before powering up to prevent
|
||||||
|
damaging your MCU/Raspberry Pi or the accelerometer.***
|
||||||
|
|
||||||
|
### SPI Accelerometers
|
||||||
|
|
||||||
|
Suggested twisted pair order for three twisted pairs:
|
||||||
|
|
||||||
|
```
|
||||||
|
GND+MISO
|
||||||
|
3.3V+MOSI
|
||||||
|
SCLK+CS
|
||||||
|
```
|
||||||
|
|
||||||
|
Note that unlike a cable shield, GND must be connected at both ends.
|
||||||
|
|
||||||
|
#### ADXL345
|
||||||
|
|
||||||
|
##### Direct to Raspberry Pi
|
||||||
|
|
||||||
|
**Note: Many MCUs will work with an ADXL345 in SPI mode (e.g. Pi Pico), wiring
|
||||||
|
and configuration will vary according to your specific board and available
|
||||||
|
pins.**
|
||||||
|
|
||||||
You need to connect ADXL345 to your Raspberry Pi via SPI. Note that the I2C
|
You need to connect ADXL345 to your Raspberry Pi via SPI. Note that the I2C
|
||||||
connection, which is suggested by ADXL345 documentation, has too low throughput
|
connection, which is suggested by ADXL345 documentation, has too low throughput
|
||||||
and **will not work**. The recommended connection scheme:
|
and **will not work**. The recommended connection scheme:
|
||||||
|
|
||||||
| ADXL345 pin | RPi pin | RPi pin name |
|
| ADXL345 pin | RPi pin | RPi pin name |
|
||||||
|:--:|:--:|:--:|
|
|:--:|:--:|:--:|
|
||||||
| 3V3 (or VCC) | 01 | 3.3v DC power |
|
| 3V3 (or VCC) | 01 | 3.3V DC power |
|
||||||
| GND | 06 | Ground |
|
| GND | 06 | Ground |
|
||||||
| CS | 24 | GPIO08 (SPI0_CE0_N) |
|
| CS | 24 | GPIO08 (SPI0_CE0_N) |
|
||||||
| SDO | 21 | GPIO09 (SPI0_MISO) |
|
| SDO | 21 | GPIO09 (SPI0_MISO) |
|
||||||
| SDA | 19 | GPIO10 (SPI0_MOSI) |
|
| SDA | 19 | GPIO10 (SPI0_MOSI) |
|
||||||
| SCL | 23 | GPIO11 (SPI0_SCLK) |
|
| SCL | 23 | GPIO11 (SPI0_SCLK) |
|
||||||
|
|
||||||
An alternative to the ADXL345 is the MPU-9250 (or MPU-6050). This
|
|
||||||
accelerometer has been tested to work over I2C on the RPi at 400kbaud.
|
|
||||||
Recommended connection scheme for I2C:
|
|
||||||
|
|
||||||
| MPU-9250 pin | RPi pin | RPi pin name |
|
|
||||||
|:--:|:--:|:--:|
|
|
||||||
| 3V3 (or VCC) | 01 | 3.3v DC power |
|
|
||||||
| GND | 09 | Ground |
|
|
||||||
| SDA | 03 | GPIO02 (SDA1) |
|
|
||||||
| SCL | 05 | GPIO03 (SCL1) |
|
|
||||||
|
|
||||||
|
|
||||||
Fritzing wiring diagrams for some of the ADXL345 boards:
|
Fritzing wiring diagrams for some of the ADXL345 boards:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
##### Using Raspberry Pi Pico
|
||||||
|
|
||||||
Double-check your wiring before powering up the Raspberry Pi to prevent
|
You may connect the ADXL345 to your Raspberry Pi Pico and then connect the
|
||||||
damaging it or the accelerometer.
|
Pico to your Raspberry Pi via USB. This makes it easy to reuse the
|
||||||
|
accelerometer on other Klipper devices, as you can connect via USB instead
|
||||||
|
of GPIO. The Pico does not have much processing power, so make sure it is
|
||||||
|
only running the accelerometer and not performing any other duties.
|
||||||
|
|
||||||
|
In order to avoid damage to your RPi make sure to connect the ADXL345 to 3.3V
|
||||||
|
only. Depending on the board's layout, a level shifter may be present, which
|
||||||
|
makes 5V dangerous for your RPi.
|
||||||
|
|
||||||
|
| ADXL345 pin | Pico pin | Pico pin name |
|
||||||
|
|:--:|:--:|:--:|
|
||||||
|
| 3V3 (or VCC) | 36 | 3.3V DC power |
|
||||||
|
| GND | 38 | Ground |
|
||||||
|
| CS | 2 | GP1 (SPI0_CSn) |
|
||||||
|
| SDO | 1 | GP0 (SPI0_RX) |
|
||||||
|
| SDA | 5 | GP3 (SPI0_TX) |
|
||||||
|
| SCL | 4 | GP2 (SPI0_SCK) |
|
||||||
|
|
||||||
|
Wiring diagrams for some of the ADXL345 boards:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### I2C Accelerometers
|
||||||
|
|
||||||
|
Suggested twisted pair order for three pairs (preferred):
|
||||||
|
|
||||||
|
```
|
||||||
|
3.3V+GND
|
||||||
|
SDA+GND
|
||||||
|
SCL+GND
|
||||||
|
```
|
||||||
|
|
||||||
|
or for two pairs:
|
||||||
|
|
||||||
|
```
|
||||||
|
3.3V+SDA
|
||||||
|
GND+SCL
|
||||||
|
```
|
||||||
|
|
||||||
|
Note that unlike a cable shield, any GND(s) should be connected at both ends.
|
||||||
|
|
||||||
|
#### MPU-9250/MPU-9255/MPU-6515/MPU-6050/MPU-6500
|
||||||
|
|
||||||
|
These accelerometers have been tested to work over I2C on the RPi, RP2040 (Pico)
|
||||||
|
and AVR at 400kbit/s (*fast mode*). Some MPU accelerometer modules include
|
||||||
|
pull-ups, but some are too large at 10K and must be changed or supplemented by
|
||||||
|
smaller parallel resistors.
|
||||||
|
|
||||||
|
Recommended connection scheme for I2C on the Raspberry Pi:
|
||||||
|
|
||||||
|
| MPU-9250 pin | RPi pin | RPi pin name |
|
||||||
|
|:--:|:--:|:--:|
|
||||||
|
| VCC | 01 | 3.3v DC power |
|
||||||
|
| GND | 09 | Ground |
|
||||||
|
| SDA | 03 | GPIO02 (SDA1) |
|
||||||
|
| SCL | 05 | GPIO03 (SCL1) |
|
||||||
|
|
||||||
|
The RPi has buit-in 1.8K pull-ups on both SCL and SDA.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Recommended connection scheme for I2C (i2c0a) on the RP2040:
|
||||||
|
|
||||||
|
| MPU-9250 pin | RP2040 pin | RP2040 pin name |
|
||||||
|
|:--:|:--:|:--:|
|
||||||
|
| VCC | 36 | 3v3 |
|
||||||
|
| GND | 38 | Ground |
|
||||||
|
| SDA | 01 | GP0 (I2C0 SDA) |
|
||||||
|
| SCL | 02 | GP1 (I2C0 SCL) |
|
||||||
|
|
||||||
|
The Pico does not include any built-in I2C pull-up resistors.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
##### Recommended connection scheme for I2C(TWI) on the AVR ATmega328P Arduino Nano:
|
||||||
|
|
||||||
|
| MPU-9250 pin | Atmega328P TQFP32 pin | Atmega328P pin name | Arduino Nano pin |
|
||||||
|
|:--:|:--:|:--:|:--:|
|
||||||
|
| VCC | 39 | - | - |
|
||||||
|
| GND | 38 | Ground | GND |
|
||||||
|
| SDA | 27 | SDA | A4 |
|
||||||
|
| SCL | 28 | SCL | A5 |
|
||||||
|
|
||||||
|
The Arduino Nano does not include any built-in pull-up resistors nor a 3.3V
|
||||||
|
power pin.
|
||||||
|
|
||||||
### Mounting the accelerometer
|
### Mounting the accelerometer
|
||||||
|
|
||||||
@@ -92,14 +219,18 @@ of time, up to 10-20 minutes. Be patient and wait for the completion of
|
|||||||
the installation. On some occasions, if the board has too little RAM
|
the installation. On some occasions, if the board has too little RAM
|
||||||
the installation may fail and you will need to enable swap.
|
the installation may fail and you will need to enable swap.
|
||||||
|
|
||||||
Afterwards, check and follow the instructions in the
|
#### Configure ADXL345 With RPi
|
||||||
|
|
||||||
|
First, check and follow the instructions in the
|
||||||
[RPi Microcontroller document](RPi_microcontroller.md) to setup the
|
[RPi Microcontroller document](RPi_microcontroller.md) to setup the
|
||||||
"linux mcu" on the Raspberry Pi.
|
"linux mcu" on the Raspberry Pi. This will configure a second Klipper
|
||||||
|
instance that runs on your Pi.
|
||||||
|
|
||||||
Make sure the Linux SPI driver is enabled by running `sudo
|
Make sure the Linux SPI driver is enabled by running `sudo
|
||||||
raspi-config` and enabling SPI under the "Interfacing options" menu.
|
raspi-config` and enabling SPI under the "Interfacing options" menu.
|
||||||
|
|
||||||
For the ADXL345, add the following to the printer.cfg file:
|
Add the following to the printer.cfg file:
|
||||||
|
|
||||||
```
|
```
|
||||||
[mcu rpi]
|
[mcu rpi]
|
||||||
serial: /tmp/klipper_host_mcu
|
serial: /tmp/klipper_host_mcu
|
||||||
@@ -115,9 +246,91 @@ probe_points:
|
|||||||
It is advised to start with 1 probe point, in the middle of the print bed,
|
It is advised to start with 1 probe point, in the middle of the print bed,
|
||||||
slightly above it.
|
slightly above it.
|
||||||
|
|
||||||
For the MPU-9250, make sure the Linux I2C driver is enabled and the baud rate is
|
#### Configure ADXL345 With Pi Pico
|
||||||
|
|
||||||
|
##### Flash the Pico Firmware
|
||||||
|
|
||||||
|
On your Raspberry Pi, compile the firmware for the Pico.
|
||||||
|
|
||||||
|
```
|
||||||
|
cd ~/klipper
|
||||||
|
make clean
|
||||||
|
make menuconfig
|
||||||
|
```
|
||||||
|

|
||||||
|
|
||||||
|
Now, while holding down the `BOOTSEL` button on the Pico, connect the Pico to
|
||||||
|
the Raspberry Pi via USB. Compile and flash the firmware.
|
||||||
|
```
|
||||||
|
make flash FLASH_DEVICE=first
|
||||||
|
```
|
||||||
|
|
||||||
|
If that fails, you will be told which `FLASH_DEVICE` to use. In this example,
|
||||||
|
that's ```make flash FLASH_DEVICE=2e8a:0003```.
|
||||||
|

|
||||||
|
|
||||||
|
##### Configure the Connection
|
||||||
|
|
||||||
|
The Pico will now reboot with the new firmware and should show up as a serial
|
||||||
|
device. Find the pico serial device with `ls /dev/serial/by-id/*`. You can
|
||||||
|
now add an `adxl.cfg` file with the following settings:
|
||||||
|
|
||||||
|
```
|
||||||
|
[mcu adxl]
|
||||||
|
# Change <mySerial> to whatever you found above. For example,
|
||||||
|
# usb-Klipper_rp2040_E661640843545B2E-if00
|
||||||
|
serial: /dev/serial/by-id/usb-Klipper_rp2040_<mySerial>
|
||||||
|
|
||||||
|
[adxl345]
|
||||||
|
cs_pin: adxl:gpio1
|
||||||
|
spi_bus: spi0a
|
||||||
|
axes_map: x,z,y
|
||||||
|
|
||||||
|
[resonance_tester]
|
||||||
|
accel_chip: adxl345
|
||||||
|
probe_points:
|
||||||
|
# Somewhere slightly above the middle of your print bed
|
||||||
|
147,154, 20
|
||||||
|
|
||||||
|
[output_pin power_mode] # Improve power stability
|
||||||
|
pin: adxl:gpio23
|
||||||
|
```
|
||||||
|
|
||||||
|
If setting up the ADXL345 configuration in a separate file, as shown above,
|
||||||
|
you'll also want to modify your `printer.cfg` file to include this:
|
||||||
|
|
||||||
|
```
|
||||||
|
[include adxl.cfg] # Comment this out when you disconnect the accelerometer
|
||||||
|
```
|
||||||
|
|
||||||
|
Restart Klipper via the `RESTART` command.
|
||||||
|
|
||||||
|
#### Configure LIS2DW series
|
||||||
|
|
||||||
|
```
|
||||||
|
[mcu lis]
|
||||||
|
# Change <mySerial> to whatever you found above. For example,
|
||||||
|
# usb-Klipper_rp2040_E661640843545B2E-if00
|
||||||
|
serial: /dev/serial/by-id/usb-Klipper_rp2040_<mySerial>
|
||||||
|
|
||||||
|
[lis2dw]
|
||||||
|
cs_pin: lis:gpio1
|
||||||
|
spi_bus: spi0a
|
||||||
|
axes_map: x,z,y
|
||||||
|
|
||||||
|
[resonance_tester]
|
||||||
|
accel_chip: lis2dw
|
||||||
|
probe_points:
|
||||||
|
# Somewhere slightly above the middle of your print bed
|
||||||
|
147,154, 20
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Configure MPU-6000/9000 series With RPi
|
||||||
|
|
||||||
|
Make sure the Linux I2C driver is enabled and the baud rate is
|
||||||
set to 400000 (see [Enabling I2C](RPi_microcontroller.md#optional-enabling-i2c)
|
set to 400000 (see [Enabling I2C](RPi_microcontroller.md#optional-enabling-i2c)
|
||||||
section for more details). Then, add the following to the printer.cfg:
|
section for more details). Then, add the following to the printer.cfg:
|
||||||
|
|
||||||
```
|
```
|
||||||
[mcu rpi]
|
[mcu rpi]
|
||||||
serial: /tmp/klipper_host_mcu
|
serial: /tmp/klipper_host_mcu
|
||||||
@@ -132,6 +345,46 @@ probe_points:
|
|||||||
100, 100, 20 # an example
|
100, 100, 20 # an example
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Configure MPU-9520 Compatibles With Pico
|
||||||
|
|
||||||
|
Pico I2C is set to 400000 on default. Simply add the following to the
|
||||||
|
printer.cfg:
|
||||||
|
|
||||||
|
```
|
||||||
|
[mcu pico]
|
||||||
|
serial: /dev/serial/by-id/<your Pico's serial ID>
|
||||||
|
|
||||||
|
[mpu9250]
|
||||||
|
i2c_mcu: pico
|
||||||
|
i2c_bus: i2c0a
|
||||||
|
|
||||||
|
[resonance_tester]
|
||||||
|
accel_chip: mpu9250
|
||||||
|
probe_points:
|
||||||
|
100, 100, 20 # an example
|
||||||
|
|
||||||
|
[static_digital_output pico_3V3pwm] # Improve power stability
|
||||||
|
pins: pico:gpio23
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Configure MPU-9520 Compatibles with AVR
|
||||||
|
|
||||||
|
AVR I2C will be set to 400000 by the mpu9250 option. Simply add the following
|
||||||
|
to the printer.cfg:
|
||||||
|
|
||||||
|
```
|
||||||
|
[mcu nano]
|
||||||
|
serial: /dev/serial/by-id/<your nano's serial ID>
|
||||||
|
|
||||||
|
[mpu9250]
|
||||||
|
i2c_mcu: nano
|
||||||
|
|
||||||
|
[resonance_tester]
|
||||||
|
accel_chip: mpu9250
|
||||||
|
probe_points:
|
||||||
|
100, 100, 20 # an example
|
||||||
|
```
|
||||||
|
|
||||||
Restart Klipper via the `RESTART` command.
|
Restart Klipper via the `RESTART` command.
|
||||||
|
|
||||||
## Measuring the resonances
|
## Measuring the resonances
|
||||||
@@ -154,10 +407,15 @@ Recv: // adxl345 values (x, y, z): 470.719200, 941.438400, 9728.196800
|
|||||||
```
|
```
|
||||||
|
|
||||||
If you get an error like `Invalid adxl345 id (got xx vs e5)`, where `xx`
|
If you get an error like `Invalid adxl345 id (got xx vs e5)`, where `xx`
|
||||||
is some other ID, it is indicative of the connection problem with ADXL345,
|
is some other ID, immediately try again. There's an issue with SPI
|
||||||
|
initialization. If you still get an error, it is indicative of the connection
|
||||||
|
problem with ADXL345,
|
||||||
or the faulty sensor. Double-check the power, the wiring (that it matches
|
or the faulty sensor. Double-check the power, the wiring (that it matches
|
||||||
the schematics, no wire is broken or loose, etc.), and soldering quality.
|
the schematics, no wire is broken or loose, etc.), and soldering quality.
|
||||||
|
|
||||||
|
**If you are using a MPU-9250 compatible accelerometer and it shows up as
|
||||||
|
`mpu-unknown`, use with caution! They are probably refurbished chips!**
|
||||||
|
|
||||||
Next, try running `MEASURE_AXES_NOISE` in Octoprint, you should get some
|
Next, try running `MEASURE_AXES_NOISE` in Octoprint, you should get some
|
||||||
baseline numbers for the noise of accelerometer on the axes (should be
|
baseline numbers for the noise of accelerometer on the axes (should be
|
||||||
somewhere in the range of ~1-100). Too high axes noise (e.g. 1000 and more)
|
somewhere in the range of ~1-100). Too high axes noise (e.g. 1000 and more)
|
||||||
@@ -233,7 +491,7 @@ or you can choose some other configuration yourself based on the generated
|
|||||||
charts: peaks in the power spectral density on the charts correspond to
|
charts: peaks in the power spectral density on the charts correspond to
|
||||||
the resonance frequencies of the printer.
|
the resonance frequencies of the printer.
|
||||||
|
|
||||||
Note that alternatively you can run the input shaper autocalibration
|
Note that alternatively you can run the input shaper auto-calibration
|
||||||
from Klipper [directly](#input-shaper-auto-calibration), which can be
|
from Klipper [directly](#input-shaper-auto-calibration), which can be
|
||||||
convenient, for example, for the input shaper
|
convenient, for example, for the input shaper
|
||||||
[re-calibration](#input-shaper-re-calibration).
|
[re-calibration](#input-shaper-re-calibration).
|
||||||
@@ -245,10 +503,11 @@ of the accelerometer between the measurements for X and Y axes: measure the
|
|||||||
resonances of X axis with the accelerometer attached to the toolhead and the
|
resonances of X axis with the accelerometer attached to the toolhead and the
|
||||||
resonances of Y axis - to the bed (the usual bed slinger setup).
|
resonances of Y axis - to the bed (the usual bed slinger setup).
|
||||||
|
|
||||||
However, you can also connect two accelerometers simultaneously, though they
|
However, you can also connect two accelerometers simultaneously, though the
|
||||||
must be connected to different boards (say, to an RPi and printer MCU board), or
|
ADXL345 must be connected to different boards (say, to an RPi and printer MCU
|
||||||
to two different physical SPI interfaces on the same board (rarely available).
|
board), or to two different physical SPI interfaces on the same board (rarely
|
||||||
Then they can be configured in the following manner:
|
available). Then they can be configured in the following manner:
|
||||||
|
|
||||||
```
|
```
|
||||||
[adxl345 hotend]
|
[adxl345 hotend]
|
||||||
# Assuming `hotend` chip is connected to an RPi
|
# Assuming `hotend` chip is connected to an RPi
|
||||||
@@ -265,6 +524,30 @@ accel_chip_y: adxl345 bed
|
|||||||
probe_points: ...
|
probe_points: ...
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Two MPUs can share one I2C bus, but they **cannot** measure simultaneously as
|
||||||
|
the 400kbit/s I2C bus is not fast enough. One must have its AD0 pin pulled-down
|
||||||
|
to 0V (address 104) and the other its AD0 pin pulled-up to 3.3V (address 105):
|
||||||
|
|
||||||
|
```
|
||||||
|
[mpu9250 hotend]
|
||||||
|
i2c_mcu: rpi
|
||||||
|
i2c_bus: i2c.1
|
||||||
|
i2c_address: 104 # This MPU has pin AD0 pulled low
|
||||||
|
|
||||||
|
[mpu9250 bed]
|
||||||
|
i2c_mcu: rpi
|
||||||
|
i2c_bus: i2c.1
|
||||||
|
i2c_address: 105 # This MPU has pin AD0 pulled high
|
||||||
|
|
||||||
|
[resonance_tester]
|
||||||
|
# Assuming the typical setup of the bed slinger printer
|
||||||
|
accel_chip_x: mpu9250 hotend
|
||||||
|
accel_chip_y: mpu9250 bed
|
||||||
|
probe_points: ...
|
||||||
|
```
|
||||||
|
[Test with each MPU individually before connecting both to the bus for easy
|
||||||
|
debugging.]
|
||||||
|
|
||||||
Then the commands `TEST_RESONANCES AXIS=X` and `TEST_RESONANCES AXIS=Y`
|
Then the commands `TEST_RESONANCES AXIS=X` and `TEST_RESONANCES AXIS=Y`
|
||||||
will use the correct accelerometer for each axis.
|
will use the correct accelerometer for each axis.
|
||||||
|
|
||||||
@@ -473,9 +756,9 @@ supplying `AXIS=` parameter, like
|
|||||||
SHAPER_CALIBRATE AXIS=X
|
SHAPER_CALIBRATE AXIS=X
|
||||||
```
|
```
|
||||||
|
|
||||||
**Warning!** It is not advisable to run the shaper autocalibration very
|
**Warning!** It is not advisable to run the shaper auto-calibration very
|
||||||
frequently (e.g. before every print, or every day). In order to determine
|
frequently (e.g. before every print, or every day). In order to determine
|
||||||
resonance frequencies, autocalibration creates intensive vibrations on each of
|
resonance frequencies, auto-calibration creates intensive vibrations on each of
|
||||||
the axes. Generally, 3D printers are not designed to withstand a prolonged
|
the axes. Generally, 3D printers are not designed to withstand a prolonged
|
||||||
exposure to vibrations near the resonance frequencies. Doing so may increase
|
exposure to vibrations near the resonance frequencies. Doing so may increase
|
||||||
wear of the printer components and reduce their lifespan. There is also an
|
wear of the printer components and reduce their lifespan. There is also an
|
||||||
|
|||||||
@@ -35,6 +35,8 @@ communication with the Klipper developers.
|
|||||||
locations.
|
locations.
|
||||||
- [Endstop phase](Endstop_Phase.md): Stepper assisted Z endstop
|
- [Endstop phase](Endstop_Phase.md): Stepper assisted Z endstop
|
||||||
positioning.
|
positioning.
|
||||||
|
- [Axis Twist Compensation](Axis_Twist_Compensation.md): A tool to compensate
|
||||||
|
for inaccurate probe readings due to twist in X gantry.
|
||||||
- [Resonance compensation](Resonance_Compensation.md): A tool to
|
- [Resonance compensation](Resonance_Compensation.md): A tool to
|
||||||
reduce ringing in prints.
|
reduce ringing in prints.
|
||||||
- [Measuring resonances](Measuring_Resonances.md): Information on
|
- [Measuring resonances](Measuring_Resonances.md): Information on
|
||||||
@@ -54,7 +56,7 @@ communication with the Klipper developers.
|
|||||||
perfectly square.
|
perfectly square.
|
||||||
- [PWM tools](Using_PWM_Tools.md): Guide on how to use PWM controlled
|
- [PWM tools](Using_PWM_Tools.md): Guide on how to use PWM controlled
|
||||||
tools such as lasers or spindles.
|
tools such as lasers or spindles.
|
||||||
- [Exclude Object](Exclude_Object.md): The guide to the Exclude Objecs
|
- [Exclude Object](Exclude_Object.md): The guide to the Exclude Objects
|
||||||
implementation.
|
implementation.
|
||||||
|
|
||||||
## Developer Documentation
|
## Developer Documentation
|
||||||
@@ -91,6 +93,9 @@ communication with the Klipper developers.
|
|||||||
Beaglebone PRU.
|
Beaglebone PRU.
|
||||||
- [Bootloaders](Bootloaders.md): Developer information on
|
- [Bootloaders](Bootloaders.md): Developer information on
|
||||||
micro-controller flashing.
|
micro-controller flashing.
|
||||||
|
- [Bootloader Entry](Bootloader_Entry.md): Requesting the bootloader.
|
||||||
- [CAN bus](CANBUS.md): Information on using CAN bus with Klipper.
|
- [CAN bus](CANBUS.md): Information on using CAN bus with Klipper.
|
||||||
|
- [CAN bus troubleshooting](CANBUS_Troubleshooting.md): Tips for
|
||||||
|
troubleshooting CAN bus.
|
||||||
- [TSL1401CL filament width sensor](TSL1401CL_Filament_Width_Sensor.md)
|
- [TSL1401CL filament width sensor](TSL1401CL_Filament_Width_Sensor.md)
|
||||||
- [Hall filament width sensor](Hall_Filament_Width_Sensor.md)
|
- [Hall filament width sensor](Hall_Filament_Width_Sensor.md)
|
||||||
|
|||||||
@@ -27,4 +27,4 @@ follows: `python2 scripts/make_version.py YOURDISTRONAME > klippy/.version`.
|
|||||||
## Sample packaging script
|
## Sample packaging script
|
||||||
|
|
||||||
klipper-git is packaged for Arch Linux, and has a PKGBUILD (package build
|
klipper-git is packaged for Arch Linux, and has a PKGBUILD (package build
|
||||||
script) available at [Arch User Repositiory](https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=klipper-git).
|
script) available at [Arch User Repository](https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=klipper-git).
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ must run before the klippy process.
|
|||||||
After installing Klipper, install the script. run:
|
After installing Klipper, install the script. run:
|
||||||
```
|
```
|
||||||
cd ~/klipper/
|
cd ~/klipper/
|
||||||
sudo cp "./scripts/klipper-mcu-start.sh" /etc/init.d/klipper_mcu
|
sudo cp ./scripts/klipper-mcu.service /etc/systemd/system/
|
||||||
sudo update-rc.d klipper_mcu defaults
|
sudo systemctl enable klipper-mcu.service
|
||||||
```
|
```
|
||||||
|
|
||||||
## Building the micro-controller code
|
## Building the micro-controller code
|
||||||
@@ -198,18 +198,28 @@ default on a Raspberry and can be activated by adding a line to
|
|||||||
dtoverlay=pwm,pin=12,func=4
|
dtoverlay=pwm,pin=12,func=4
|
||||||
```
|
```
|
||||||
This example enables only PWM0 and routes it to gpio12. If both PWM
|
This example enables only PWM0 and routes it to gpio12. If both PWM
|
||||||
channels need to be enabled you can use `pwm-2chan`.
|
channels need to be enabled you can use `pwm-2chan`:
|
||||||
|
```
|
||||||
|
# Enable pwmchip sysfs interface
|
||||||
|
dtoverlay=pwm-2chan,pin=12,func=4,pin2=13,func2=4
|
||||||
|
```
|
||||||
|
This example additionally enables PWM1 and routes it to gpio13.
|
||||||
|
|
||||||
The overlay does not expose the pwm line on sysfs on boot and needs to
|
The overlay does not expose the pwm line on sysfs on boot and needs to
|
||||||
be exported by echo'ing the number of the pwm channel to
|
be exported by echo'ing the number of the pwm channel to
|
||||||
`/sys/class/pwm/pwmchip0/export`:
|
`/sys/class/pwm/pwmchip0/export`. This will create device `/sys/class/pwm/pwmchip0/pwm0` in the
|
||||||
|
filesystem. The easiest way to do this is by adding this to
|
||||||
|
`/etc/rc.local` before the `exit 0` line:
|
||||||
```
|
```
|
||||||
|
# Enable pwmchip sysfs interface
|
||||||
echo 0 > /sys/class/pwm/pwmchip0/export
|
echo 0 > /sys/class/pwm/pwmchip0/export
|
||||||
```
|
```
|
||||||
|
When using both PWM channels, the number of the second channel needs to be echo'd as well:
|
||||||
This will create device `/sys/class/pwm/pwmchip0/pwm0` in the
|
```
|
||||||
filesystem. The easiest way to do this is by adding this to
|
# Enable pwmchip sysfs interface
|
||||||
`/etc/rc.local` before the `exit 0` line.
|
echo 0 > /sys/class/pwm/pwmchip0/export
|
||||||
|
echo 1 > /sys/class/pwm/pwmchip0/export
|
||||||
|
```
|
||||||
|
|
||||||
With the sysfs in place, you can now use either the pwm channel(s) by
|
With the sysfs in place, you can now use either the pwm channel(s) by
|
||||||
adding the following piece of configuration to your `printer.cfg`:
|
adding the following piece of configuration to your `printer.cfg`:
|
||||||
@@ -219,9 +229,17 @@ pin: host:pwmchip0/pwm0
|
|||||||
pwm: True
|
pwm: True
|
||||||
hardware_pwm: True
|
hardware_pwm: True
|
||||||
cycle_time: 0.000001
|
cycle_time: 0.000001
|
||||||
|
|
||||||
|
[output_pin beeper]
|
||||||
|
pin: host:pwmchip0/pwm1
|
||||||
|
pwm: True
|
||||||
|
hardware_pwm: True
|
||||||
|
value: 0
|
||||||
|
shutdown_value: 0
|
||||||
|
cycle_time: 0.0005
|
||||||
```
|
```
|
||||||
This will add hardware pwm control to gpio12 on the Pi (because the
|
This will add hardware pwm control to gpio12 and gpio13 on the Pi (because the
|
||||||
overlay was configured to route pwm0 to pin=12).
|
overlay was configured to route pwm0 to pin=12 and pwm1 to pin=13).
|
||||||
|
|
||||||
PWM0 can be routed to gpio12 and gpio18, PWM1 can be routed to gpio13
|
PWM0 can be routed to gpio12 and gpio18, PWM1 can be routed to gpio13
|
||||||
and gpio19:
|
and gpio19:
|
||||||
|
|||||||
@@ -3,6 +3,49 @@
|
|||||||
History of Klipper releases. Please see
|
History of Klipper releases. Please see
|
||||||
[installation](Installation.md) for information on installing Klipper.
|
[installation](Installation.md) for information on installing Klipper.
|
||||||
|
|
||||||
|
## Klipper 0.12.0
|
||||||
|
|
||||||
|
Available on 20231110. Major changes in this release:
|
||||||
|
* Support for COPY and MIRROR modes on IDEX printers.
|
||||||
|
* Several micro-controller improvements:
|
||||||
|
* Support for new ar100 and hc32f460 architectures.
|
||||||
|
* Support for stm32f7, stm32g0b0, stm32g07x, stm32g4, stm32h723,
|
||||||
|
n32g45x, samc21, and samd21j18 chip variants.
|
||||||
|
* Improved DFU and Katapult reboot handling.
|
||||||
|
* Improved performance on USB to CANbus bridge mode.
|
||||||
|
* Improved performance on "linux mcu".
|
||||||
|
* New support for software based i2c.
|
||||||
|
* New hardware support for tmc2240 stepper motor drivers, lis2dw12
|
||||||
|
accelerometers, and aht10 temperature sensors.
|
||||||
|
* New axis_twist_compensation and temperature_combined modules added.
|
||||||
|
* New support for gcode arcs in XY, XZ, and YZ planes.
|
||||||
|
* Several bug fixes and code cleanups.
|
||||||
|
|
||||||
|
## Klipper 0.11.0
|
||||||
|
|
||||||
|
Available on 20221128. Major changes in this release:
|
||||||
|
* Trinamic stepper motor driver "step on both edges" optimization.
|
||||||
|
* Support for Python3. The Klipper host code will run with either
|
||||||
|
Python2 or Python3.
|
||||||
|
* Enhanced CAN bus support. Support for CAN bus on rp2040, stm32g0,
|
||||||
|
stm32h7, same51, and same54 chips. Support for "USB to CAN bus
|
||||||
|
bridge" mode.
|
||||||
|
* Support for CanBoot bootloader.
|
||||||
|
* Support for mpu9250 and mpu6050 accelerometers.
|
||||||
|
* Improved error handling for max31856, max31855, max31865, and
|
||||||
|
max6675 temperature sensors.
|
||||||
|
* It is now possible to configure LEDs to update during long running
|
||||||
|
G-Code commands using LED "template" support.
|
||||||
|
* Several micro-controller improvements. New support for stm32h743,
|
||||||
|
stm32h750, stm32l412, stm32g0b1, same70, same51, and same54 chips.
|
||||||
|
Support for i2c reads on atsamd and stm32f0. Hardware pwm support on
|
||||||
|
stm32. Linux mcu signal based event dispatch. New rp2040 support for
|
||||||
|
"make flash", i2c, and rp2040-e5 USB errata.
|
||||||
|
* New modules added: angle, dac084S085, exclude_object, led, mpu9250,
|
||||||
|
pca9632, smart_effector, z_thermal_adjust. New deltesian kinematics
|
||||||
|
added. New dump_mcu tool added.
|
||||||
|
* Several bug fixes and code cleanups.
|
||||||
|
|
||||||
## Klipper 0.10.0
|
## Klipper 0.10.0
|
||||||
|
|
||||||
Available on 20210929. Major changes in this release:
|
Available on 20210929. Major changes in this release:
|
||||||
|
|||||||
@@ -418,18 +418,34 @@ if necessary.
|
|||||||
|
|
||||||
### Is dual carriage setup supported with input shapers?
|
### Is dual carriage setup supported with input shapers?
|
||||||
|
|
||||||
There is no dedicated support for dual carriages with input shapers, but it does
|
Yes. In this case, one should measure the resonances twice for each carriage.
|
||||||
not mean this setup will not work. One should run the tuning twice for each
|
For example, if the second (dual) carriage is installed on X axis, it is
|
||||||
of the carriages, and calculate the ringing frequencies for X and Y axes for
|
possible to set different input shapers for X axis for the primary and dual
|
||||||
each of the carriages independently. Then put the values for carriage 0 into
|
carriages. However, the input shaper for Y axis should be the same for both
|
||||||
[input_shaper] section, and change the values on the fly when changing
|
carriages (as ultimately this axis is driven by one or more stepper motors each
|
||||||
carriages, e.g. as a part of some macro:
|
commanded to perform exactly the same steps). One possibility to configure
|
||||||
```
|
the input shaper for such setups is to keep `[input_shaper]` section empty and
|
||||||
SET_DUAL_CARRIAGE CARRIAGE=1
|
additionally define a `[delayed_gcode]` section in the `printer.cfg` as follows:
|
||||||
SET_INPUT_SHAPER SHAPER_FREQ_X=... SHAPER_FREQ_Y=...
|
|
||||||
```
|
```
|
||||||
|
[input_shaper]
|
||||||
|
# Intentionally empty
|
||||||
|
|
||||||
And similarly when switching back to carriage 0.
|
[delayed_gcode init_shaper]
|
||||||
|
initial_duration: 0.1
|
||||||
|
gcode:
|
||||||
|
SET_DUAL_CARRIAGE CARRIAGE=1
|
||||||
|
SET_INPUT_SHAPER SHAPER_TYPE_X=<dual_carriage_shaper> SHAPER_FREQ_X=<dual_carriage_freq> SHAPER_TYPE_Y=<y_shaper> SHAPER_FREQ_Y=<y_freq>
|
||||||
|
SET_DUAL_CARRIAGE CARRIAGE=0
|
||||||
|
SET_INPUT_SHAPER SHAPER_TYPE_X=<primary_carriage_shaper> SHAPER_FREQ_X=<primary_carriage_freq> SHAPER_TYPE_Y=<y_shaper> SHAPER_FREQ_Y=<y_freq>
|
||||||
|
```
|
||||||
|
Note that `SHAPER_TYPE_Y` and `SHAPER_FREQ_Y` should be the same in both
|
||||||
|
commands. It is also possible to put a similar snippet into the start g-code
|
||||||
|
in the slicer, however then the shaper will not be enabled until any print
|
||||||
|
is started.
|
||||||
|
|
||||||
|
Note that the input shaper only needs to be configured once. Subsequent changes
|
||||||
|
of the carriages or their modes via `SET_DUAL_CARRIAGE` command will preserve
|
||||||
|
the configured input shaper parameters.
|
||||||
|
|
||||||
### Does input_shaper affect print time?
|
### Does input_shaper affect print time?
|
||||||
|
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ All options can be viewed by the help screen:
|
|||||||
./scripts/flash-sdcard.sh -h
|
./scripts/flash-sdcard.sh -h
|
||||||
SD Card upload utility for Klipper
|
SD Card upload utility for Klipper
|
||||||
|
|
||||||
usage: flash_sdcard.sh [-h] [-l] [-b <baud>] [-f <firmware>]
|
usage: flash_sdcard.sh [-h] [-l] [-c] [-b <baud>] [-f <firmware>]
|
||||||
<device> <board>
|
<device> <board>
|
||||||
|
|
||||||
positional arguments:
|
positional arguments:
|
||||||
@@ -58,6 +58,7 @@ positional arguments:
|
|||||||
optional arguments:
|
optional arguments:
|
||||||
-h show this message
|
-h show this message
|
||||||
-l list available boards
|
-l list available boards
|
||||||
|
-c run flash check/verify only (skip upload)
|
||||||
-b <baud> serial baud rate (default is 250000)
|
-b <baud> serial baud rate (default is 250000)
|
||||||
-f <firmware> path to klipper.bin
|
-f <firmware> path to klipper.bin
|
||||||
```
|
```
|
||||||
@@ -78,6 +79,14 @@ Note that when upgrading a MKS Robin E3 it is not necessary to manually run
|
|||||||
`update_mks_robin.py` and supply the resulting binary to `flash-sdcard.sh`.
|
`update_mks_robin.py` and supply the resulting binary to `flash-sdcard.sh`.
|
||||||
This procedure is automated during the upload process.
|
This procedure is automated during the upload process.
|
||||||
|
|
||||||
|
The `-c` option is used to perform a check or verify-only operation
|
||||||
|
to test if the board is running the specified firmware correctly. This
|
||||||
|
option is primarily intended for cases where a manual power-cycle is
|
||||||
|
necessary to complete the flashing procedure, such as with bootloaders that
|
||||||
|
use SDIO mode instead of SPI to access their SD Cards. (See Caveats below)
|
||||||
|
But, it can also be used anytime to verify if the code flashed into the board
|
||||||
|
matches the version in your build folder on any supported board.
|
||||||
|
|
||||||
## Caveats
|
## Caveats
|
||||||
|
|
||||||
- As mentioned in the introduction, this method only works for upgrading
|
- As mentioned in the introduction, this method only works for upgrading
|
||||||
@@ -89,7 +98,16 @@ This procedure is automated during the upload process.
|
|||||||
the current version.
|
the current version.
|
||||||
- Only boards that use SPI for SD Card communication are supported.
|
- Only boards that use SPI for SD Card communication are supported.
|
||||||
Boards that use SDIO, such as the Flymaker Flyboard and MKS Robin Nano
|
Boards that use SDIO, such as the Flymaker Flyboard and MKS Robin Nano
|
||||||
V1/V2, will not work.
|
V1/V2, will not work in SDIO mode. However, it's usually possible to
|
||||||
|
flash such boards using Software SPI mode instead. But if the board's
|
||||||
|
bootloader only uses SDIO mode to access the SD Card, a power-cycle of
|
||||||
|
the board and SD Card will be necessary so that the mode can switch from SPI
|
||||||
|
back to SDIO to complete reflashing. Such boards should be defined with
|
||||||
|
`skip_verify` enabled to skip the verify step immediately after flashing.
|
||||||
|
Then after the manual power-cycle, you can rerun the exact same
|
||||||
|
`./scripts/flash-sdcard.sh` command, but add the `-c` option to complete
|
||||||
|
the check/verify operation. See [Flashing Boards that use SDIO](#flashing-boards-that-use-sdio)
|
||||||
|
for examples.
|
||||||
|
|
||||||
## Board Definitions
|
## Board Definitions
|
||||||
|
|
||||||
@@ -109,26 +127,34 @@ BOARD_DEFS = {
|
|||||||
```
|
```
|
||||||
|
|
||||||
The following fields may be specified:
|
The following fields may be specified:
|
||||||
- `mcu`: The mcu type. This can be retrevied after configuring the build
|
- `mcu`: The mcu type. This can be retrieved after configuring the build
|
||||||
via `make menuconfig` by running `cat .config | grep CONFIG_MCU`. This
|
via `make menuconfig` by running `cat .config | grep CONFIG_MCU`. This
|
||||||
field is required.
|
field is required.
|
||||||
- `spi_bus`: The SPI bus connected to the SD Card. This should be retreived
|
- `spi_bus`: The SPI bus connected to the SD Card. This should be retrieved
|
||||||
from the board's schematic. This field is required.
|
from the board's schematic. This field is required.
|
||||||
- `cs_pin`: The Chip Select Pin connected to the SD Card. This should be
|
- `cs_pin`: The Chip Select Pin connected to the SD Card. This should be
|
||||||
retreived from the board schematic. This field is required.
|
retrieved from the board schematic. This field is required.
|
||||||
- `firmware_path`: The path on the SD Card where firmware should be
|
- `firmware_path`: The path on the SD Card where firmware should be
|
||||||
transferred. The default is `firmware.bin`.
|
transferred. The default is `firmware.bin`.
|
||||||
- `current_firmware_path` The path on the SD Card where the renamed firmware
|
- `current_firmware_path`: The path on the SD Card where the renamed firmware
|
||||||
file is located after a successful flash. The default is `firmware.cur`.
|
file is located after a successful flash. The default is `firmware.cur`.
|
||||||
|
- `skip_verify`: This defines a boolean value which tells the scripts to skip
|
||||||
|
the firmware verification step during the flashing process. The default
|
||||||
|
is `False`. It can be set to `True` for boards that require a manual
|
||||||
|
power-cycle to complete flashing. To verify the firmware afterward, run
|
||||||
|
the script again with the `-c` option to perform the verification step.
|
||||||
|
[See caveats with SDIO cards](#caveats)
|
||||||
|
|
||||||
If software SPI is required the `spi_bus` field should be set to `swspi`
|
If software SPI is required, the `spi_bus` field should be set to `swspi`
|
||||||
and the following additional field should be specified:
|
and the following additional field should be specified:
|
||||||
- `spi_pins`: This should be 3 comma separated pins that are connected to
|
- `spi_pins`: This should be 3 comma separated pins that are connected to
|
||||||
the SD Card in the format of `miso,mosi,sclk`.
|
the SD Card in the format of `miso,mosi,sclk`.
|
||||||
|
|
||||||
It should be exceedingly rare that Software SPI is necessary, typically only
|
It should be exceedingly rare that Software SPI is necessary, typically only
|
||||||
boards with design errors will require it. The `btt-skr-pro` board definition
|
boards with design errors or boards that normally only support SDIO mode for
|
||||||
provides an example.
|
their SD Card will require it. The `btt-skr-pro` board definition provides an
|
||||||
|
example of the former, and the `btt-octopus-f446-v1` board definition
|
||||||
|
provides an example of the latter.
|
||||||
|
|
||||||
Prior to creating a new board definition one should check to see if an
|
Prior to creating a new board definition one should check to see if an
|
||||||
existing board definition meets the criteria necessary for the new board.
|
existing board definition meets the criteria necessary for the new board.
|
||||||
@@ -144,4 +170,86 @@ BOARD_ALIASES = {
|
|||||||
|
|
||||||
If you need a new board definition and you are uncomfortable with the
|
If you need a new board definition and you are uncomfortable with the
|
||||||
procedure outlined above it is recommended that you request one in
|
procedure outlined above it is recommended that you request one in
|
||||||
the [Klipper Community Discord](Contact.md#discord).
|
the [Klipper Discord](Contact.md).
|
||||||
|
|
||||||
|
## Flashing Boards that use SDIO
|
||||||
|
|
||||||
|
[As mentioned in the Caveats](#caveats), boards whose bootloader uses
|
||||||
|
SDIO mode to access their SD Card require a power-cycle of the board,
|
||||||
|
and specifically the SD Card itself, in order to switch from the SPI Mode
|
||||||
|
used while writing the file to the SD Card back to SDIO mode for the
|
||||||
|
bootloader to flash it into the board. These board definitions will
|
||||||
|
use the `skip_verify` flag, which tells the flashing tool to stop after
|
||||||
|
writing the firmware to the SD Card so that the board can be manually
|
||||||
|
power-cycled and the verification step deferred until that's complete.
|
||||||
|
|
||||||
|
There are two scenarios -- one with the RPi Host running on a separate
|
||||||
|
power supply and the other when the RPi Host is running on the same
|
||||||
|
power supply as the main board being flashed. The difference is whether
|
||||||
|
or not it's necessary to also shutdown the RPi and then `ssh` again after
|
||||||
|
the flashing is complete in order to do the verification step, or if the
|
||||||
|
verification can be done immediately. Here's examples of the two scenarios:
|
||||||
|
|
||||||
|
### SDIO Programming with RPi on Separate Power Supply
|
||||||
|
|
||||||
|
A typical session with the RPi on a Separate Power Supply looks like the
|
||||||
|
following. You will, of course, need to use your proper device path and
|
||||||
|
board name:
|
||||||
|
```
|
||||||
|
sudo service klipper stop
|
||||||
|
cd ~/klipper
|
||||||
|
git pull
|
||||||
|
make clean
|
||||||
|
make menuconfig
|
||||||
|
make
|
||||||
|
./scripts/flash-sdcard.sh /dev/ttyACM0 btt-octopus-f446-v1
|
||||||
|
[[[manually power-cycle the printer board here when instructed]]]
|
||||||
|
./scripts/flash-sdcard.sh -c /dev/ttyACM0 btt-octopus-f446-v1
|
||||||
|
sudo service klipper start
|
||||||
|
```
|
||||||
|
|
||||||
|
### SDIO Programming with RPi on the Same Power Supply
|
||||||
|
|
||||||
|
A typical session with the RPi on the Same Power Supply looks like the
|
||||||
|
following. You will, of course, need to use your proper device path and
|
||||||
|
board name:
|
||||||
|
```
|
||||||
|
sudo service klipper stop
|
||||||
|
cd ~/klipper
|
||||||
|
git pull
|
||||||
|
make clean
|
||||||
|
make menuconfig
|
||||||
|
make
|
||||||
|
./scripts/flash-sdcard.sh /dev/ttyACM0 btt-octopus-f446-v1
|
||||||
|
sudo shutdown -h now
|
||||||
|
[[[wait for the RPi to shutdown, then power-cycle and ssh again to the RPi when it restarts]]]
|
||||||
|
sudo service klipper stop
|
||||||
|
cd ~/klipper
|
||||||
|
./scripts/flash-sdcard.sh -c /dev/ttyACM0 btt-octopus-f446-v1
|
||||||
|
sudo service klipper start
|
||||||
|
```
|
||||||
|
|
||||||
|
In this case, since the RPi Host is being restarted, which will restart
|
||||||
|
the `klipper` service, it's necessary to stop `klipper` again before doing
|
||||||
|
the verification step and restart it after verification is complete.
|
||||||
|
|
||||||
|
### SDIO to SPI Pin Mapping
|
||||||
|
|
||||||
|
If your board's schematic uses SDIO for its SD Card, you can map the pins
|
||||||
|
as described in the chart below to determine the compatible Software SPI
|
||||||
|
pins to assign in the `board_defs.py` file:
|
||||||
|
|
||||||
|
| SD Card Pin | Micro SD Card Pin | SDIO Pin Name | SPI Pin Name |
|
||||||
|
| :---------: | :----------------: | :--------------: | :--------------: |
|
||||||
|
| 9 | 1 | DATA2 | None (PU)* |
|
||||||
|
| 1 | 2 | CD/DATA3 | CS |
|
||||||
|
| 2 | 3 | CMD | MOSI |
|
||||||
|
| 4 | 4 | +3.3V (VDD) | +3.3V (VDD) |
|
||||||
|
| 5 | 5 | CLK | SCLK |
|
||||||
|
| 3 | 6 | GND (VSS) | GND (VSS) |
|
||||||
|
| 7 | 7 | DATA0 | MISO |
|
||||||
|
| 8 | 8 | DATA1 | None (PU)* |
|
||||||
|
| N/A | 9 | Card Detect (CD) | Card Detect (CD) |
|
||||||
|
| 6 | 10 | GND | GND |
|
||||||
|
|
||||||
|
\* None (PU) indicates an unused pin with a pull-up resistor
|
||||||
|
|||||||
@@ -87,3 +87,39 @@ Klipper's maximum extrusion cross-section check.
|
|||||||
|
|
||||||
In contrast, it is okay (and often helpful) to use a slicer's
|
In contrast, it is okay (and often helpful) to use a slicer's
|
||||||
"retract" setting, "wipe" setting, and/or "wipe on retract" setting.
|
"retract" setting, "wipe" setting, and/or "wipe on retract" setting.
|
||||||
|
|
||||||
|
## START_PRINT macros
|
||||||
|
|
||||||
|
When using a START_PRINT macro or similar, it is useful to sometimes
|
||||||
|
pass through parameters from the slicer variables to the macro.
|
||||||
|
|
||||||
|
In Cura, to pass through temperatures, the following start gcode
|
||||||
|
would be used:
|
||||||
|
|
||||||
|
```
|
||||||
|
START_PRINT BED_TEMP={material_bed_temperature_layer_0} EXTRUDER_TEMP={material_print_temperature_layer_0}
|
||||||
|
```
|
||||||
|
|
||||||
|
In slic3r derivatives such as PrusaSlicer and SuperSlicer, the
|
||||||
|
following would be used:
|
||||||
|
|
||||||
|
```
|
||||||
|
START_PRINT EXTRUDER_TEMP=[first_layer_temperature] BED_TEMP=[first_layer_bed_temperature]
|
||||||
|
```
|
||||||
|
|
||||||
|
Also note that these slicers will insert their own heating codes when
|
||||||
|
certain conditions are not met. In Cura, the existence of the
|
||||||
|
`{material_bed_temperature_layer_0}` and `{material_print_temperature_layer_0}`
|
||||||
|
variables is enough to mitigate this. In slic3r derivatives,
|
||||||
|
you would use:
|
||||||
|
|
||||||
|
```
|
||||||
|
M140 S0
|
||||||
|
M104 S0
|
||||||
|
```
|
||||||
|
|
||||||
|
before the macro call. Also note that SuperSlicer has a
|
||||||
|
"custom gcode only" button option, which achieves the same outcome.
|
||||||
|
|
||||||
|
An example of a START_PRINT macro using these paramaters can
|
||||||
|
be found in config/sample-macros.cfg
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ sponsors.
|
|||||||
|
|
||||||
## BIGTREETECH
|
## BIGTREETECH
|
||||||
|
|
||||||
[<img src="./img/sponsors/BTT_BTT.png" width="200" />](https://bigtree-tech.com/collections/all-products)
|
[<img src="./img/sponsors/BTT_BTT.png" width="200" style="margin:25px"/>](https://bigtree-tech.com/collections/all-products)
|
||||||
|
|
||||||
BIGTREETECH is the official mainboard sponsor of Klipper. BIGTREETECH
|
BIGTREETECH is the official mainboard sponsor of Klipper. BIGTREETECH
|
||||||
is committed to developing innovative and competitive products to
|
is committed to developing innovative and competitive products to
|
||||||
@@ -14,12 +14,17 @@ serve the 3D printing community better. Follow them on
|
|||||||
[Facebook](https://www.facebook.com/BIGTREETECH) or
|
[Facebook](https://www.facebook.com/BIGTREETECH) or
|
||||||
[Twitter](https://twitter.com/BigTreeTech).
|
[Twitter](https://twitter.com/BigTreeTech).
|
||||||
|
|
||||||
|
## Sponsors
|
||||||
|
|
||||||
|
[<img src="./img/sponsors/obico-light-horizontal.png" width="200" style="margin:25px" />](https://obico.io/klipper.html?source=klipper_sponsor)
|
||||||
|
[<img src="./img/sponsors/peopoly-logo.png" width="200" style="margin:25px" />](https://peopoly.net)
|
||||||
|
|
||||||
## Klipper Developers
|
## Klipper Developers
|
||||||
|
|
||||||
### Kevin O'Connor
|
### Kevin O'Connor
|
||||||
|
|
||||||
Kevin is the original author and current maintainer of Klipper. Kevin
|
Kevin is the original author and current maintainer of Klipper. Donate
|
||||||
has a Patreon page at:
|
at: [https://ko-fi.com/koconnor](https://ko-fi.com/koconnor) or
|
||||||
[https://www.patreon.com/koconnor](https://www.patreon.com/koconnor)
|
[https://www.patreon.com/koconnor](https://www.patreon.com/koconnor)
|
||||||
|
|
||||||
### Eric Callahan
|
### Eric Callahan
|
||||||
|
|||||||
@@ -28,6 +28,17 @@ The following information is available in the
|
|||||||
- `profiles`: The set of currently defined profiles as setup
|
- `profiles`: The set of currently defined profiles as setup
|
||||||
using BED_MESH_PROFILE.
|
using BED_MESH_PROFILE.
|
||||||
|
|
||||||
|
## bed_screws
|
||||||
|
|
||||||
|
The following information is available in the
|
||||||
|
`Config_Reference.md#bed_screws` object:
|
||||||
|
- `is_active`: Returns True if the bed screws adjustment tool is currently
|
||||||
|
active.
|
||||||
|
- `state`: The bed screws adjustment tool state. It is one of
|
||||||
|
the following strings: "adjust", "fine".
|
||||||
|
- `current_screw`: The index for the current screw being adjusted.
|
||||||
|
- `accepted_screws`: The number of accepted screws.
|
||||||
|
|
||||||
## configfile
|
## configfile
|
||||||
|
|
||||||
The following information is available in the `configfile` object
|
The following information is available in the `configfile` object
|
||||||
@@ -109,6 +120,16 @@ The following information is available in the
|
|||||||
- `excluded_objects`: An array of strings listing the names of excluded objects.
|
- `excluded_objects`: An array of strings listing the names of excluded objects.
|
||||||
- `current_object`: The name of the object currently being printed.
|
- `current_object`: The name of the object currently being printed.
|
||||||
|
|
||||||
|
## extruder_stepper
|
||||||
|
|
||||||
|
The following information is available for extruder_stepper objects (as well as
|
||||||
|
[extruder](Config_Reference.md#extruder) objects):
|
||||||
|
- `pressure_advance`: The current [pressure advance](Pressure_Advance.md) value.
|
||||||
|
- `smooth_time`: The current pressure advance smooth time.
|
||||||
|
- `motion_queue`: The name of the extruder that this extruder stepper is
|
||||||
|
currently synchronized to. This is reported as `None` if the extruder stepper
|
||||||
|
is not currently associated with an extruder.
|
||||||
|
|
||||||
## fan
|
## fan
|
||||||
|
|
||||||
The following information is available in
|
The following information is available in
|
||||||
@@ -147,6 +168,18 @@ The following information is available in the
|
|||||||
module. These settings may differ from the config file if a
|
module. These settings may differ from the config file if a
|
||||||
`SET_RETRACTION` command alters them.
|
`SET_RETRACTION` command alters them.
|
||||||
|
|
||||||
|
## gcode
|
||||||
|
|
||||||
|
The following information is available in the `gcode` object:
|
||||||
|
- `commands`: Returns a list of all currently available commands. For each
|
||||||
|
command, if a help string is defined it will also be provided.
|
||||||
|
|
||||||
|
## gcode_button
|
||||||
|
|
||||||
|
The following information is available in
|
||||||
|
[gcode_button some_name](Config_Reference.md#gcode_button) objects:
|
||||||
|
- `state`: The current button state returned as "PRESSED" or "RELEASED"
|
||||||
|
|
||||||
## gcode_macro
|
## gcode_macro
|
||||||
|
|
||||||
The following information is available in
|
The following information is available in
|
||||||
@@ -218,6 +251,11 @@ object is available if any heater is defined):
|
|||||||
temperature sensors by their full config section names,
|
temperature sensors by their full config section names,
|
||||||
e.g. `["extruder", "heater_bed", "heater_generic my_custom_heater",
|
e.g. `["extruder", "heater_bed", "heater_generic my_custom_heater",
|
||||||
"temperature_sensor electronics_temp"]`.
|
"temperature_sensor electronics_temp"]`.
|
||||||
|
- `available_monitors`: Returns a list of all currently available
|
||||||
|
temperature monitors by their full config section names,
|
||||||
|
e.g. `["tmc2240 stepper_x"]`. While a temperature sensor is always
|
||||||
|
available to read, a temperature monitor may not be available and
|
||||||
|
will return null in such case.
|
||||||
|
|
||||||
## idle_timeout
|
## idle_timeout
|
||||||
|
|
||||||
@@ -286,7 +324,8 @@ is defined):
|
|||||||
## output_pin
|
## output_pin
|
||||||
|
|
||||||
The following information is available in
|
The following information is available in
|
||||||
[output_pin some_name](Config_Reference.md#output_pin) objects:
|
[output_pin some_name](Config_Reference.md#output_pin) and
|
||||||
|
[pwm_tool some_name](Config_Reference.md#pwm_tool) objects:
|
||||||
- `value`: The "value" of the pin, as set by a `SET_PIN` command.
|
- `value`: The "value" of the pin, as set by a `SET_PIN` command.
|
||||||
|
|
||||||
## palette2
|
## palette2
|
||||||
@@ -312,8 +351,12 @@ The following information is available in the `print_stats` object
|
|||||||
[virtual_sdcard](Config_Reference.md#virtual_sdcard) config section is
|
[virtual_sdcard](Config_Reference.md#virtual_sdcard) config section is
|
||||||
defined):
|
defined):
|
||||||
- `filename`, `total_duration`, `print_duration`, `filament_used`,
|
- `filename`, `total_duration`, `print_duration`, `filament_used`,
|
||||||
`state`, `message`: Estimated information about the current print
|
`state`, `message`: Estimated information about the current print when a
|
||||||
when a virtual_sdcard print is active.
|
virtual_sdcard print is active.
|
||||||
|
- `info.total_layer`: The total layer value of the last `SET_PRINT_STATS_INFO
|
||||||
|
TOTAL_LAYER=<value>` G-Code command.
|
||||||
|
- `info.current_layer`: The current layer value of the last
|
||||||
|
`SET_PRINT_STATS_INFO CURRENT_LAYER=<value>` G-Code command.
|
||||||
|
|
||||||
## probe
|
## probe
|
||||||
|
|
||||||
@@ -321,6 +364,7 @@ The following information is available in the
|
|||||||
[probe](Config_Reference.md#probe) object (this object is also
|
[probe](Config_Reference.md#probe) object (this object is also
|
||||||
available if a [bltouch](Config_Reference.md#bltouch) config section
|
available if a [bltouch](Config_Reference.md#bltouch) config section
|
||||||
is defined):
|
is defined):
|
||||||
|
- `name`: Returns the name of the probe in use.
|
||||||
- `last_query`: Returns True if the probe was reported as "triggered"
|
- `last_query`: Returns True if the probe was reported as "triggered"
|
||||||
during the last QUERY_PROBE command. Note, if this is used in a
|
during the last QUERY_PROBE command. Note, if this is used in a
|
||||||
macro, due to the order of template expansion, the QUERY_PROBE
|
macro, due to the order of template expansion, the QUERY_PROBE
|
||||||
@@ -347,6 +391,27 @@ The following information is available in the `query_endstops` object
|
|||||||
the QUERY_ENDSTOP command must be run prior to the macro containing
|
the QUERY_ENDSTOP command must be run prior to the macro containing
|
||||||
this reference.
|
this reference.
|
||||||
|
|
||||||
|
## screws_tilt_adjust
|
||||||
|
|
||||||
|
The following information is available in the `screws_tilt_adjust`
|
||||||
|
object:
|
||||||
|
- `error`: Returns True if the most recent `SCREWS_TILT_CALCULATE`
|
||||||
|
command included the `MAX_DEVIATION` parameter and any of the probed
|
||||||
|
screw points exceeded the specified `MAX_DEVIATION`.
|
||||||
|
- `max_deviation`: Return the last `MAX_DEVIATION` value of the most
|
||||||
|
recent `SCREWS_TILT_CALCULATE` command.
|
||||||
|
- `results["<screw>"]`: A dictionary containing the following keys:
|
||||||
|
- `z`: The measured Z height of the screw location.
|
||||||
|
- `sign`: A string specifying the direction to turn to screw for the
|
||||||
|
necessary adjustment. Either "CW" for clockwise or "CCW" for
|
||||||
|
counterclockwise.
|
||||||
|
- `adjust`: The number of screw turns to adjust the screw, given in
|
||||||
|
the format "HH:MM," where "HH" is the number of full screw turns
|
||||||
|
and "MM" is the number of "minutes of a clock face" representing
|
||||||
|
a partial screw turn. (E.g. "01:15" would mean to turn the screw
|
||||||
|
one and a quarter revolutions.)
|
||||||
|
- `is_base`: Returns True if this is the base screw.
|
||||||
|
|
||||||
## servo
|
## servo
|
||||||
|
|
||||||
The following information is available in
|
The following information is available in
|
||||||
@@ -354,6 +419,12 @@ The following information is available in
|
|||||||
- `printer["servo <config_name>"].value`: The last setting of the PWM
|
- `printer["servo <config_name>"].value`: The last setting of the PWM
|
||||||
pin (a value between 0.0 and 1.0) associated with the servo.
|
pin (a value between 0.0 and 1.0) associated with the servo.
|
||||||
|
|
||||||
|
## stepper_enable
|
||||||
|
|
||||||
|
The following information is available in the `stepper_enable` object (this
|
||||||
|
object is available if any stepper is defined):
|
||||||
|
- `steppers["<stepper>"]`: Returns True if the given stepper is enabled.
|
||||||
|
|
||||||
## system_stats
|
## system_stats
|
||||||
|
|
||||||
The following information is available in the `system_stats` object
|
The following information is available in the `system_stats` object
|
||||||
@@ -368,8 +439,9 @@ The following information is available in
|
|||||||
[bme280 config_section_name](Config_Reference.md#bmp280bme280bme680-temperature-sensor),
|
[bme280 config_section_name](Config_Reference.md#bmp280bme280bme680-temperature-sensor),
|
||||||
[htu21d config_section_name](Config_Reference.md#htu21d-sensor),
|
[htu21d config_section_name](Config_Reference.md#htu21d-sensor),
|
||||||
[lm75 config_section_name](Config_Reference.md#lm75-temperature-sensor),
|
[lm75 config_section_name](Config_Reference.md#lm75-temperature-sensor),
|
||||||
and
|
|
||||||
[temperature_host config_section_name](Config_Reference.md#host-temperature-sensor)
|
[temperature_host config_section_name](Config_Reference.md#host-temperature-sensor)
|
||||||
|
and
|
||||||
|
[temperature_combined config_section_name](Config_Reference.md#combined-temperature-sensor)
|
||||||
objects:
|
objects:
|
||||||
- `temperature`: The last read temperature from the sensor.
|
- `temperature`: The last read temperature from the sensor.
|
||||||
- `humidity`, `pressure`, `gas`: The last read values from the sensor
|
- `humidity`, `pressure`, `gas`: The last read values from the sensor
|
||||||
@@ -407,6 +479,9 @@ objects (eg, `[tmc2208 stepper_x]`):
|
|||||||
- `drv_status`: The results of the last driver status query. (Only
|
- `drv_status`: The results of the last driver status query. (Only
|
||||||
non-zero fields are reported.) This field will be null if the driver
|
non-zero fields are reported.) This field will be null if the driver
|
||||||
is not enabled (and thus is not periodically queried).
|
is not enabled (and thus is not periodically queried).
|
||||||
|
- `temperature`: The internal temperature reported by the driver. This
|
||||||
|
field will be null if the driver is not enabled or if the driver
|
||||||
|
does not support temperature reporting.
|
||||||
- `run_current`: The currently set run current.
|
- `run_current`: The currently set run current.
|
||||||
- `hold_current`: The currently set hold current.
|
- `hold_current`: The currently set hold current.
|
||||||
|
|
||||||
@@ -427,6 +502,8 @@ The following information is available in the `toolhead` object
|
|||||||
- `axis_minimum`, `axis_maximum`: The axis travel limits (mm) after
|
- `axis_minimum`, `axis_maximum`: The axis travel limits (mm) after
|
||||||
homing. It is possible to access the x, y, z components of this
|
homing. It is possible to access the x, y, z components of this
|
||||||
limit value (eg, `axis_minimum.x`, `axis_maximum.z`).
|
limit value (eg, `axis_minimum.x`, `axis_maximum.z`).
|
||||||
|
- For Delta printers the `cone_start_z` is the max z height at
|
||||||
|
maximum radius (`printer.toolhead.cone_start_z`).
|
||||||
- `max_velocity`, `max_accel`, `max_accel_to_decel`,
|
- `max_velocity`, `max_accel`, `max_accel_to_decel`,
|
||||||
`square_corner_velocity`: The current printing limits that are in
|
`square_corner_velocity`: The current printing limits that are in
|
||||||
effect. This may differ from the config file settings if a
|
effect. This may differ from the config file settings if a
|
||||||
@@ -439,10 +516,11 @@ The following information is available in the `toolhead` object
|
|||||||
|
|
||||||
The following information is available in
|
The following information is available in
|
||||||
[dual_carriage](Config_Reference.md#dual_carriage)
|
[dual_carriage](Config_Reference.md#dual_carriage)
|
||||||
on a hybrid_corexy or hybrid_corexz robot
|
on a cartesian, hybrid_corexy or hybrid_corexz robot
|
||||||
- `mode`: The current mode. Possible values are: "FULL_CONTROL"
|
- `carriage_0`: The mode of the carriage 0. Possible values are:
|
||||||
- `active_carriage`: The current active carriage.
|
"INACTIVE" and "PRIMARY".
|
||||||
Possible values are: "CARRIAGE_0", "CARRIAGE_1"
|
- `carriage_1`: The mode of the carriage 1. Possible values are:
|
||||||
|
"INACTIVE", "PRIMARY", "COPY", and "MIRROR".
|
||||||
|
|
||||||
## virtual_sdcard
|
## virtual_sdcard
|
||||||
|
|
||||||
@@ -464,6 +542,19 @@ object is always available):
|
|||||||
- `state_message`: A human readable string giving additional context
|
- `state_message`: A human readable string giving additional context
|
||||||
on the current Klipper state.
|
on the current Klipper state.
|
||||||
|
|
||||||
|
## z_thermal_adjust
|
||||||
|
|
||||||
|
The following information is available in the `z_thermal_adjust` object (this
|
||||||
|
object is available if [z_thermal_adjust](Config_Reference.md#z_thermal_adjust)
|
||||||
|
is defined).
|
||||||
|
- `enabled`: Returns True if adjustment is enabled.
|
||||||
|
- `temperature`: Current (smoothed) temperature of the defined sensor. [degC]
|
||||||
|
- `measured_min_temp`: Minimum measured temperature. [degC]
|
||||||
|
- `measured_max_temp`: Maximum measured temperature. [degC]
|
||||||
|
- `current_z_adjust`: Last computed Z adjustment [mm].
|
||||||
|
- `z_adjust_ref_temperature`: Current reference temperature used for calculation
|
||||||
|
of Z `current_z_adjust` [degC].
|
||||||
|
|
||||||
## z_tilt
|
## z_tilt
|
||||||
|
|
||||||
The following information is available in the `z_tilt` object (this
|
The following information is available in the `z_tilt` object (this
|
||||||
|
|||||||
@@ -267,10 +267,11 @@ For tmc2130, tmc5160, and tmc2660:
|
|||||||
SET_TMC_FIELD STEPPER=stepper_x FIELD=sgt VALUE=-64
|
SET_TMC_FIELD STEPPER=stepper_x FIELD=sgt VALUE=-64
|
||||||
```
|
```
|
||||||
|
|
||||||
Then issue a `G28 X0` command and verify the axis does not move at
|
Then issue a `G28 X0` command and verify the axis does not move at all
|
||||||
all. If the axis does move, then issue an `M112` to halt the printer -
|
or quickly stops moving. If the axis does not stop, then issue an
|
||||||
something is not correct with the diag/sg_tst pin wiring or
|
`M112` to halt the printer - something is not correct with the
|
||||||
configuration and it must be corrected before continuing.
|
diag/sg_tst pin wiring or configuration and it must be corrected
|
||||||
|
before continuing.
|
||||||
|
|
||||||
Next, continually decrease the sensitivity of the `VALUE` setting and
|
Next, continually decrease the sensitivity of the `VALUE` setting and
|
||||||
run the `SET_TMC_FIELD` `G28 X0` commands again to find the highest
|
run the `SET_TMC_FIELD` `G28 X0` commands again to find the highest
|
||||||
@@ -408,6 +409,23 @@ restrictions:
|
|||||||
limit (which may skew the stall detection). The pause is necessary
|
limit (which may skew the stall detection). The pause is necessary
|
||||||
to ensure the driver's stall flag is cleared prior to homing again.
|
to ensure the driver's stall flag is cleared prior to homing again.
|
||||||
|
|
||||||
|
An example CoreXY homing macro might look like:
|
||||||
|
```
|
||||||
|
[gcode_macro HOME]
|
||||||
|
gcode:
|
||||||
|
G90
|
||||||
|
# Home Z
|
||||||
|
G28 Z0
|
||||||
|
G1 Z10 F1200
|
||||||
|
# Home Y
|
||||||
|
G28 Y0
|
||||||
|
G1 Y5 F1200
|
||||||
|
# Home X
|
||||||
|
G4 P2000
|
||||||
|
G28 X0
|
||||||
|
G1 X5 F1200
|
||||||
|
```
|
||||||
|
|
||||||
## Querying and diagnosing driver settings
|
## Querying and diagnosing driver settings
|
||||||
|
|
||||||
The `[DUMP_TMC command](G-Codes.md#dump_tmc) is a useful tool when
|
The `[DUMP_TMC command](G-Codes.md#dump_tmc) is a useful tool when
|
||||||
@@ -526,7 +544,7 @@ hot. Typical solutions are to decrease the stepper motor current,
|
|||||||
increase cooling on the stepper motor driver, and/or increase cooling
|
increase cooling on the stepper motor driver, and/or increase cooling
|
||||||
on the stepper motor.
|
on the stepper motor.
|
||||||
|
|
||||||
#### TMC reports error: `... ShortToGND` OR `LowSideShort`
|
#### TMC reports error: `... ShortToGND` OR `ShortToSupply`
|
||||||
|
|
||||||
This indicates the driver has disabled itself because it detected very
|
This indicates the driver has disabled itself because it detected very
|
||||||
high current passing through the driver. This may indicate a loose or
|
high current passing through the driver. This may indicate a loose or
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Using PWM tools
|
# Using PWM tools
|
||||||
|
|
||||||
This document describes how to setup a PWM-controlled laser or spindle
|
This document describes how to setup a PWM-controlled laser or spindle
|
||||||
using `output_pin` and some macros.
|
using `pwm_tool` and some macros.
|
||||||
|
|
||||||
## How does it work?
|
## How does it work?
|
||||||
|
|
||||||
@@ -26,14 +26,6 @@ so that when your host or MCU encounters an error, the tool will stop.
|
|||||||
|
|
||||||
For an example configuration, see [config/sample-pwm-tool.cfg](/config/sample-pwm-tool.cfg).
|
For an example configuration, see [config/sample-pwm-tool.cfg](/config/sample-pwm-tool.cfg).
|
||||||
|
|
||||||
## Current Limitations
|
|
||||||
|
|
||||||
There is a limitation of how frequent PWM updates may occur.
|
|
||||||
While being very precise, a PWM update may only occur every 0.1 seconds,
|
|
||||||
rendering it almost useless for raster engraving.
|
|
||||||
However, there exists an [experimental branch](https://github.com/Cirromulus/klipper/tree/laser_tool) with its own tradeoffs.
|
|
||||||
In long term, it is planned to add this functionality to main-line klipper.
|
|
||||||
|
|
||||||
## Commands
|
## Commands
|
||||||
|
|
||||||
`M3/M4 S<value>` : Set PWM duty-cycle. Values between 0 and 255.
|
`M3/M4 S<value>` : Set PWM duty-cycle. Values between 0 and 255.
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ nav:
|
|||||||
- Manual_Level.md
|
- Manual_Level.md
|
||||||
- Bed_Mesh.md
|
- Bed_Mesh.md
|
||||||
- Endstop_Phase.md
|
- Endstop_Phase.md
|
||||||
|
- Axis_Twist_Compensation.md
|
||||||
- Resonance Compensation:
|
- Resonance Compensation:
|
||||||
- Resonance_Compensation.md
|
- Resonance_Compensation.md
|
||||||
- Measuring_Resonances.md
|
- Measuring_Resonances.md
|
||||||
@@ -132,7 +133,9 @@ nav:
|
|||||||
- RPi_microcontroller.md
|
- RPi_microcontroller.md
|
||||||
- Beaglebone.md
|
- Beaglebone.md
|
||||||
- Bootloaders.md
|
- Bootloaders.md
|
||||||
|
- Bootloader_Entry.md
|
||||||
- CANBUS.md
|
- CANBUS.md
|
||||||
|
- CANBUS_Troubleshooting.md
|
||||||
- TSL1401CL_Filament_Width_Sensor.md
|
- TSL1401CL_Filament_Width_Sensor.md
|
||||||
- Hall_Filament_Width_Sensor.md
|
- Hall_Filament_Width_Sensor.md
|
||||||
- Sponsors.md
|
- Sponsors.md
|
||||||
|
|||||||
BIN
docs/img/adxl345-pico.png
Normal file
BIN
docs/img/adxl345-pico.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 502 KiB |
BIN
docs/img/flash_rp2040_FLASH_DEVICE.png
Normal file
BIN
docs/img/flash_rp2040_FLASH_DEVICE.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user