Не секрет, что стандартных графических интерфейсов EMC2 не всегда достаточно для удобного решения многих задач. Но модульная компоновка EMC2 добавлять пользовательские элементы управления станком, в том числе из отдельного процесса. Одним из способов задания элементов управления является pyVCP.
К сожалению, документация по pyVCP не очень обширна, а на русском языке практически отсутствует. Поэтому посвятим эту тему работе с pyVCP.
Итак, что же такое pyVCP
 PyVCP  (Python Virtual Control Panel) программа написанная на python которая использует модули gtk и hal. Значительно упрощает создание графических интерфейсов для hal. Использование pyVCP отделяет создание интерфейса от непосредственного программирования. 
Какими возможностями обладает pyVCP
 С помощью pyVCP можно контролировать любой параметр HAL в любой момент времени. 
PyVCP можкт запускаться как отдельно (standalone) так и интегрировано в другие графические интерфейсы EMC2 например Axis.
...Это не законченный раздел вы можете помочь в его оформлении...
Базовые элементы pyVCP
 Label
 Простое текстовое поле.
LED
 LED это своего рода контрольный диод, служит для индикации состояния конкретного halpin. LED может быть круглым и квадратным.
Texe button
 Текстовая кнопка контролирует состояние конкретного halpin. Значение halpin будет равно False до тех пор пака кнопка не будет нажата. После нажатия значение станет True. Текстовая кнопка может только включить halpin.
Checkbutton
 Работает так же как и текстовая кнопка, но позволяет включать и выключать halpin. Если checkbutton нажат, то halpin равен True, если отжат, то False.
Radiobutton
 Включает только один из набора halpin, остальные делает выключенными. 
Number
 Отображает число с плавающей запятой (float).
S32
 Отображает целое число от −2 147 483 648 до 2 147 483 647. (S32 - signed 32bit int)
Bar
 Отображает значение вещественного числа как графически, так и текстом.
Meter
 Отображает значение вещественного в виде круговой шкалы. 
Spinbox
 Задает значение числа с двумя кнопками увеличения и уменьшения. Можно изменять число нажимая на кнопки или навести на Spinbox указатель мышки  крутить колесико.
Scale
 Задает цело или вещественное число при помощи слайдера. Можно менять перетаскиванием или при помощи колеса мышки.
Dial
 Позволяет изменять действительное число с заданной точностью. Отображает число в текстовом виде и в виде "поворотной ручки".
Jogwheel
 Позволяет изменять действительное число с заданной точностью. Отображает число в виде "поворотной ручки".
Image Bit
 Изменяет картинку в зависимости от состояния конкретного halpin.
Image U32
 Изменяет картинку в зависимости от значения целого числа.
Контейнеры
 Контейнеры позволяют компоновать различные базовые элементы pyVCP в окне. Если формализовать, то контейнер может содержать только один элемент - либо управляющий элемент либо контейнер. Главное окно это тоже контейнер. Таким образом, чтобы создать три кнопки нам нужно создать горизонтальный контейнер  с тремя местами и в каждое место вставить по кнопке. Такой метод компоновки взят напрямую из библиотеки gtk. На первый взгляд кажется не удобным, но поработав чуть-чуть с gtk я признаю ее очень удобной. 
Hbox
 Горизонтальный контейнер компонует элементы горизонтально. 
Vbox
 Вертикальный контейнер компонует элементы Вертикально. 
Labelframe
 Создает рамку с надписью.
Table
 Компонует элементы в таблицу. При этом можно объединять ячейки.
Tabs
 Cоздает панель со вкладками.
Пример использования pyVCP
 Это не законченный раздел вы можете помочь в его оформлении.