LinuxCNC HID Extender

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
vmarkiv
Мастер
Сообщения: 516
Зарегистрирован: 21 янв 2012, 00:23
Репутация: 32
Откуда: Ивано-Франковск
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение vmarkiv »

Схема пульта из GenericHid . Фото пульта сделаю после Рождественских праздников .
Вложения
16k20_pult.jpg (4752 просмотра) <a class='original' href='./download/file.php?id=99470&sid=14e1aae9400a744c800c6628d1aa1694&mode=view' target=_blank>Загрузить оригинал (278.47 КБ)</a>
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение PKM »

Кинул в корзину на али Teensy 2.0.
Одно неясно - когда только всем этим заниматься :hehehe:
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение selenur »

UAVpilot писал(а):Если по быстрому получить результат прям сейчас, то это http://generichid.sourceforge.net/ + поддерживаемые проектом платы - там даже программировать не надо, в визуальном редакторе нарисовал всякие кнопки, лампочки и т.п. и сразу прошил плату. :)
Ну да это ещё проще :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение Serg »

PKM писал(а):Одно неясно - когда только всем этим заниматься :hehehe:
Вот и я пару комплектов спаял пару месяцев назад, а первую версию прошивки написал за 5 вечеров этих праздников. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
vmarkiv
Мастер
Сообщения: 516
Зарегистрирован: 21 янв 2012, 00:23
Репутация: 32
Откуда: Ивано-Франковск
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение vmarkiv »

Я ,аналогично , сделал несколько вариантов на Teensy , платы запустил у производство свои , но очень сложное конфигурирование , нужно много переходов -в HAL файле делать , вручную все проверять не просто . По моему файлу для токарного это видно . Возможности этой идеологии прекрасны , но у меня пришлось делать много плат переходников на 24 вольта , и в результате идею убило . На пульт я вывел функции настройки и подстройки , но экранчик 4- строчный , маленький , на экране компа видно лучше
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение PKM »

vmarkiv писал(а): очень сложное конфигурирование , нужно много переходов -в HAL файле делать , вручную все проверять не просто . По моему файлу для токарного это видно
Я бы все что касается пульта вынес в отдельный хал.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение Serg »

Сия идея очень помогает ориентироваться в больших конфигах.
Вот мой пример:

Код: Выделить всё

~/linuxcnc/configs/plasma$ ls -lRn
.:
итого 2932
-rw-r--r-- 1 1000 1000    1945 Дек 19  2014 axisrc
-rw-r--r-- 1 1000 1000 1589409 Авг 13 21:23 BlackBox.log
-rwxr-xr-x 1 1000 1000    4171 Дек  9  2015 BlackBox.py
-rw-r--r-- 1 1000 1000     260 Дек 26  2014 custom_postgui.hal
lrwxrwxrwx 1 1000 1000      17 Авг 13 21:05 egantry.c -> egantry.c-1.0pre3
-rw-rw-r-- 1 1000 1000   19066 Май 11  2015 egantry.c-1.0pre2
-rw-r--r-- 1 1000 1000   20123 Дек  3  2015 egantry.c-1.0pre3
-rw-r--r-- 1 1000 1000    1222 Ноя 23  2015 gladevcp_postgui.hal
lrwxrwxrwx 1 1000 1000      10 Авг 13 21:05 inc -> inc-test/x
drwxr-xr-x 4 1000 1000    4096 Ноя 22  2015 inc-test
drwxr-xr-x 2 1000 1000    4096 Дек 13  2015 inc-work
-rwxr-xr-x 1 1000 1000      70 Дек 13  2015 install.old
-rwxr-xr-x 1 1000 1000     242 Дек 13  2015 install.sh
-rwxr-xr-x 1 1000 1000    2716 Дек  2  2014 limit3step.comp
-rw-r--r-- 1 1000 1000    1673 Авг 13 21:23 linuxcnc.var
-rw-r--r-- 1 1000 1000    1673 Авг 13 21:23 linuxcnc.var.bak
-rw-r--r-- 1 1000 1000    5731 Авг 13 21:06 loadrt.hal
-rwxr-xr-x 1 1000 1000      91 Дек  7  2014 plasma
-rw-r--r-- 1 1000 1000    8523 Дек 10  2015 plasma.hal
-rw-r--r-- 1 1000 1000    3932 Дек 10  2015 plasma.ini
-rw-r--r-- 1 1000 1000   11463 Ноя 29  2014 plasma.ngc
-rw-r--r-- 1 1000 1000   67149 Ноя 25  2015 plasma_panel.glade
-rw-r--r-- 1 1000 1000     487 Авг 13 21:23 plasma_panel.ini
-rwxr-xr-x 1 1000 1000    8589 Ноя 22  2015 plasma_panel.py
-rw-r--r-- 1 1000 1000    8451 Ноя 22  2015 plasma_panel.pyc
-rw-r--r-- 1 1000 1000    2699 Май  8  2015 plasma_postgui.hal
-rw-r--r-- 1 1000 1000    5616 Май  8  2015 plasma.xml
-rw-r--r-- 1 1000 1000     164 Ноя 22  2015 postgui_call_list.hal
-rw-r--r-- 1 1000 1000    1083 Дек 10  2015 restartrequire.hal
-rw-r--r-- 1 1000 1000     105 Окт  5  2014 shutdown.hal
drwx------ 2 1000 1000    4096 Ноя 22  2015 subs
-rw-r--r-- 1 1000 1000   21421 Май 30  2015 THCController.py
-rw-r--r-- 1 1000 1000    9301 Ноя 22  2015 THC.hal
-rw-r--r-- 1 1000 1000     549 Дек  7  2014 thcpanel-settings.ini
-rw-r--r-- 1 1000 1000    1602 Дек  5  2014 thcpanel-settings.py
-rw-r--r-- 1 1000 1000    1587 Дек  7  2014 thcpanel-settings.pyc
-rw-r--r-- 1 1000 1000   47566 Окт  5  2014 THC_System.pdf
-rw-r--r-- 1 1000 1000      61 Дек 13  2015 tool.tbl
-rw-r--r-- 1 1000 1000      32 Окт  5  2014 tool.tbl.bak
-rw-r--r-- 1 1000 1000    2781 Май  8  2015 vent.hal

./inc-test:
итого 16
-rw-r--r-- 1 1000 1000  414 Ноя 29  2014 vent_post.hal
-rw-r--r-- 1 1000 1000 2036 Окт  5  2014 vent.xml
drwxr-xr-x 2 1000 1000 4096 Дек 10  2015 x
drwxr-xr-x 2 1000 1000 4096 Окт 28 21:11 yz

./inc-test/x:
итого 28
-rw-r--r-- 1 1000 1000  515 Дек  3  2015 axis-x1.ini
-rw-r--r-- 1 1000 1000  517 Дек  3  2015 axis-x2.ini
-rw-r--r-- 1 1000 1000  424 Дек 23  2014 axis-y.ini
-rw-r--r-- 1 1000 1000  423 Дек 23  2014 axis-z.ini
-rw-r--r-- 1 1000 1000  811 Дек 10  2015 debug.hal
-rw-r--r-- 1 1000 1000    0 Май 30  2015 debug.plasma.ini
-rw-r--r-- 1 1000 1000 6322 Май 15  2015 hwdep.hal

./inc-test/yz:
итого 32
-rw-r--r-- 1 1000 1000  470 Дек 26  2014 axis-x1.ini
-rw-r--r-- 1 1000 1000  472 Дек 26  2014 axis-x2.ini
-rw-r--r-- 1 1000 1000  472 Дек 24  2014 axis-y.ini
-rw-r--r-- 1 1000 1000  468 Дек 25  2014 axis-z.ini
-rw-r--r-- 1 1000 1000  798 Май 30  2015 debug.hal
-rw-r--r-- 1 1000 1000  240 Май 30  2015 debug.plasma.ini
-rw-r--r-- 1 1000 1000 6319 Май 30  2015 hwdep.hal

./inc-work:
итого 28
-rw-r--r-- 1 1000 1000  521 Ноя 24  2015 axis-x1.ini
-rw-r--r-- 1 1000 1000  523 Ноя 24  2015 axis-x2.ini
-rw-r--r-- 1 1000 1000  476 Ноя 24  2015 axis-y.ini
-rw-r--r-- 1 1000 1000  474 Ноя 24  2015 axis-z.ini
-rw-r--r-- 1 1000 1000   30 Дек 10  2015 debug.hal
-rw-r--r-- 1 1000 1000    0 Май 30  2015 debug.plasma.ini
-rw-r--r-- 1 1000 1000 6448 Ноя 24  2015 hwdep.hal

./subs:
итого 32
-rwxr-xr-x 1 1000 1000 272 Ноя 22  2015 M120
-rwxr-xr-x 1 1000 1000 276 Ноя 22  2015 M121
-rwxr-xr-x 1 1000 1000 620 Дек 14  2014 M130
-rwxr-xr-x 1 1000 1000 267 Ноя 22  2015 M131
-rwxr-xr-x 1 1000 1000 272 Ноя 22  2015 M132
-rwxr-xr-x 1 1000 1000 392 Ноя 22  2015 M133
-rwxr-xr-x 1 1000 1000 249 Ноя 22  2015 M134
-rwxr-xr-x 1 1000 1000 267 Ноя 22  2015 M139
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 608
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение merkwurdigliebe »

занялся похожей штукой, но хочу чтобы она еще и стандартной клавиатурой прикидывалясь. никогда с USB до этого не связывался и что-то всю голову сломал... системную клавиатуру, вроде, сделал. для остального определил второй интерфейс. а вот какой для него сделать рипорт дескриптор - не могу придумать. понятно, что можно

usage page - vendor defined
usage - vendor

и шли, что хочешь. но тогда его linux как input device не опознает и hal_input, соответственно, не видит. а если сделать

usage page - generic desktop
usage - чего-нить из стандартного

то в этом стандартном придумана ну просто куча всяких штук, но все они имеют какое-то предназначение. станочных среди нех нет. а если я хочу описать кейпад, но со своими кнопками - чтобы никакие приложения на них больше не реагировали? или MPG по аналогии с мышинным колеcом? это как-то делается?
Вложения
panel.jpg (4439 просмотров) <a class='original' href='./download/file.php?id=113130&sid=14e1aae9400a744c800c6628d1aa1694&mode=view' target=_blank>Загрузить оригинал (218.72 КБ)</a>
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение Serg »

merkwurdigliebe писал(а):для остального определил второй интерфейс. а вот какой для него сделать рипорт дескриптор
Надо второе устройство создавать.
merkwurdigliebe писал(а):а если я хочу описать кейпад, но со своими кнопками - чтобы никакие приложения на них больше не реагировали?
Придумай свои коды клавиш, для которых нет системных событий.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 608
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение merkwurdigliebe »

свои придумать - так нет такой возможности, если следовать стандарту. в usage page keyboard можно использовать только определенные клавиши. есть область reserved 235-65535, но, по-идее, эти коды нельзя использовать. и HID Descriptor Tool с usb.org не дает их создать. а ведь какой только херни там не предусмотрено - вплоть до органов управления ковром-самолетом (sic! реально!). а вот про шпиндель они не вспомнили... :)

как все сделать c hidcomp - понятно, но он сложный по сравнению с hal_input т.к. делает все сам. думал - почитаю про USB и использую все готовое. ан нет. напридумывали фигни всякой... комитеты... это примерно как файловая система позволяла бы хранить только вордовские документы, картинки и музыку, например :)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение Serg »

merkwurdigliebe писал(а):есть область reserved 235-65535, но, по-идее, эти коды нельзя использовать.
Думаешь за их использование на usb.org забанят?.. :)
merkwurdigliebe писал(а):и HID Descriptor Tool с usb.org не дает их создать.
Ты поаккуратнее с ним - в нём багов хватает, он даже неправильные коды вставлять умеет...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 608
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение merkwurdigliebe »

UAVpilot писал(а): Думаешь за их использование на usb.org забанят?
да не, смотрю вот в линуксячий код:

Код: Выделить всё

	case HID_UP_KEYBOARD:
		set_bit(EV_REP, input->evbit);
		if ((usage->hid & HID_USAGE) < 256) {
			if (!hid_keyboard[usage->hid & HID_USAGE]) goto ignore;
			map_key_clear(hid_keyboard[usage->hid & HID_USAGE]);
		} else
			map_key(KEY_UNKNOWN);
и что-то смущает меня KEY_UNKNOWN.
UAVpilot писал(а):Ты поаккуратнее с ним - в нём багов хватает, он даже неправильные коды вставлять умеет...
угу, ок, сэнькс
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение Serg »

merkwurdigliebe писал(а):да не, смотрю вот в линуксячий код:
Потому что обработчик клавы и не должен реагировать на такие события - эти коды придётся в рукопашную отрабатывать.
Посмотри на xkbcommon...

А зачем тебе именно клавиатура? Можно-же просто кнопками/джойстиками прикидываться, да и просто /dev/input/eventN самому читать.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 608
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение merkwurdigliebe »

можно и баттоны, но там тоже все расписано по функциям. вот чего evtest пишет про мой дескриптор:

Код: Выделить всё

    0x05, 0x01,		// USAGE_PAGE (Generic Desktop)
    0x09, 0x05,		// USAGE (Gamepad)
    0xa1, 0x01,		// COLLECTION (Application)
    0x05, 0x01,		//   USAGE_PAGE (Generic Desktop)
    0x09, 0x37,		//   USAGE (Dial)			rotary switch
    0x15, 0x00,		//   LOGICAL_MINIMUM (0)
    0x25, 0x17,		//   LOGICAL_MAXIMUM (23)
    0x75, 0x08,		//   REPORT_SIZE (8)
    0x95, 0x01,		//   REPORT_COUNT (1)
    0x81, 0x02,		//   INPUT (Data,Var,Abs)
    
    0x05, 0x01,		//   USAGE_PAGE (Generic Desktop)
    0x09, 0x37,		//   USAGE (Dial)			MPG
    0x15, 0x81,		//   LOGICAL_MINIMUM (-127)
    0x25, 0x7f,		//   LOGICAL_MAXIMUM (127)
    0x81, 0x26,		//   INPUT (Data,Var,Rel,NPrf)
    
    0x05, 0x09,		//   USAGE_PAGE (Button)
    0x19, 0x01,		//   USAGE_MINIMUM (Button 1)		keys
    0x29, 0x20,		//   USAGE_MAXIMUM (Button 32)
    0x15, 0x01,		//   LOGICAL_MINIMUM (1)
    0x25, 0x20,		//   LOGICAL_MAXIMUM (32)
    0x75, 0x08,		//   REPORT_SIZE (8)
    0x95, 0x03,		//   REPORT_COUNT (3)			3 simultaneous keys
    0x81, 0x00,		//   INPUT (Data,Ary,Abs)
    0xc0		// END_COLLECTION

Код: Выделить всё

Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x483 product 0x572b version 0x111
Input device name: "STMicroelectronics STM32 Human interface"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 304 (BTN_A)
    Event code 305 (BTN_B)
    Event code 306 (BTN_C)
    Event code 307 (BTN_X)
    Event code 308 (BTN_Y)
    Event code 309 (BTN_Z)
    Event code 310 (BTN_TL)
    Event code 311 (BTN_TR)
    Event code 312 (BTN_TL2)
    Event code 313 (BTN_TR2)
    Event code 314 (BTN_SELECT)
    Event code 315 (BTN_START)
    Event code 316 (BTN_MODE)
    Event code 317 (BTN_THUMBL)
    Event code 318 (BTN_THUMBR)
    Event code 319 (?)
    Event code 320 (BTN_TOOL_PEN)
    Event code 321 (BTN_TOOL_RUBBER)
    Event code 322 (BTN_TOOL_BRUSH)
    Event code 323 (BTN_TOOL_PENCIL)
    Event code 324 (BTN_TOOL_AIRBRUSH)
    Event code 325 (BTN_TOOL_FINGER)
    Event code 326 (BTN_TOOL_MOUSE)
    Event code 327 (BTN_TOOL_LENS)
    Event code 328 (BTN_TOOL_QUINTTAP)
    Event code 329 (?)
    Event code 330 (BTN_TOUCH)
    Event code 331 (BTN_STYLUS)
    Event code 332 (BTN_STYLUS2)
    Event code 333 (BTN_TOOL_DOUBLETAP)
    Event code 334 (BTN_TOOL_TRIPLETAP)
    Event code 335 (BTN_TOOL_QUADTAP)
  Event type 2 (EV_REL)
    Event code 7 (REL_DIAL)
  Event type 3 (EV_ABS)
    Event code 7 (ABS_RUDDER)
      Value      0
      Min        0
      Max       23
      Flat       1
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
REL_DIAL - это MPG
ABS_RUDDER - галетник на 24 положения
hal_input насоздает пинов с соответсвующимим названиями:

Код: Выделить всё

KEY 0.btn-thumbl
KEY 0.btn-tr
KEY 0.btn-tool-rubber
KEY 0.btn-tl
KEY 0.btn-thumbr
KEY 0.btn-tool-mouse
KEY 0.btn-a
KEY 0.btn-b
KEY 0.btn-c
KEY 0.btn-tool-airbrush
KEY 0.btn-tl2
KEY 0.btn-tool-quadtap
KEY 0.btn-tool-finger
KEY 0.btn-tool-brush
KEY 0.btn-x
KEY 0.btn-y
KEY 0.btn-z
KEY 0.btn-stylus
KEY 0.btn-touch
KEY 0.btn-select
KEY 0.key-319
KEY 0.btn-tool-tripletap
KEY 0.btn-stylus2
KEY 0.btn-digi
KEY 0.btn-start
KEY 0.btn-mode
KEY 0.btn-tool-pencil
KEY 0.btn-tool-lens
KEY 0.btn-tool-doubletap
KEY 0.btn-tr2
KEY 0.key-328
KEY 0.key-329
REL 0.rel-dial-position
ABS 0.abs-rudder-position
че хочу-то:
есть вот эта мембранная панель с разными кнопками, галетник на 24 позиции, MPG и, возможно, аналоговый джойстик.
1. алфавитно-цифровые клавиши, enter, shift, курсор, backspace, F1..F7 и т.п. передавать как нажатия на стандартной клавиатуре. чтобы работало везде, начиная с BIOS
2. я пока не уверен, что все получится сделать через пины, поэтому несколько клавиш без аналогов на стандартной клавиатуре, типа main menu, edit, simul, exec, reset тоже смапить на какие-то существующие клавиатурные коды. чтобы потом в интерфейсе (axis, например) обрабатывать их аналогично:
root_window.bind("<Key-F12>", commands.spindle_increase)
3. остальные кнопки экпортировать в HAL пины с помощью hal_input (ну или своего аналога). типа jog, rapid.. и подключить к соответствующим пинам axis, halui и т.п.
4. комбинированный галетник (выбор режима и значения MPG/JOG/FEED) пока не придумал как представить. наверное просто передавать позицию, а потом обрабатывать и генерить соответствующие сигналы на активацию режимов и установки множителей. надо пробовать, пока не представляю
5. MPG и джойстик понятно - к соответствующим пинам

ну почему в HID нет возможности описать просто элементы управления, без привязки к конкретным функциям?? 30 кнопок, скажем. или абстрактное колесо для MPG... не понимаю...
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение Serg »

1. Ну и пусть эти кнопки будут на устройстве "клава" и посылают аналогичные коды...
2. На клавиатурах есть "неиспользуемые" коды. Стандартных кодов 255, а кнопок на PC клавиатуре 103-106... Например на клавиатуре Sun есть штатная кнопка Edit...
3. создаёшь HID-устройство "прочие кнопки" и описываешь их там.
4. такими-же кнопками в устройстве "прочие кнопки".
merkwurdigliebe писал(а):ну почему в HID нет возможности описать просто элементы управления, без привязки к конкретным функциям?? 30 кнопок, скажем. или абстрактное колесо для MPG... не понимаю...
Всё есть - см. например в моих исходниках.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение aftaev »

merkwurdigliebe писал(а):1. алфавитно-цифровые клавиши, enter, shift, курсор, backspace, F1..F7 и т.п. передавать как нажатия на стандартной клавиатуре. чтобы работало везде, начиная с BIOS
У моей панельки Сименса стоит STM32 которая опрашивает цифровую клавиатуру и эмулирует клаву. К STM32 подключена и мышка.
Не все кнопки подключены к STM32. Потому все хочу сделать эмуляцию клавиатуры на Ардуино. Например: при нажатии на определенную мембранную кнопочку должна посылаться команда CTRL+пробел(закрыть окошки сообщений).
merkwurdigliebe писал(а):4. комбинированный галетник (выбор режима и значения MPG/JOG/FEED) пока не придумал как представить. наверное просто передавать позицию, а потом обрабатывать и генерить соответствующие сигналы на активацию режимов и установки множителей. надо пробовать, пока не представляю
У меня считывает галетник Ардуина и шлет по МодБасу.

merkwurdigliebe, купили панельку новую Сименс от 808D, она USB. На ней кнопочки, галетники, и индикация номера инструмента, лампошки. Самому интересно что она там по USB шлет. Как приползет можно будет обзорчик сделать, если интересно людям будет ;)

Есть предположение что по USB панелька от ЧПУ получает номер инструмента и включает нужные лампоШки. У старых моделей часть кнопок работало по USB, а часть подключалась отдельным шлефом к ЧПУ или к PLC.
На 0:20мин нижняя панель.
https://www.youtube.com/watch?v=LO1Jv_H2T54
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение Serg »

aftaev писал(а):Самому интересно что она там по USB шлет.
Там ничего секретного нет - используется класс HID. LinuxCNC HID Extender этот-же протокол использует.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 608
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение merkwurdigliebe »

aftaev писал(а):merkwurdigliebe, купили панельку новую Сименс от 808D, она USB. На ней кнопочки, галетники, и индикация номера инструмента, лампошки. Самому интересно что она там по USB шлет. Как приползет можно будет обзорчик сделать, если интересно людям будет
на ее USB HID report descriptor интересно посмотреть, ага
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение aftaev »

Там тоже Linux стоит :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

Re: LinuxCNC HID Extender

Сообщение aftaev »

merkwurdigliebe писал(а):на ее USB HID report descriptor интересно посмотреть, ага
недели через две мож приползет, если звезды правильно выстроятся :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Ответить

Вернуться в «LinuxCNC»