Utility G-Codes
3dchameleon-klipper provides several utility G-Codes to assist in controlling your Chameleon.
Utility G-Codes
SET_CHAMELEON VALUE=
Sets the relay pin toVALUE
, where1
is on, and0
is offUNLOAD_CHAMELEON TOOL=
Unloads the Chameleon at the providedTOOL
, described more below, This is usually only used in theTOOLCHANGE
macroLOAD_CHAMELEON
Loads the Chameleon, described more belowPRESS_CHAMELEON DURATION=
Presses the chameleon pin for the providedDURATION
PULSE_CHAMELEON PULSES=
Pulses the chameleon pin for the durationPULSES * pulse_time
(pulse_time
was set in Configuration)RESET_CHAMELEON
Rapidly pulses the chameleon pin twice to reset the state to be ready for a toolchange (exits the load/unload filament stage of the Chameleon)TIP_SHAPING TEMP= STAGES=
Runs tip shaping using the default 3DChameleon method, then heats toTEMP
. See below for information onSTAGES
MOVE_CHAMELEON_FILAMENT TOOL= IN=
Moves the filamentTOOL
IN
inches. Alternatively,MM=
can be passed to move the filamentTOOL
MM
millimeters
Debugging/Internal Use G-Codes
UPDATE_CHAMELEON_SENSOR
Updates the Chameleon's filament sensors and saves the value internallyQUERY_CHAMELEON_SENSOR
Queries the Chameleon's filament sensors, output in the form of[x,x,x,x,x]
, wherex=1
means filament present, andx=0
means filament not present. This returns a list in preparation for multiple filament sensor support.
TIP_SHAPING STAGES=
STAGES=1
Cool to 180, do full tip shaping, then heat toTEMP
STAGES=2
Cool to 180, then 165, do tip shaping, then heat toTEMP
STAGES=3
Cool to 180, then 165, then 155, do tip shaping, then heat toTEMP
STAGES=4
Default behavior. Cool to 180, then 165, then 155, then 150, do tip shaping, then heat toTEMP
NOTE that smaller tip shaping moves may be executed between temperature increments.
How UNLOAD_CHAMELEON works
WITHOUT Auto3DClippy
- "Press" the Chameleon pin
- Check if filament detected for
TOOL
- Run
UPDATE_CHAMELEON_SENSOR
- Check if more than
max_unload_time
has elapsed. If so, skip remaining steps and unload failed - Wait 0.25s with
G4 P250
EXPERIMENTAL: Step 5 will use G1 E-10 F2400
instead of G4 P250
to wait 0.25s
- Repeat steps 2-5 until filament is not detected for
TOOL
- Wait another
unload_time
withG4 P
withunload_time * 1000
- "Release" the Chameleon pin
WITH Auto3DClippy (Experimental in dev branch)
- "Press" the Chameleon pin
- Load filament
clippy_distance
at 40mm/s - Wait
unload_time
withG4 P
withunload_time * 1000
- "Release" the Chameleon pin
How LOAD_CHAMELEON works
- "Press" the Chameleon pin
- Check if filament detected for
TOOL
- Run
UPDATE_CHAMELEON_SENSOR
- Check if more than
max_load_time
has elapsed. If so, skip remaining steps and load failed - Wait 0.25s with
G4 P250
- Repeat steps 2-5 until filament is detected
- Wait another
load_time
withG4 P
withload_time * 1000
- "Release" the Chameleon pin
On Unload/Load Failed
- "Release" the Chameleon relay pin
- Display Unload/Load Failed with
M117
- Pause with
PAUSE