Основные задачи я обозначил в первом сообщении темы. Здесь я перечислю их кратко:
- упростить настройку системы на лету
- упростить установку LinuxCNC на уже рабочую ОС
- упростить настройку известных внешних устройств
- упростить правку и добавление элементов интерфейса управления
- возможность сборки (и инструкции) по сборке недорогого варианта контроллера из бюджетной общедоступной комплектухи
- Общедоступный веб-клиент (chromium, firefox, ..) в режиме приложения.
Примеры - https://ru.wikipedia.org/wiki/Chromium, https://ru.wikipedia.org/wiki/Mozilla_Firefox
. - HTML/CSS/JS для отрисовки GUI.
Примеры - весь Интернет, viewtopic.php?p=352624#p352624
. - WebGL + three.js для отрисовки траекторий и графики.
Примеры - https://threejs.org/examples/#webgl_loader_gcode, https://threejs.org/examples/#webgl_loa ... kinematics, https://threejs.org/examples/#webgl_loader_stl, https://threejs.org/examples/#misc_controls_transform
. - bash скрипты и стандартные консольные программки под линух.
Пример - https://github.com/allwincnc/installer/ ... install.sh, https://github.com/allwincnc/installer/ ... inuxcnc.sh, https://github.com/allwincnc/installer/ ... _kernel.sh
. - HTTP/WebSocket сервер для связи интерфейса c LinuxCNC, bash и прочими программами в ОС.
Пример - http://websocketd.com/