usinf identical JoyStick hardware boards and loadusr
Lots of troubles to get them both working at the same time. Documentation mentions that when two devices have the same name adding a :0 or :1 would make them work.
But I can't get it to work at all. There is always just one pins.input.0 I expected that there would be another as pins.input.1
hal file
loadusr -W hal_input -KRAL 14.0-1.2:0 -n Dragon:0 -d
loadusr -W hal_input -KRAL 14.0-1.3.1:1 -n Dragon:1 -d
LinuxCNC startup messagenote: name is 'DragonRise Inc. Generic USB Joystick '
note: name is 'DragonRise Inc. Generic USB Joystick '
[QTvcp][INFO] postgui commands: None (qtvcp:399)
[QTvcp][INFO] Preference path: /home/cnc/linuxcnc/configs/qt/qtdragon.pref (qtvcp:378)
HAL: ERROR: duplicate component name 'hal_input'
Traceback (most recent call last):
File "/usr/bin/hal_input", line 215, in <module>
h = component("hal_input")
hal.error: Invalid argument
less /proc/bus/input/devicesI: Bus=0003 Vendor=0079 Product=0006 Version=0110
N: Name="DragonRise Inc. Generic USB Joystick "
P: Phys=usb-0000:00:14.0-1.2/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.2/1-1.2:1.0/0003:0079:0006.000D/input/input26
U: Uniq=
H: Handlers=event13 js0
B: PROP=0
B: EV=20001b
B: KEY=fff00000000 0 0 0 0
B: ABS=3002f
B: MSC=10
B: FF=107030000 0
I: Bus=0003 Vendor=0079 Product=0006 Version=0110
N: Name="DragonRise Inc. Generic USB Joystick "
P: Phys=usb-0000:00:14.0-1.3.1/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.3/1-1.3.1/1-1.3.1:1.0/0003:0079:0006.000E/input/input27
U: Uniq=
H: Handlers=event14 js1
B: PROP=0
B: EV=20001b
B: KEY=fff00000000 0 0 0 0
B: ABS=3002f
B: MSC=10
B: FF=107030000 0
linuxcnc.org/docs/html/man/man1/hal_inpu...NPUT%20SPECIFICATION
When several devices are identified by the same string, add ":N" where N is the index of the desired device. For example, if Mouse matches input3 and input10, then Mouse and Mouse:0 select input3. Specifying mouse:1 selects input10.
Another attempt:
hal fileloadusr -W hal_input -KRAL -n Dragon:0 -d
loadusr -W hal_input -KRAL -n Dragon:1 -d
LinuxCNC startup messagesnote: name is 'DragonRise Inc. Generic USB Joystick '
buttons.hal:8: Pin 'input.0.btn-thumb2' does not exist
HAL: ERROR: duplicate component name 'hal_input'
Traceback (most recent call last):
File "/usr/bin/hal_input", line 215, in <module>
h = component("hal_input")
hal.error: Invalid argument
Shutting down and cleaning up LinuxCNC...
Please Log in or Create an account to join the conversation.
If hal_input supports multiple joysticks (and it might) then you would need to specify both in the same loadusr command. Something like:
loadusr -W hal_input -KRAL -n Dragon:0 -n Dragon:1 -d
It might take some experimentation to see what works.
Please Log in or Create an account to join the conversation.
Thanks, but as soon as I use the -n and name the component the pins.input.0 disapears. As soon as I remove the -n the pins show up again (for a single instance of the component).You can only "loadusr" the component once.
If hal_input supports multiple joysticks (and it might) then you would need to specify both in the same loadusr command. Something like:
loadusr -W hal_input -KRAL -n Dragon:0 -n Dragon:1 -d
It might take some experimentation to see what works.
Maybe the joystick thingy doesn't support two or more joysticks.
Please Log in or Create an account to join the conversation.
master/src/hal/user_comps/hal_input.py
fds = [dev.device.fileno() for dev in d]
try:
while 1:
select.select(fds, , , .01)
for i in d:
i.update()
w.drive()
Please Log in or Create an account to join the conversation.
I can't really test, as I don't have even one joypad.
Can you follow the logic of the argument parsing well enough to add some "print" statements to see what it is seeing?
Please Log in or Create an account to join the conversation.
Been trying to find out what is happening and why the multiple cards can not be selected. Kinda debugging with print statements I guess. Spend already a lot of time on this, have to do some proper work now. If I find out anything I will post it here.I am not clear if you need one, two or zero -n commands.
I can't really test, as I don't have even one joypad.
Can you follow the logic of the argument parsing well enough to add some "print" statements to see what it is seeing?
The cards are very cheap, I paid 10 euro's for 15 inputs. www.amazon.com/s?k=arcade+usb+encoder&sp...cade+usb%2Caps%2C243
Nice cheap way to add hardware buttons to a LinuxCNC installation.
Please Log in or Create an account to join the conversation.