examples/Basic-Usage.ps1

<#
.SYNOPSIS
    Basic usage examples for KlippyCLI module.

.DESCRIPTION
    This script demonstrates common operations with KlippyCLI including
    printer registration, status checks, and basic print management.
#>


# Import the module
Import-Module KlippyCLI

#region Printer Registration

# Register a new printer
Add-KlippyPrinter -PrinterName "voronv2" -Uri "http://192.168.1.100"

# Register with API key (if authentication is enabled)
Add-KlippyPrinter -PrinterName "ender3" -Uri "http://192.168.1.101" -ApiKey "your-api-key"

# Set a printer as default
Set-KlippyPrinter -PrinterName "voronv2" -Default

# List all registered printers
Get-KlippyPrinter

# Test connection to a printer
Test-KlippyPrinterConnection -PrinterName "voronv2"

#endregion

#region Printer Status

# Get printer status
Get-KlippyStatus

# Get all temperatures
Get-KlippyHeater | Format-Table Name, Temperature, Target, Power

# Get toolhead position
Get-KlippyToolhead | Select-Object Position, HomedAxes

# Get all fans
Get-KlippyFan | Format-Table Name, Type, Speed

#endregion

#region Basic Print Operations

# List G-code files
Get-KlippyGcodeFile | Format-Table Path, Size, Modified

# Start a print
Start-KlippyPrint -FileName "benchy.gcode"

# Check print progress
Get-KlippyPrintJob | Select-Object FileName, State, Progress, PrintTime

# Pause, resume, or cancel
Suspend-KlippyPrint
Resume-KlippyPrint
Stop-KlippyPrint -Force

#endregion

#region G-code Execution

# Home all axes
Invoke-KlippyHome

# Home specific axes
Invoke-KlippyHome -Axes "X", "Y"

# Send G-code commands
Invoke-KlippyGcode -Gcode "G28"
Invoke-KlippyGcode -Gcode "M104 S200", "M140 S60"

# Send commands via pipeline
"G28", "G1 Z10 F3000" | Invoke-KlippyGcode

#endregion

#region Interactive Console

# Enter the interactive G-code console
# Features: Tab completion, history, built-in commands
Enter-KlippyConsole

# Built-in commands:
# :help - Show help
# :status - Show printer status
# :temps - Show temperatures
# :pos - Show position
# :macros - List macros
# :exit - Exit console

#endregion