Попался ( спасибо
at90 за него ) мне недавно пульт от компании
XHC, я думаю с их пультами многие знакомы:
Cамые распространенные это
xHB04 ( изначально для
Mach3, неофициально для
LinuxCNC ) и
xHB03 ( изначально для
NCStudio ). Возникла мысль сделать открытую реализацию данного устройства, началось всё с анализа протокола обмена и написания программы которая позволяла работать с любым из этих пультов для дальнейшего понимания их логики, а в итоге появилось устройство - функциональный аналог этого пульта, умеющий эмитировать как xHB04, так и xHB03 модели. Основная задача которую я поставил для этой реализации - это возможность быстрого повторения устройства другими, поэтому было решено почти полностью отказаться от паяльника и внешней обвязки
В итоге имеем такой вот незамысловатый
BOM который можно без проблем приобрести на
eBay или
AlieExpress или сделать самому.
Так как пульт может притворяться как
HB04 так и
HB03 ( через перемычку перед включением ), то можно использовать один пульт для следующих программ:
Mach3, NCStudio, LinuxCNC, PlanetCNC
На данный момент поддерживаются
3 вида дисплеев:
EastRising ERC12864-4,
NOKIA 5110,
20×4 LCD. Проект пока находится в начальной стадии, но при этом вполне работоспособен для конечного пользователя. Исходный код содержит файлы проекта для
IAR ARM 6.72 и собирается триальной либо kickstarter версией онного, лицензия
WTFPL ( если по простому, то можно с проектом делать всё, что душе угодно ), если нет желания собирать самому, то имеется архив с собранными прошивками в
bin и
hex форматах. Если есть желание сделать свой проект на базе другого железа или просто для интереса, то имеется полное описание протокола соотвествующих пультов в документе
xhc_mpg_hid_format.pdf. Если будет интерес, то возможно я сделаю заводскую плату ( конечно же открытую для повторения ) и добавлю работу по радиоканалу.
Страничка проекта: OpenXHC
Примеры работы с разными экранами: