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, where1is on, and0is offUNLOAD_CHAMELEON TOOL=Unloads the Chameleon at the providedTOOL, described more below, This is usually only used in theTOOLCHANGEmacroLOAD_CHAMELEONLoads the Chameleon, described more belowPRESS_CHAMELEON DURATION=Presses the chameleon pin for the providedDURATIONPULSE_CHAMELEON PULSES=Pulses the chameleon pin for the durationPULSES * pulse_time(pulse_timewas set in Configuration)RESET_CHAMELEONRapidly 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 onSTAGESMOVE_CHAMELEON_FILAMENT TOOL= IN=Moves the filamentTOOLINinches. Alternatively,MM=can be passed to move the filamentTOOLMMmillimeters
Debugging/Internal Use G-Codes
UPDATE_CHAMELEON_SENSORUpdates the Chameleon's filament sensors and saves the value internallyQUERY_CHAMELEON_SENSORQueries the Chameleon's filament sensors, output in the form of[x,x,x,x,x], wherex=1means filament present, andx=0means filament not present. This returns a list in preparation for multiple filament sensor support.
TIP_SHAPING STAGES=
STAGES=1Cool to 180, do full tip shaping, then heat toTEMPSTAGES=2Cool to 180, then 165, do tip shaping, then heat toTEMPSTAGES=3Cool to 180, then 165, then 155, do tip shaping, then heat toTEMPSTAGES=4Default 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_timehas 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_timewithG4 Pwithunload_time * 1000 - "Release" the Chameleon pin
WITH Auto3DClippy (Experimental in dev branch)
- "Press" the Chameleon pin
- Load filament
clippy_distanceat 40mm/s - Wait
unload_timewithG4 Pwithunload_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_timehas 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_timewithG4 Pwithload_time * 1000 - "Release" the Chameleon pin
On Unload/Load Failed
- "Release" the Chameleon relay pin
- Display Unload/Load Failed with
M117 - Pause with
PAUSE