-
Notifications
You must be signed in to change notification settings - Fork 16
/
make_fcp_x3g.txt
168 lines (134 loc) · 7.26 KB
/
make_fcp_x3g.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
### MAKE_FCP_X3G CONFIGURATION FILE ###
# Either put this file in the same location as the make_fcp_x3g.pl script
# and ensure it is called "make_fcp_x3g.txt",
# or pass this file's path to the script with the '-f' parameter.
# (If you are using a symlink to the .pl script, then the script will use that
# symlink's directory for the default config location.)
#
# Modify the values below according to your environment and preferences.
# First we must agree on some terminology.
# Lines starting with # are comments and will be ignored.
# When below I say "uncomment" a line, I mean removing its leading '#'
# character to enable it. Conversely, "commenting out" a line means
# adding a leading '#', which will disable that line.
#
# The format of a valid configuration item is very simple:
# ITEM_NAME = a value or an array of values.
#
# There are 2 types of configuration items: [SINGLE] and [ARRAY].
# You can always specify an array, but items marked as [SINGLE] will only
# consider the first element if you would pass an array, and ignore the
# rest. Only [ARRAY] items will consider multiple elements.
# If you need more than a single element in an [ARRAY] value, you must put
# EACH element between double quotes. For a [SINGLE] value, or an [ARRAY]
# with only 1 element, you can omit the quotes. Some examples:
# EXAMPLE_ARRAY1 = "first element" "second element"
# EXAMPLE_ARRAY2 = this array has only 1 element because no quotes
# EXAMPLE_SINGLE1 = "you could enclose a SINGLE in quotes"
# EXAMPLE_SINGLE2 = or just omit them
#
# Any whitespace around '=', as well as at the end of the line, is ignored.
# There are no escape characters, everything is literal. This means you cannot
# really use a double quote anywhere, except to delineate values. None of
# the values should ever need to contain a double quote.
#
# Avoid non-ASCII characters. If you cannot avoid them, try saving this file
# in the same codepage as your operating system uses for file paths. Often
# this will be UTF-8, but it may be different. You're on your own here.
### GLOBAL CONFIGURATION ###
# [SINGLE] Set this to 1 to always keep a backup of the unprocessed G-code
# file, regardless of -k option (useful for debugging).
KEEP_ORIG = 0
# [SINGLE] Set this to 1 to force debug mode (regardless of -d option).
# This is useful to debug problems when invoking make_fcp_x3g.pl from within
# PrusaSlicer or other programs, and not all post-processing steps seem to
# be working.
DEBUG = 0
# [SINGLE] Optional extra execution path elements.
# If you want to augment the very basic execution PATH inside PrusaSlicer's
# post-processing environment, you can uncomment this line and add extra
# path components.
# In UNIX-like environments: separate components by colons ':'.
# In Windows cmd.exe: separate components by semicolons ';'.
# You can simply leave this empty and use full absolute paths everywhere.
# The advantage of correctly setting this, is that you can use the plain
# names of executables (like perl or python3) instead of their full paths.
#EXTRA_PATH = /usr/local/bin:/usr/local/sbin
### OPTIONAL POST-PROCESSING STEPS ###
# Enable what you want or need by:
# 1. uncommenting the desired "ITEM = value" lines,
# 2. pasting/typing the correct value(s) after the "=" character.
#
# RULES:
# * Do not use relative paths.
# * All paths are CASE SENSITIVE regardless of how your OS treats case
# sensitivity. "Perl" is not the same as "perl".
# * No path can contain a double quote, even if your OS allows it.
# * Do not try to override the -o option in extra post-processing scripts.
# * The best way to disable something is to put a '#' before it to comment out
# its line. An empty value is also OK.
# * Incorrect paths or non-executable script files will be silently ignored at
# runtime. They will only be reported when running the script with the
# sanity check (-c) option. Do this after saving this config, to ensure you
# did not make any mistakes.
# HINT:
# Avoid manually typing paths! Pretty much every OS has a way of directly
# obtaining a file's path. For instance in Windows: right-click the file
# while holding down shift and use "Copy as path".
# [SINGLE] Path to the GPX binary that converts gcode to printable files.
# If the binary can be found in (EXTRA_)PATH, just 'gpx' suffices.
# Otherwise, specify the full path (you might be able to obtain it with
# `which gpx` in UNIX-like systems, or `where gpx` in Windows).
# To disable conversion to X3G (and leave it up to e.g. OctoPrint), comment
# out the line or set an empty value.
#GPX = /usr/local/bin/gpx
# The following are all Perl or Python scripts and are all [ARRAY] type values
# such that a command with multiple arguments can be provided.
# You can specify these as follows.
# 1. If perl or python is not in PATH, or you are unsure:
# "/path/to/perl" "/path/to/script.pl"
# or:
# "C:\Strawberry\perl\bin\perl.exe" "C:\path\to\script.pl"
# 2. If perl/python is in PATH:
# "perl" "/path/to/script.pl"
# or:
# "perl" "C:\path\to\script.pl"
# 3. If you are in a UNIX-like environment, perl/python is in PATH, and the
# script file has executable permissions:
# "/path/to/script.pl"
# [ARRAY] Dualstrusion post-processing script.
# See https://github.com/DrLex0/DualstrusionPostproc for more information.
#DUALSTRUDE_SCRIPT = "/Your/path/to/dualstrusion-postproc.pl"
# [ARRAY] PWM postprocessor script, in case you would be using the
# MightyVariableFan system, my slightly crazy solution to obtain variable
# fan speed by having the FFCP communicate with a Raspberry Pi through beep
# sounds. You can pass extra options like "--allow_split" by adding them to
# the array.
# See https://github.com/DrLex0/MightyVariableFan for more information.
#PWM_SCRIPT = "/Your/path/to/pwm_postprocessor.py" "--allow_split"
# [ARRAY] The (experimental) retraction improver script.
# It also fixes the under-extrusion when starting to print the skirt.
#RETRACT_SCRIPT = "/Your/path/to/retraction-improver.pl"
### ADVANCED OPTIONS ###
# Only change these if you know what you're doing.
# [SINGLE] The absolutely highest Z value allowed by your printer.
# This both acts as a sanity check and will also update the final Z move in
# the end G-code when necessary. (If you would print something 160mm tall,
# the default move to 150mm must be adjusted to avoid ramming the nozzle
# into the print.)
# According to official FFCP specs, Z maximum is 150mm, and this limit is
# hard-coded in older versions of the Sailfish firmware: it will ignore any
# request to go beyond 150mm. Some newer versions do allow to go beyond
# this, my printer can easily reach 170mm.
# If you want to get the most out of your machine, do a test to see how deep
# the bed can go and adjust Z_MAX accordingly, as well as 'Max print height'
# in all your printer profiles.
Z_MAX = 150
# [SINGLE] For the above to work, this must match the comment string that
# marks the final Z move in the end G-code.
FINAL_Z_MOVE = "; send Z axis to bottom of machine"
# [SINGLE] Machine type for GPX.
# Run `gpx -?` and look at the 'MACHINE' section. If it lists 'fcp' as one
# of the allowed values, it is preferable to use that value here. Otherwise,
# stick to "r1d", or use something custom if you know what you're doing.
MACHINE = r1d