То, чего ожидают тысячи приверженцев Linux еще не случилось, но дело, похоже, двигается в нужном направлении. Речь идет о создании в открытой ОС подсистемы Linux Motion Control "LMC" для драйверов, управляющих такими устройствами, как ЧПУ и 3D-принтеры.
В общем смысле, LMC нужна для тех устройств, которые содержат различные типы двигателей и приводов. Разработчик Дэвид Джандер поясняет, что новая подсистема будет расширением UAPI в контексте внедрения функций для описанных типов устройств.

Работа UAPI, как обычно в таких случаях, будет обеспечиваться с помощью интерфейса ioctl(). Символьное устройство, представляющее конкретное аппаратное устройство, будет способно координировать имеющиеся в нем исполнительные механизмы. Последние планируется реализовать в качестве каналов UAPI.
Доступно управление разными каналами, что дает, к примеру, возможность настраивать положение осей 3D-принтера или станка с ЧПУ. Кроме того, LMC может быть полезен в связке с Industrial I/O, например для вызова триггера после достижения движителем определенной позиции, если аппаратное обеспечение поддерживает эту возможность.
Джандер, добавляет, что в будущем LMC в интеграции с PREEMPT_RT с позволит внедрить в ядро в том числе простейшие драйверы контроллера шаговых двигателей, использующие интерфейс STEP/DIR.

