Skip to content

Commit e17dd12

Browse files
authored
Merge pull request #1 from rootiest/dev
Version 4.0.0 Beta Release
2 parents fc014a9 + 9e80b4b commit e17dd12

30 files changed

+2799
-265
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
user_profile.cfg
2-
user_config.cfg
2+
user_config.cfg
3+
logs/*

.vscode/settings.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
{
2-
"licenser.projectName": "printcfg"
3-
}
2+
"licenser.projectName": "printcfg",
3+
"python.analysis.typeCheckingMode": "basic",
4+
"cSpell.words": ["printcfg"]
5+
}

README.md

Lines changed: 37 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
<!--
22
Copyright (C) 2023 Chris Laprade (chris@rootiest.com)
3-
3+
44
This file is part of printcfg.
5-
5+
66
printcfg is free software: you can redistribute it and/or modify
77
it under the terms of the GNU General Public License as published by
88
the Free Software Foundation, either version 3 of the License, or
99
(at your option) any later version.
10-
10+
1111
printcfg is distributed in the hope that it will be useful,
1212
but WITHOUT ANY WARRANTY; without even the implied warranty of
1313
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1414
GNU General Public License for more details.
15-
15+
1616
You should have received a copy of the GNU General Public License
1717
along with printcfg. If not, see <http://www.gnu.org/licenses/>.
1818
-->
1919

2020
<!--
2121
#####################################
2222
## Printcfg Documentation ##
23-
## Version 3.8.1 2023-5-21 ##
23+
## Version 4.0.0 2023-6-1 ##
2424
#####################################
2525
-->
2626

@@ -31,6 +31,8 @@
3131
- [Overview](#overview)
3232
- [Installation](#installation)
3333
- [What the install script does](#what-the-install-script-does)
34+
- [Updating](#updating)
35+
- [Changing Profiles](#changing-profiles)
3436
- [Configuration](#configuration)
3537
- [Using the suite](#using-the-suite)
3638
- [Profile Configuration](#profile-configuration)
@@ -69,7 +71,7 @@
6971

7072
## !!! WARNING: THIS IS STILL A WORK IN PROGRESS !!!
7173

72-
> I am currently running this suite on my personal machine so I consider it to be ready for brave testers to play around with. Expect to encounter issues! But please tell me about them so I can fix them in a later revision!
74+
> I am currently running this suite on my personal machine so I consider it to be ready for brave testers to play around with. Expect to encounter issues! But please tell me about them so I can fix them in a later revision!
7375
7476
## Overview
7577

@@ -91,25 +93,29 @@ You can also specify a preset profile for a more printer-specific default config
9193

9294
curl https://raw.githubusercontent.com/rootiest/printcfg/master/scripts/install.sh | bash -s -- default
9395

96+
Additionally, you can specify a different branch to install from:
97+
98+
curl https://raw.githubusercontent.com/rootiest/printcfg/master/scripts/install.sh | bash -s -- default dev
99+
94100
### What the install script does
95101

96102
The install script will begin by checking for dependencies and installing them if they are missing.
97103

98-
It will then clone the repo into your home directory in a folder named `printcfg`.
104+
It will then clone the repo into your home directory in a folder named `printcfg`.
99105

100106
Please do not modify the contents of this folder.
101107

102108
The files for the profile you specified will be copied into your main config folder alongside `printer.cfg`.
103109

104110
This will consist of two files: `user_profile.cfg` and `user_config.cfg`.
105111

106-
> NOTE: You are free to modify these files as you see fit, but please only modify files that begin with `user_` so that the update system can successfully merge changes.
107-
>
112+
> NOTE: You are free to modify these files as you see fit, but please only modify files that begin with `user_` so that the update system can successfully merge changes.
113+
>
108114
> These files will be placed in your main config folder, so they will not be overwritten by future updates.
109115
110116
The following line will be added to your `printer.cfg` file:
111117

112-
[include print_config.cfg]
118+
[include user_config.cfg]
113119

114120
This tells Klipper to include the printcfg config file. The other files will be included from there.
115121

@@ -121,27 +127,25 @@ This adds some moonraker configuration, specifically the `update_manager` for pr
121127

122128
After all of these changes are made and verified, the script will restart Klipper and Moonraker.
123129

124-
Future updates will be performed by the `update_manager` service and will typically require a restart of only Klipper.
125-
126-
Most updates will be performed automatically, but some may require manual intervention. The installer will notify you if this is the case.
130+
## Updating
127131

128-
When the update requires manual intervention, you will be notified of the changes that need to be made to your user_profile.cfg file and the installer will exit. Run the setup.sh script again to verify the changes were made and continue the update.
132+
Updates are handled by moonraker's `update_manager` service.
129133

130-
In most cases this will only require you to add new variables or remove obsolete variables from your user_profile.cfg file.
134+
They will appear in the UI alongside updates for Klipper and Moonraker.
131135

132-
Best efforts will be made to avoid this as much as possible, but future features may require new variables to be added and the process has been made as simple as possible.
136+
The installer can now patch your config files to add new variables or configuration sections. This allows user profiles to be updated without overwriting your existing configuration.
133137

134-
It's important to keep the user_profile.cfg file untouched by the automated update process so that your customizations are not overwritten.
138+
Most updates will happen completely automatically, but some may require manual intervention.If an update requires manual intervention, it will be marked as `MANUAL` in the changelog.
135139

136-
When new features are added, you will likely prefer to customize them to your liking, so it's best not to automatically append potentially unwanted new variables to your profile config.
140+
## Changing Profiles
137141

138-
I'm also open to suggestions for improving this process or PRs that add an interactive update process for profile changes from a patch file.
142+
To change profiles, run the following command:
139143

140144
## Configuration
141145

142146
The vast majority of the configuration is done via the `_printcfg` macro in `user_profile.cfg`.
143147

144-
This is the "master" macro that hosts the configuration variables for the entire suite.
148+
This is the "master" macro that hosts the configuration variables for the entire suite.
145149

146150
It is here that we configure the behavior of the suite.
147151

@@ -161,7 +165,7 @@ Preset profiles are [available](./profiles/) for various common configurations.
161165

162166
If you would like to submit a profile, please see the [Submitting A Profile](#submitting-a-profile) section below.
163167

164-
I'd love to have a wide variety of community profiles available for everyone to choose from!
168+
I'd love to have a wide variety of community profiles available for everyone to choose from!
165169

166170
Custom configuration can be achieved by editing the `user_profile.cfg` file on your local installation.
167171

@@ -231,7 +235,7 @@ This allows all the macros in the suite to be kept apprised of any slicer values
231235

232236
It's completely ok if you don't use these settings in your klipper install or even in your slicer!
233237

234-
This suite is built to support ***everything*** so that the user can simply set the configuration values (either manually in the config file or via `SET_GCODE_VARIABLE` commands)
238+
This suite is built to support **_everything_** so that the user can simply set the configuration values (either manually in the config file or via `SET_GCODE_VARIABLE` commands)
235239

236240
The idea is that you don't need to worry about the correct way to configure the slicer for your needs or even finding (or creating!) the right macros for your needs.
237241

@@ -245,7 +249,7 @@ The bulk of profile configuration occurs in the `user_profile.cfg` file. There a
245249

246250
### Versioning
247251

248-
- `variable_version`
252+
- `variable_version`
249253
- Determines when updates require new variables to be added to the profile. It is used by the install script to determine when profiles need updating.
250254

251255
### Default temperatures
@@ -265,7 +269,7 @@ The bulk of profile configuration occurs in the `user_profile.cfg` file. There a
265269
## Chamber Variables
266270

267271
- `variable_chamber_type`
268-
- Defines the chamber sensor type. This could be 'temperature_sensor', 'temperature_fan', 'heater', or 'none'
272+
- Defines the chamber sensor type. This could be 'temperature_sensor', 'temperature_fan', 'heater', or 'none'
269273
- `variable_chamber_name`
270274
- Defines the name of the chamber sensor. Typically this will be 'chamber'.
271275
- `variable_chamber_temp`
@@ -334,7 +338,7 @@ The bulk of profile configuration occurs in the `user_profile.cfg` file. There a
334338
- `variable_park_extrude`
335339
- Sets the default extrusion amount for parking moves.
336340
- `variable_park_base`
337-
- Sets the "native" command for parking. This is typically something like '_TOOLHEAD_PAUSE_PARK_CANCEL'
341+
- Sets the "native" command for parking. This is typically something like '\_TOOLHEAD_PAUSE_PARK_CANCEL'
338342

339343
### Preheat Parking Variables
340344

@@ -380,6 +384,7 @@ Setting any of these values to -1 will park at the center of all 3 axes.
380384
- Sets the stepper current to be used during homing.
381385

382386
### Homing Macros
387+
383388
- `variable_home_x_macro`
384389
- Sets the macro to be used for x-homing.
385390
- `variable_home_y_macro`
@@ -388,12 +393,14 @@ Setting any of these values to -1 will park at the center of all 3 axes.
388393
- Sets the macro to be used for z-homing.
389394

390395
### Pause Macros
396+
391397
- `variable_pause_macro`
392398
- Sets the macro to be used for pausing.
393399
- `variable_pause_no_park`
394400
- Sets the macro to be used for pausing without parking.
395401

396402
### Speed Variables
403+
397404
- `variable_default_speed_factor`
398405
- Sets the default speed factor for all moves.
399406
- `variable_start_offset`
@@ -546,6 +553,7 @@ Setting any of these values to -1 will park at the center of all 3 axes.
546553
- Enables debug logging for purging.
547554

548555
### End Gcode Variables
556+
549557
- `variable_end_print`
550558
- Determines whether to run the end print macro.
551559
- `variable_end_retract`
@@ -564,7 +572,7 @@ Setting any of these values to -1 will park at the center of all 3 axes.
564572
### Filament Change Variables
565573

566574
- `variable_m600`
567-
- Sets the command to be used for filament change.
575+
- Sets the command to be used for filament change.
568576
- `variable_auto_filament_sensor`
569577
- Determines whether to automatically toggle the filament sensor.
570578
- `variable_auto_filament_delay`
@@ -693,7 +701,7 @@ Each profile must consist of the following files:
693701
This file contains the patch notes for the profile. It should list the version of the profile and "initial release" if it is the first release.
694702

695703
- **README.md**
696-
704+
697705
This file contains the profile description. It should have one header with the profile name with By: Your Name underneath. It should also have a description of the profile and any special instructions for using it. You should also briefly list the printer and components the profile was designed for.
698706

699707
If your README file requires any images, please place them in an `images` folder within your profile folder and reference them in your README file.
@@ -703,7 +711,7 @@ Each profile must consist of the following files:
703711
The main goal is to make it easy for users to quickly find the information they need to use your profile.
704712

705713
Keep in mind that large files will increase the size of the install on every machine whether they use your profile or not. All profiles are synced alongside the rest of the repo. But only the selected profile is added to the user's config.
706-
714+
707715
Please be reasonable with the size of your images to keep the repository size small and the sync time low.
708716

709-
When your profile is installed on a user's printer, only the variables.cfg and config.cfg files are used. The README.md and patch_notes.txt files are only used for display purposes in the repository. Similarly, any additional files you include in your profile will not be added to the user's config.
717+
When your profile is installed on a user's printer, only the variables.cfg and config.cfg files are used. The README.md and patch_notes.txt files are only used for display purposes in the repository. Similarly, any additional files you include in your profile will not be added to the user's config.

0 commit comments

Comments
 (0)