EMC2 LinuxCNC и Joystick

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

Re: EMC2 и Joystick

Сообщение Serg »

А вот так?
loadusr -W hal_input -KRAL "Vendor=0583 Product=a000"
кавычки обязательны.
Или так:
loadusr -W hal_input -KRAL 6

И вобще что говорит команда "ls -l /devices/pci0000:00/0000:00:02.0/usb2/2-8/2-8:1.0/input/input6"?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

s3301 писал(а):И вобще что говорит команда "ls -l /devices/pci0000:00/0000:00:02.0/usb2/2-8/2-8:1.0/input/input6"?

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

vitaliy@vitaliy-desktop:~$ ls -l /devices/pci0000:00/0000:00:02.0/usb2/2-8/2-8:1.0/input/input6
ls: невозможно получить доступ к /devices/pci0000:00/0000:00:02.0/usb2/2-8/2-8:1.0/input/input6: Нет такого файла или каталога
vitaliy@vitaliy-desktop:~$ 
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

s3301 писал(а):А вот так?loadusr -W hal_input -KRAL "Vendor=0583 Product=a000"кавычки обязательны.Или так:loadusr -W hal_input -KRAL 6
нет не полегчало
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и Joystick

Сообщение Nick »

Виталий писал(а):loadusr -W hal_input -KRAL 2-Axis,8-Button
Вот в этом стартовал, но ошибка другая. Попробуй закомментируй все что ниже loadusr запусти linuxcnc и выполни в консоле halcmd show . И вывод сюда.

Я сейчас уже уезжаю в Москву, буду только в пятницу, не знаю, получится ли у меня из Москвы вылезти на форум.

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

пока попробуй придумать, чем помио осей Х и Y хочешь управлять. Судя из описания у тебя 2 аналоговые оси и 8 кнопок.

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

Re: EMC2 и Joystick

Сообщение Serg »

Виталий писал(а):
s3301 писал(а):И вобще что говорит команда "ls -l /devices/pci0000:00/0000:00:02.0/usb2/2-8/2-8:1.0/input/input6"?

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

vitaliy@vitaliy-desktop:~$ ls -l /devices/pci0000:00/0000:00:02.0/usb2/2-8/2-8:1.0/input/input6
ls: невозможно получить доступ к /devices/pci0000:00/0000:00:02.0/usb2/2-8/2-8:1.0/input/input6: Нет такого файла или каталога
vitaliy@vitaliy-desktop:~$ 
Ошибся. Вот это попробуй:
ls -l /sys/devices/pci0000:00/0000:00:02.0/usb2/2-8/2-8:1.0/input/input6

А jtest пробовал? Работает?

Покажи ещё что lsmod говорит?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

Nick писал(а):Вот в этом стартовал, но ошибка другая. Попробуй закомментируй все что ниже loadusr запусти linuxcnc и выполни в консоле halcmd show . И вывод сюда.

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

Print file information:
RUN_IN_PLACE=no
EMC2_DIR=
EMC2_BIN_DIR=/usr/bin
EMC2_TCL_DIR=/usr/share/emc/tcl
EMC2_SCRIPT_DIR=
EMC2_RTLIB_DIR=/usr/realtime-2.6.32-122-rtai/modules/emc2
EMC2_CONFIG_DIR=
EMC2_LANG_DIR=/usr/share/emc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
EMC2_EMCSH=/usr/bin/wish8.5
EMC2 - 2.4.6
Machine configuration directory is '/home/vitaliy/emc2/configs/cnc'
Machine configuration file is 'cnc.ini'
INIFILE=/home/vitaliy/emc2/configs/cnc/cnc.ini
PARAMETER_FILE=emc.var
EMCMOT=motmod
EMCIO=io
TASK=milltask
HALUI=
DISPLAY=axis
NML_FILE=
Starting EMC2...
Starting EMC2 server program: emcsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting EMC2 IO program: io
Shutting down and cleaning up EMC2...
Killing task emcsvr, PID=1660
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Cleanup done

Debug file information:
cnc.hal:85: Pin 'input.0.btn-trigger' does not exist
1660
  PID TTY      STAT   TIME COMMAND
Stopping realtime threads
Unloading hal components

Kernel message information:
[  441.061274] I-pipe: Domain RTAI registered.
[  441.061283] RTAI[hal]: <3.8.1> mounted over IPIPE-NOTHREADS 2.6-03.
[  441.061285] RTAI[hal]: compiled with gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) .
[  441.061290] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[  441.061292] PIPELINE layers:
[  441.061295] f82b8e20 9ac15d93 RTAI 200
[  441.061297] c085cb20 0 Linux 100
[  441.099250] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[  441.099438] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[  441.099442] RTAI[sched]: hard timer type/freq = APIC/12564314(Hz); default timing: periodic; linear timed lists.
[  441.099445] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 2211475000 hz.
[  441.099448] RTAI[sched]: timer setup = 999 ns, resched latency = 2944 ns.
[  441.099579] RTAI[usi]: enabled.
[  441.207599] RTAI[math]: loaded.
[  441.387775] config string '0x378 out  '
[  442.095180] RTAI[math]: unloaded.
[  442.159857] SCHED releases registered named ALIEN RTGLBH
[  442.174623] RTAI[malloc]: unloaded.
[  442.272023] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0).
[  442.276560] I-pipe: Domain RTAI unregistered.
[  442.276569] RTAI[hal]: unmounted.


Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

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

vitaliy@vitaliy-desktop:~$ halcmd show
RTAPI: ERROR: could not open shared memory (errno=2)
HAL: ERROR: rtapi init failed
halcmd: hal_init() failed: -22
NOTE: 'rtapi' kernel module must be loaded
vitaliy@vitaliy-desktop:~$ 
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

s3301 писал(а):Вот это попробуй:ls -l /sys/devices/pci0000:00/0000:00:02.0/usb2/2-8/2-8:1.0/input/input6

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

vitaliy@vitaliy-desktop:~$ ls -l /sys/devices/pci0000:00/0000:00:02.0/usb2/2-8/2-8:1.0/input/input6
итого 0
drwxr-xr-x 2 root root    0 2012-05-30 18:00 capabilities
lrwxrwxrwx 1 root root    0 2012-05-30 18:11 device -> ../../../2-8:1.0
drwxr-xr-x 3 root root    0 2012-05-30 18:00 event6
drwxr-xr-x 2 root root    0 2012-05-30 18:11 id
drwxr-xr-x 3 root root    0 2012-05-30 18:00 js0
-r--r--r-- 1 root root 4096 2012-05-30 18:11 modalias
-r--r--r-- 1 root root 4096 2012-05-30 18:00 name
-r--r--r-- 1 root root 4096 2012-05-30 18:11 phys
drwxr-xr-x 2 root root    0 2012-05-30 18:11 power
lrwxrwxrwx 1 root root    0 2012-05-30 18:00 subsystem -> ../../../../../../../../class/input
-rw-r--r-- 1 root root 4096 2012-05-30 18:00 uevent
-r--r--r-- 1 root root 4096 2012-05-30 18:11 uniq
vitaliy@vitaliy-desktop:~$ 
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

s3301 писал(а):А jtest пробовал? Работает?
да все кнопки рабочие
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

s3301 писал(а):Покажи ещё что lsmod говорит?

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

vitaliy@vitaliy-desktop:~$ lsmod
Module                  Size  Used by
binfmt_misc             6587  1 
dm_crypt               11363  0 
snd_intel8x0           25492  2 
snd_ac97_codec         99721  1 snd_intel8x0
ac97_bus                 962  1 snd_ac97_codec
snd_pcm_oss            35244  0 
snd_mixer_oss          13695  1 snd_pcm_oss
snd_pcm                67036  3 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
snd_seq_dummy           1338  0 
snd_seq_oss            26726  0 
snd_seq_midi            4557  0 
snd_rawmidi            17955  1 snd_seq_midi
snd_seq_midi_event      5572  2 snd_seq_oss,snd_seq_midi
snd_seq                46527  6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
snd_timer              18138  2 snd_pcm,snd_seq
snd_seq_device          5355  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
nvidia               9961395  38 
ppdev                   5259  0 
psmouse                63213  0 
joydev                  8644  0 
agpgart                29292  1 nvidia
k8temp                  3024  0 
serio_raw               3978  0 
snd                    51043  14 snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
parport_pc             25637  1 
soundcore               6016  1 snd
snd_page_alloc          6717  2 snd_intel8x0,snd_pcm
i2c_nforce2             5159  0 
lp                      7028  0 
parport                30764  3 ppdev,parport_pc,lp
dm_raid45              81157  0 
xor                    14673  1 dm_raid45
usbhid                 35772  0 
hid                    65804  1 usbhid
fbcon                  35102  71 
tileblit                1987  1 fbcon
font                    7406  1 fbcon
bitblit                 4664  1 fbcon
softcursor              1151  1 bitblit
ohci1394               26736  0 
vga16fb                11161  1 
vgastate                8760  1 vga16fb
ieee1394               76629  1 ohci1394
forcedeth              49072  0 
pata_amd                8766  2 
sata_nv                19376  0 
floppy                 51992  0 
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

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

Re: EMC2 и Joystick

Сообщение Serg »

Виталий писал(а):
s3301 писал(а):А jtest пробовал? Работает?
да все кнопки рабочие
а оси?

Можно ещё вот так потестить:
cat /dev/input/js0
и/или
cat /dev/input/event6
при шевелении осями и нажимании кнопок на экран будут кракозябры сыпаться. Завершить это безобразие можно нажав Ctrl-C.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

s3301 писал(а):Можно ещё вот так потестить:cat /dev/input/js0

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

vitaliy@vitaliy-desktop:~$ cat /dev/input/js0
����������������������������������������������������L����������������t�����������������D���4��������\�����������L��������������
                                    ������4��������
                                                              ������	���
���
�� ��|
   ��l��
           ��T����,��������d�������������d�����T����d��d�����4������ ���!���"��
                                                               #��<$���$���&��D'��,*����*���,���<-��4.����.��40����0��3��|3���4���5���6��l7��8���8��=���=���?��<@��4G���G���L���LM��V���<V���\���]��Dd����d��$l����l��4p����p���s����s��t���Tt���u���<v��$w���tw��
                                             x���
                                                   z���z���|{����{��||��
 }��4}���d}���}����}���}����}���}���~����������������Ā��Ā�������<���|����������̂���t�������,�������
                                                                        ���d�������
         ������^C
vitaliy@vitaliy-desktop:~$ 
все кнопки и крест работают
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

вот сам пытаюсь шамонить .когда убирою с hal все строчки что касаются <= input.0.btn-trigger => axis.0.jog-enable емс стартует но джойстик мертвый.
да я убрал еще строчки с осью 2 я т ак понимаю это ось z?
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

input.0.btn-trigger-что это означает для emc ? не могу понять предназначение.
погулял по установкам hal в програме-любопытная штуковина.видел много что связано с джойстиком ,(дергал) то кнопки то оси и вот думаю как в hal файле влючаются оси ....не ужели этим - (input.0.btn-trigger).тогда вопрос следующий в устанвках hal такого нет покрайней мере у меня .как быть пока не предумал.
предназначение кнопок в установке hal можна менять,как ?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

Виталий писал(а):input.0.btn-trigger-что это означает для emc ? не могу понять предназначение.
Это пины -они должны появиться ,если loadusr -W hal_input -KRAL .....загрузит компонент .
То есть -вот здесь:
Выделение_118.png (3129 просмотров) <a class='original' href='./download/file.php?id=5625&sid=cc457e541ed155aec2e10c8fdf8fb81e&mode=view' target=_blank>Загрузить оригинал (63.14 КБ)</a>
должна появиться строка с названием твоего джойстика
Если есть-то покажи
Если нет:
для начала в хал файле убрать все строки,кроме загрузки loadusr ...........
и добиваться появления в хал конфигураторе
http://www.linuxcnc.org/docs/html/man/m ... put.1.html
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: EMC2 и Joystick

Сообщение Serg »

Виталий писал(а):
s3301 писал(а):Можно ещё вот так потестить:cat /dev/input/js0
все кнопки и крест работают
Значит в линуксе с джойстиком всё в порядке и разбираться нужно только в EMC2.
Тут я пока не помошник - кишки EMC2 внимательно пока не изучал, так, открыл, гланул, закрыл. :wik:
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

nkp писал(а):input.0.btn-trigger
Не понятно-почему вы прописали "trigger" ?
"name" может быть и другим :thinking:
http://wiki.linuxcnc.org/cgi-bin/wiki.p ... te_Pendant
Настройка:

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

In your .ini file in the [HAL] section add the following line if you don't have it 
 HALUI = halui

 In my case the joypad was named "Logitech Logitech Dual Action". Pick one of the names that is unique and use it. 

 If for example you have a Logitech mouse you won't want to use "Logitech" as the name for the hal_input. 

 Also, if you put TWO names in the line after the "-KRAL" you will get two copies of the input and you don't want that. 

4. Step 4 Check the pin names of your device
 Start up EMC after adding the above lines to make sure that works. 
 Open up the Machine, Show Hal Configuration, Pins. input and see what the pin names are and which one does what. 
 The pin names you are looking for are similar to "input.0.btn-trigger" 
 Click on the Watch tab then click on the pins and you can touch each button to see which one is which.
1.В ini-файле секция [HAL] прописать HALUI = halui
2.Из этого-"2-Axis,8-Button "- выбрать имя чтоб не дублировалось в системе
3.Прописать в hal loadusr -W hal_input -KRAL имя
4.Смотреть появившиеся пины
5. Только после этого настраивать связи в hal
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и Joystick

Сообщение Nick »

Виталий писал(а):cnc.hal:85: Pin 'input.0.btn-trigger' does not exist
Скинь свой файл cnc.hal.

Вообще, ошибка говорит, что HAL не может найти пин input.0.btn-trigger, это пин компонента input, который работает с джойстиком. Но это также значит что компонент загрузился, а это значит, что джойстик он нашел.

Вот когда ты писал, что закоментировал все кроме loadusr и emc2 запустился, надо было сделать halcmd show. Эта команда показывает все доступные пины. Там бы мы увидели как называются пины твоего джойстика, они были бы типа input.0.[...]. Потом эти пины надо подключить к пинам HAL.
В принципе, вместо halcmd show можно использовать меню hal configuration, как писал nkp, но из текстового фала проще скопировать все названия пинов ;).

ЗЫ Не бойся линуха, он на самом деле простой. надо только чуть-чуть его понять и потом все пойдет гораздо проще. И главное не пугайся всяких незнакомых слов, через месяц все встанет на свои места :).

В итоге: ждем cnc.hal и вывод halcmd show во время запущенного emc2.


ЗЫ
Если выполнить halcmd show пока не запущен emc2 будет такая же ошибка как у тебя уже была:
Виталий писал(а):NOTE: 'rtapi' kernel module must be loaded
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

Сообщение Виталий »

Nick писал(а):Вот когда ты писал, что закоментировал все кроме loadusr и emc2 запустился, надо было сделать halcmd show. Эта команда показывает все доступные пины. Там бы мы увидели как называются пины твоего джойстика, они были бы типа input.0.[...]
у меня в hal файле добавлена только одна строчка -loadusr -(W hal_input -KRAL 2-Axis,8-Button)
с ней я могу запустить емс (джойстик соответственно не работает) дальше в програме смотрю в установки hal inpat.o
то что связано с джойстиком я могу выдеть как соответствующие пины реагируют на нажатие .но я не вижу там пина input.0.btn-trigger.
P.s Может чтото неверно написал ,нет доступа к линукс -сейчас на роботе
Вечером выложу.
Ответить

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