docs: Update Example_Configs.md

Document that spaces and special characters should not be in the
config filename.

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

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2022-02-21 11:57:51 -05:00
parent 8b0c6fcb08
commit c3baa671a5
1 changed files with 28 additions and 26 deletions

View File

@ -10,31 +10,35 @@ is also a useful resource for finding and sharing config files.
## Guidelines ## Guidelines
1. Select the appropriate config filename prefix. 1. Use an appropriate config filename:
1. The `printer` prefix is used for stock printers sold by a 1. Select the appropriate config filename prefix:
mainstream manufacturer. 1. The `printer` prefix is used for stock printers sold by a
2. The `generic` prefix is used for a 3d printer board that may be mainstream manufacturer.
used in many different types of printers. 2. The `generic` prefix is used for a 3d printer board that may
3. The `kit` prefix is for 3d printers that are assembled according be used in many different types of printers.
to a widely used specification. These "kit" printers are 3. The `kit` prefix is for 3d printers that are assembled
generally distinct from normal "printers" in that they are not according to a widely used specification. These "kit"
sold by a manufacturer. printers are generally distinct from normal "printers" in
4. The `sample` prefix is used for config "snippets" that one may that they are not sold by a manufacturer.
copy-and-paste into the main config file. 4. The `sample` prefix is used for config "snippets" that one
5. The `example` prefix is used to describe printer kinematics. may copy-and-paste into the main config file.
This type of config is typically only added along with code for 5. The `example` prefix is used to describe printer kinematics.
a new type of printer kinematics. This type of config is typically only added along with code
2. Use the appropriate filename suffix. The `printer` config files for a new type of printer kinematics.
must end in a year followed by `.cfg` (eg, `-2019.cfg`). In this 2. All example configuration files must end in a `.cfg` suffix. The
case, the year is an approximate year the given printer was `printer` config files must end in a year followed by `.cfg`
sold. All example configuration files must end in `.cfg`. (eg, `-2019.cfg`). In this case, the year is an approximate year
3. Klipper must be able to start `printer`, `generic`, and `kit` the given printer was sold.
3. Do not use spaces or other unusual characters in the config
filename. The filename should contain only characters `A-Z`,
`a-z`, `0-9`, `-`, and `.`.
2. Klipper must be able to start `printer`, `generic`, and `kit`
example config file without error. These config files should be example config file without error. These config files should be
added to the added to the
[test/klippy/printers.test](../test/klippy/printers.test) [test/klippy/printers.test](../test/klippy/printers.test)
regression test case. Add new config files to that test case in the regression test case. Add new config files to that test case in the
appropriate section and in alphabetical order within that section. appropriate section and in alphabetical order within that section.
4. The example configuration should be for the "stock" configuration 3. The example configuration should be for the "stock" configuration
of the printer. (There are too many "customized" configurations to of the printer. (There are too many "customized" configurations to
track in the main Klipper repository.) Similarly, we only add track in the main Klipper repository.) Similarly, we only add
example config files for printers, kits, and boards that have example config files for printers, kits, and boards that have
@ -42,7 +46,7 @@ is also a useful resource for finding and sharing config files.
in active use). Consider using the in active use). Consider using the
[Klipper Community Discourse server](https://community.klipper3d.org) [Klipper Community Discourse server](https://community.klipper3d.org)
for other configs. for other configs.
5. Only specify those devices present on the given printer or board. 4. Only specify those devices present on the given printer or board.
Do not specify settings specific to your particular setup. Do not specify settings specific to your particular setup.
1. For `generic` config files, only those devices on the mainboard 1. For `generic` config files, only those devices on the mainboard
should be described. For example, it would not make sense to add should be described. For example, it would not make sense to add
@ -61,7 +65,7 @@ is also a useful resource for finding and sharing config files.
4. Only define macros that utilize functionality specific to the 4. Only define macros that utilize functionality specific to the
given printer or to define g-codes that are commonly emitted by given printer or to define g-codes that are commonly emitted by
slicers configured for the given printer. slicers configured for the given printer.
6. Where possible, it is best to use the same wording, phrasing, 5. Where possible, it is best to use the same wording, phrasing,
indentation, and section ordering as the existing config files. indentation, and section ordering as the existing config files.
1. The top of each config file should list the type of 1. The top of each config file should list the type of
micro-controller the user should select during "make micro-controller the user should select during "make
@ -91,10 +95,8 @@ is also a useful resource for finding and sharing config files.
files. (For example, avoid adding lines like "this file was files. (For example, avoid adding lines like "this file was
created by ...".) Place attribution and change history in the created by ...".) Place attribution and change history in the
git commit message. git commit message.
7. Do not use any deprecated features in the example config file. The 6. Do not use any deprecated features in the example config file.
`step_distance` and `pin_map` parameters are deprecated and should 7. Do not disable a default safety system in an example config file.
not be in any example config file.
8. Do not disable a default safety system in an example config file.
For example, a config should not specify a custom For example, a config should not specify a custom
`max_extrude_cross_section`. Do not enable debugging features. For `max_extrude_cross_section`. Do not enable debugging features. For
example there should not be a `force_move` config section. example there should not be a `force_move` config section.