LinuxCNC Documentation

СИНТАКСИС

loadusr shuttle [DEVICE …​]

ОПИС

Shuttle — це компонент HAL, що не працює в реальному часі, який інтегрує пристрої ShuttleXpress, ShuttlePRO та ShuttlePRO2 від Contour Design з HAL від LinuxCNC.

Якщо драйвер запускається без аргументів командного рядка, він перевіряє всі файли пристроїв /dev/hidraw* на наявність пристроїв Shuttle і використовує всі знайдені пристрої. Якщо він запускається з аргументами командного рядка, він перевіряє тільки вказані пристрої.

ShuttleXpress має п’ять кнопок миттєвого керування, поворотне колесо з фіксаторами на 10 оборотів та пружинне зовнішнє колесо з 15 позиціями, яке повертається в центральне положення після відпускання.

ShuttlePRO має 13 кнопок миттєвого керування, поворотне колесо з фіксаторами на 10 оборотів та пружинне зовнішнє колесо з 15 положеннями, яке повертається в центральне положення після відпускання.

ShuttlePRO2 має 15 кнопок миттєвого керування, поворотне колесо з фіксаторами на 10 оборотів та пружинне зовнішнє колесо з 15 положеннями, яке повертається в центральне положення після відпускання.

УДЕВ

Драйверу шатла потрібен дозвіл на читання файлів пристроїв /dev/hidraw* пристроїв шатла. Цього можна досягти, додавши файл /etc/udev/rules.d/99-shuttle.rules з наступним вмістом:

SUBSYSTEM=="hidraw", ATTRS\{idVendor}=="0b33",
ATTRS\{idProduct}=="0020", MODE="0444"

SUBSYSTEM=="hidraw", ATTRS\{idVendor}=="05f3",
ATTRS\{idProduct}=="0240", MODE="0444"

SUBSYSTEM=="hidraw", ATTRS\{idVendor}=="0b33",
ATTRS\{idProduct}=="0030", MODE="0444"

Пакет LinuxCNC Debian автоматично встановлює відповідний файл udev, але якщо ви створюєте LinuxCNC з вихідного коду і не використовуєте пакет Debian, вам доведеться встановити цей файл вручну. Якщо ви встановлюєте файл вручну, вам доведеться повідомити udev про необхідність перезавантаження файлів правил, виконавши команду udevadm control --reload-rules.

Попередження щодо колеса повороту

Пристрої Shuttle мають внутрішній 8-бітний лічильник поточного положення колеса прокрутки. Драйвер Shuttle не може знати це значення, поки пристрій Shuttle не надішле своє перше повідомлення. Коли перше повідомлення надходить до драйвера, драйвер використовує повідомлене положення колеса прокрутки для ініціалізації лічильника до 0. Це означає, що якщо перше повідомлення генерується рухом колеса прокрутки, цей перший рух буде втрачено.

Будь-яка взаємодія користувача з пристроєм Shuttle генерує подію, що інформує драйвер про положення колеса прокрутки. Отже, якщо ви (наприклад) натиснете одну з кнопок під час запуску, колесо прокрутки працюватиме нормально і реагуватиме на перше натискання.

Піни

Усі назви контактів HAL починаються з префікса shuttle, після якого йде індекс пристрою (порядок, у якому драйвер їх знайшов), наприклад shuttle.0 або huttle.2.

(prefix).button-(number) (bit out)
(prefix).button-(number)-not (bit out)

Миттєві кнопки. «(номер)» визначає, яка кнопка відповідає виводу HAL. Виводи «button-(номер)» мають значення True, коли кнопка натиснута, а виводи «button-(номер)-not» мають значення True, коли кнопка не натиснута.

(prefix).counts (s32 out)

Накопичені показники з поворотного колеса (внутрішнього колеса).

(prefix).spring-wheel-s32 (s32 out)

Поточне відхилення пружинного колеса (зовнішнього колеса). У стані спокою воно дорівнює 0 і коливається від -7 проти годинникової стрілки до +7 за годинниковою стрілкою.

(prefix).spring-wheel-f (float out)

Поточне відхилення пружинного колеса (зовнішнього колеса). У стані спокою воно дорівнює 0,0, у крайньому положенні проти годинникової стрілки — -1,0, а у крайньому положенні за годинниковою стрілкою — +1,0. (Пристрої Shuttle повідомляють про положення пружинного колеса у вигляді цілого числа від -7 до +7, тому цей вивід повідомляє лише 15 дискретних значень у своєму діапазоні.)