# LinuxCNC Configurations

A collection of LinuxCNC configuration files for various CNC machines and 3D printers.

## Overview

This repository contains distinct LinuxCNC configurations for the following machines:

### my-3d
3D printer configuration for LinuxCNC. Includes custom M-codes and HAL configuration for 3D printing operations.

### my-emco
Configuration for an **EMCO VCM 100** CNC mill. Features custom G-code macros, HAL configurations, XML UI panels (MPG, buttons), and Python handlers for serial communication and watchdog functionality.

### my-emco-compact-5
Configuration for an **EMCO COMPACT 5** CNC lathe. Comprehensive setup including:
- Custom M-codes and G-code macros for lathe operations
- HAL configurations for spindle speed control and MPG integration
- Python handlers for serial communication and watchdog
- GladeVCP UI components for spindle speed selection
- Lathe-specific macros (boring, chamfer, drilling, facing, grooving, radius, threading, turning)

## Structure

Each folder is self-contained with its own:
- `.ini` configuration file(s)
- `.hal` HAL configuration file(s)
- `tool.tbl` tool table
- Custom M-code scripts (in `custom-m-codes/`)
- Python utilities for communication and monitoring
- XML UI files for operator interfaces

## Utilities

- `sync-file.py` - File synchronization utility for managing configurations
