Настройка джойстика
Hal сделан для LinuxCNC версии 2.5.3,по этому перед использованием не забудте поставить обновления системы.
( Назад к оглавлению "Руководства по настройке LinuxCNC/EMC2 для работы через LPT порт для чайников" )

Подключение геймпада к пользовательской оболочке Axis
Автор
torvn77
, 14 Фев 2014 20:09
LinuxCNC Axis joystick джойстик Геймпад
Сообщений в теме: 3
#1
OFFLINE
Отправлено 14 Февраль 2014 - 20:09
Я по мнению сообщества безграмотен,могу дать вредные или ошибочные советы.
Используйте их после обдумывания и на свой страх и риск.
У меня не всегда выходит понять вопрос,если это случилось то пожалуйста напишите мне об этом в личку.Ответ то я может и знаю,но пишу не то и не о том...
Используйте их после обдумывания и на свой страх и риск.
У меня не всегда выходит понять вопрос,если это случилось то пожалуйста напишите мне об этом в личку.Ответ то я может и знаю,но пишу не то и не о том...
#2
OFFLINE
Отправлено 16 Февраль 2014 - 17:56
Данный вариант подключения Джойстика использует пины оболчки пользователя axis,
по этому его надо подключать после загрузки оболочки пользователя.
Для такого подключения используется файл прописаный в опции "POSTGUI_HALFILE" раздела [HAL] главного *.ini файла.
По умолчанию его имя "custom_postgui.hal",а конфиг джойстика подключается командой включения кода source:
в папке joypad и называется joypad.hal
по этому его надо подключать после загрузки оболочки пользователя.
Для такого подключения используется файл прописаный в опции "POSTGUI_HALFILE" раздела [HAL] главного *.ini файла.
По умолчанию его имя "custom_postgui.hal",а конфиг джойстика подключается командой включения кода source:
Как ясно из параметра команды,заглавный конфиг джойстика находится относительно основного пути к конфигам# Include your customized HAL commands here
# The commands in this file are run after the AXIS GUI (including PyVCP panel) starts
source joypad/joypad.hal
в папке joypad и называется joypad.hal
Сообщение отредактировал torvn77: 16 Февраль 2014 - 17:57
Я по мнению сообщества безграмотен,могу дать вредные или ошибочные советы.
Используйте их после обдумывания и на свой страх и риск.
У меня не всегда выходит понять вопрос,если это случилось то пожалуйста напишите мне об этом в личку.Ответ то я может и знаю,но пишу не то и не о том...
Используйте их после обдумывания и на свой страх и риск.
У меня не всегда выходит понять вопрос,если это случилось то пожалуйста напишите мне об этом в личку.Ответ то я может и знаю,но пишу не то и не о том...
#3
OFFLINE
Отправлено 16 Февраль 2014 - 17:57
содержимое файла joypad.hal:
# Name and Patch this file "joypad/joypad.hal"
loadusr -W hal_input -KRAL +Logitech Logitech Dual Action
loadrt encoder num_chan=4
loadrt sim_encoder num_chan=4
loadrt abs count=4
source joypad/joypad_analog_axis.hal
#source joypad/joypad_digital_axis.hal
#source joypad/joypad_button.hal
addf encoder.capture-position servo-thread
addf encoder.update-counters base-thread
addf sim-encoder.update-speed servo-thread
addf sim-encoder.make-pulses base-thread
addf abs.0 servo-thread
addf abs.1 servo-thread
addf abs.2 servo-thread
addf abs.3 servo-thread
#loadusr halmeter pin Pad_analog_X-Axis_count
#loadusr halmeter sig Pad_analog_X-Axis_position
#loadusr halmeter sig Pad_analog_X-Axis_scale
#loadusr halmeter pin encoder.0.counts
#loadusr halmeter pin axis.0.jog-counts
Я по мнению сообщества безграмотен,могу дать вредные или ошибочные советы.
Используйте их после обдумывания и на свой страх и риск.
У меня не всегда выходит понять вопрос,если это случилось то пожалуйста напишите мне об этом в личку.Ответ то я может и знаю,но пишу не то и не о том...
Используйте их после обдумывания и на свой страх и риск.
У меня не всегда выходит понять вопрос,если это случилось то пожалуйста напишите мне об этом в личку.Ответ то я может и знаю,но пишу не то и не о том...
#4
OFFLINE
Отправлено 16 Февраль 2014 - 18:00
Содержимое файла joypad_analog_axis.hal
# Name and Patch this file "joypad/joypad_analog_axis.hal"
# Create links between the axis pins and the speed pin of the sim-encoder for X Y Z
net Pad_analog_X-Axis_position <= input.0.abs-x-position
setp input.0.abs-x-offset 128
setp input.0.abs-x-scale 127.5
net Pad_analog_Y-Axis_position <= input.0.abs-y-position
setp input.1.abs-y-offset 127.5
setp input.1.abs-y-scale 127.5
net Pad_analog_A-Axis_position <= input.0.abs-z-position
setp input.2.abs-z-offset 127.5
setp input.2.abs-z-scale 127.5
net Pad_analog_Z-Axis_position <= input.0.abs-rz-position
setp input.3.abs-rz-offset 127.5
setp input.3.abs-rz-scale 127.5
# Create links between sim-encoder Phase-A and Phase-B and encoder Phase-A and Phase-B for X Y Z A
net Pad_analog_X-Axis_position => sim-encoder.0.speed
net encoder.0-A sim-encoder.0.phase-A => encoder.0.phase-A
net encoder.0-B sim-encoder.0.phase-B => encoder.0.phase-B
net encoder.0-Z sim-encoder.0.phase-Z => encoder.0.phase-Z
net X-Axis_jog_counts <= encoder.0.counts
net Pad_analog_Y-Axis_position => sim-encoder.1.speed
net encoder.1-A sim-encoder.1.phase-A => encoder.1.phase-A
net encoder.1-B sim-encoder.1.phase-B => encoder.1.phase-B
net encoder.1-Z sim-encoder.1.phase-Z => encoder.1.phase-Z
net Y-Axis_jog_counts <= encoder.1.counts
net Pad_analog_Z-Axis_position => sim-encoder.2.speed
net encoder.2-A sim-encoder.2.phase-A => encoder.2.phase-A
net encoder.2-B sim-encoder.2.phase-B => encoder.2.phase-B
net encoder.2-Z sim-encoder.2.phase-Z => encoder.2.phase-Z
net Z-Axis_jog_counts <= encoder.2.counts
net Pad_analog_A-Axis_position => sim-encoder.3.speed
net encoder.3-A sim-encoder.3.phase-A => encoder.3.phase-A
net encoder.3-B sim-encoder.3.phase-B => encoder.3.phase-B
net encoder.3-Z sim-encoder.3.phase-Z => encoder.3.phase-Z
net A-Axis_jog_counts <= encoder.3.counts
# Create links between encoder counts and jog counts for X Y Z A
net X-Axis_jog_counts => axis.0.jog-counts
net Y-Axis_jog_counts => axis.1.jog-counts
net Z-Axis_jog_counts => axis.2.jog-counts
net A-Axis_jog_counts => axis.3.jog-counts
#
net Pad_analog_X-Axis_position => abs.0.in
net X-Axis_jog_scale <= abs.0.out
net Pad_analog_Y-Axis_position => abs.1.in
net Y-Axis_jog_scale <= abs.1.out
net Pad_analog_Z-Axis_position => abs.2.in
net Z-Axis_jog_scale <= abs.2.out
net Pad_analog_A-Axis_position => abs.3.in
net A-Axis_jog_scale <= abs.3.out
net X-Axis_jog_scale => axis.0.jog-scale
net Y-Axis_jog_scale => axis.1.jog-scale
net Z-Axis_jog_scale => axis.2.jog-scale
net A-Axis_jog_scale => axis.3.jog-scale
# Set parameter values
setp sim-encoder.0.ppr 00000064
setp sim-encoder.0.scale 1
setp sim-encoder.1.ppr 00000064
setp sim-encoder.1.scale 1
setp sim-encoder.2.ppr 00000064
setp sim-encoder.2.scale 1
setp sim-encoder.3.ppr 00000064
setp sim-encoder.3.scale 1
setp sim-encoder.make-pulses.tmax 0
setp sim-encoder.update-speed.tmax 0
setp encoder.0.x4-mode true
setp encoder.0.position-scale 1
setp encoder.1.x4-mode true
setp encoder.1.position-scale 1
setp encoder.2.x4-mode true
setp encoder.2.position-scale 1
setp encoder.3.x4-mode true
setp encoder.3.position-scale 1
setp encoder.capture-position.tmax 0
setp encoder.update-counters.tmax 0
# Enable jog for X Y Z
setp axis.0.jog-enable true
setp axis.0.jog-vel-mode true
setp axis.1.jog-enable true
setp axis.1.jog-vel-mode true
setp axis.2.jog-enable true
setp axis.2.jog-vel-mode true
setp axis.3.jog-enable true
setp axis.3.jog-vel-mode true
Сообщение отредактировал torvn77: 16 Февраль 2014 - 18:00
Я по мнению сообщества безграмотен,могу дать вредные или ошибочные советы.
Используйте их после обдумывания и на свой страх и риск.
У меня не всегда выходит понять вопрос,если это случилось то пожалуйста напишите мне об этом в личку.Ответ то я может и знаю,но пишу не то и не о том...
Используйте их после обдумывания и на свой страх и риск.
У меня не всегда выходит понять вопрос,если это случилось то пожалуйста напишите мне об этом в личку.Ответ то я может и знаю,но пишу не то и не о том...
Темы с аналогичным тегами LinuxCNC, Axis, joystick, джойстик, Геймпад
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных