EMC2 LinuxCNC и Joystick

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

Виталий писал(а):но я не вижу там пина input.0.btn-trigger.
его там может и не быть
вот как раз то что появилось и надо будет прописать
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и Joystick

Сообщение Nick »

Там должны быть пины 8-ми кнопок и пины 2-х осей. Просто на моем джойстике было куууча всего, там штук 5 или 6 осей и штук 10-15 кнопок. Вот какая-то из них видать называлась btn-trigger.

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

Re: EMC2 и Joystick

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

Nick писал(а):halcmd show

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

vitaliy@vitaliy-desktop:~$ halcmd show
Loaded HAL Components:
ID      Type  Name                                      PID   State
    11  User  halcmd1694                                 1694 ready
    10  User  axisui                                     1656 ready
     9  User  hal_input                                  1646 ready
     8  RT    stepgen                                         ready
     7  RT    hal_parport                                     ready
     6  RT    probe_parport                                   ready
     5  RT    motmod                                          ready
     4  RT    trivkins                                        ready
     3  User  iocontrol                                  1633 ready

Component Pins:
Owner   Type  Dir         Value  Name
     5  bit   OUT          TRUE  axis.0.active
     5  bit   OUT         FALSE  axis.0.amp-enable-out ==> xenable
     5  bit   IN          FALSE  axis.0.amp-fault-in
     5  float OUT             0  axis.0.backlash-corr
     5  float OUT             0  axis.0.backlash-filt
     5  float OUT             0  axis.0.backlash-vel
     5  float OUT             0  axis.0.coarse-pos-cmd
     5  bit   OUT         FALSE  axis.0.error
     5  float OUT             0  axis.0.f-error
     5  float OUT          0.25  axis.0.f-error-lim
     5  bit   OUT         FALSE  axis.0.f-errored
     5  bit   OUT         FALSE  axis.0.faulted
     5  float OUT             0  axis.0.free-pos-cmd
     5  bit   OUT         FALSE  axis.0.free-tp-enable
     5  float OUT             0  axis.0.free-vel-lim
     5  bit   IN          FALSE  axis.0.home-sw-in <== home-x
     5  bit   OUT         FALSE  axis.0.homed
     5  bit   OUT         FALSE  axis.0.homing
     5  bit   OUT          TRUE  axis.0.in-position
     5  bit   I/O         FALSE  axis.0.index-enable
     5  s32   IN              0  axis.0.jog-counts
     5  bit   IN          FALSE  axis.0.jog-enable
     5  float IN              0  axis.0.jog-scale
     5  bit   IN          FALSE  axis.0.jog-vel-mode
     5  float OUT             0  axis.0.joint-pos-cmd
     5  float OUT             0  axis.0.joint-pos-fb
     5  float OUT             0  axis.0.joint-vel-cmd
     5  bit   OUT         FALSE  axis.0.kb-jog-active
     5  float OUT             0  axis.0.motor-pos-cmd ==> xpos-cmd
     5  float IN              0  axis.0.motor-pos-fb <== xpos-fb
     5  bit   OUT         FALSE  axis.0.neg-hard-limit
     5  bit   IN          FALSE  axis.0.neg-lim-sw-in
     5  bit   OUT         FALSE  axis.0.pos-hard-limit
     5  bit   IN          FALSE  axis.0.pos-lim-sw-in
     5  bit   OUT         FALSE  axis.0.wheel-jog-active
     5  bit   OUT          TRUE  axis.1.active
     5  bit   OUT         FALSE  axis.1.amp-enable-out ==> yenable
     5  bit   IN          FALSE  axis.1.amp-fault-in
     5  float OUT             0  axis.1.backlash-corr
     5  float OUT             0  axis.1.backlash-filt
     5  float OUT             0  axis.1.backlash-vel
     5  float OUT             0  axis.1.coarse-pos-cmd
     5  bit   OUT         FALSE  axis.1.error
     5  float OUT             0  axis.1.f-error
     5  float OUT          0.25  axis.1.f-error-lim
     5  bit   OUT         FALSE  axis.1.f-errored
     5  bit   OUT         FALSE  axis.1.faulted
     5  float OUT             0  axis.1.free-pos-cmd
     5  bit   OUT         FALSE  axis.1.free-tp-enable
     5  float OUT             0  axis.1.free-vel-lim
     5  bit   IN          FALSE  axis.1.home-sw-in <== home-y
     5  bit   OUT         FALSE  axis.1.homed
     5  bit   OUT         FALSE  axis.1.homing
     5  bit   OUT          TRUE  axis.1.in-position
     5  bit   I/O         FALSE  axis.1.index-enable
     5  s32   IN              0  axis.1.jog-counts
     5  bit   IN          FALSE  axis.1.jog-enable
     5  float IN              0  axis.1.jog-scale
     5  bit   IN          FALSE  axis.1.jog-vel-mode
     5  float OUT             0  axis.1.joint-pos-cmd
     5  float OUT             0  axis.1.joint-pos-fb
     5  float OUT             0  axis.1.joint-vel-cmd
     5  bit   OUT         FALSE  axis.1.kb-jog-active
     5  float OUT             0  axis.1.motor-pos-cmd ==> ypos-cmd
     5  float IN              0  axis.1.motor-pos-fb <== ypos-fb
     5  bit   OUT         FALSE  axis.1.neg-hard-limit
     5  bit   IN          FALSE  axis.1.neg-lim-sw-in
     5  bit   OUT         FALSE  axis.1.pos-hard-limit
     5  bit   IN          FALSE  axis.1.pos-lim-sw-in
     5  bit   OUT         FALSE  axis.1.wheel-jog-active
     5  bit   OUT          TRUE  axis.2.active
     5  bit   OUT         FALSE  axis.2.amp-enable-out ==> zenable
     5  bit   IN          FALSE  axis.2.amp-fault-in
     5  float OUT             0  axis.2.backlash-corr
     5  float OUT             0  axis.2.backlash-filt
     5  float OUT             0  axis.2.backlash-vel
     5  float OUT             0  axis.2.coarse-pos-cmd
     5  bit   OUT         FALSE  axis.2.error
     5  float OUT             0  axis.2.f-error
     5  float OUT          0.25  axis.2.f-error-lim
     5  bit   OUT         FALSE  axis.2.f-errored
     5  bit   OUT         FALSE  axis.2.faulted
     5  float OUT             0  axis.2.free-pos-cmd
     5  bit   OUT         FALSE  axis.2.free-tp-enable
     5  float OUT             0  axis.2.free-vel-lim
     5  bit   IN          FALSE  axis.2.home-sw-in
     5  bit   OUT         FALSE  axis.2.homed
     5  bit   OUT         FALSE  axis.2.homing
     5  bit   OUT          TRUE  axis.2.in-position
     5  bit   I/O         FALSE  axis.2.index-enable
     5  s32   IN              0  axis.2.jog-counts
     5  bit   IN          FALSE  axis.2.jog-enable
     5  float IN              0  axis.2.jog-scale
     5  bit   IN          FALSE  axis.2.jog-vel-mode
     5  float OUT             0  axis.2.joint-pos-cmd
     5  float OUT             0  axis.2.joint-pos-fb
     5  float OUT             0  axis.2.joint-vel-cmd
     5  bit   OUT         FALSE  axis.2.kb-jog-active
     5  float OUT             0  axis.2.motor-pos-cmd ==> zpos-cmd
     5  float IN              0  axis.2.motor-pos-fb <== zpos-fb
     5  bit   OUT         FALSE  axis.2.neg-hard-limit
     5  bit   IN          FALSE  axis.2.neg-lim-sw-in
     5  bit   OUT         FALSE  axis.2.pos-hard-limit
     5  bit   IN          FALSE  axis.2.pos-lim-sw-in
     5  bit   OUT         FALSE  axis.2.wheel-jog-active
    10  bit   OUT         FALSE  axisui.jog.a
    10  bit   OUT         FALSE  axisui.jog.b
    10  bit   OUT         FALSE  axisui.jog.c
    10  float OUT             0  axisui.jog.increment
    10  bit   OUT         FALSE  axisui.jog.u
    10  bit   OUT         FALSE  axisui.jog.v
    10  bit   OUT         FALSE  axisui.jog.w
    10  bit   OUT          TRUE  axisui.jog.x
    10  bit   OUT         FALSE  axisui.jog.y
    10  bit   OUT         FALSE  axisui.jog.z
    10  bit   IN          FALSE  axisui.notifications-clear
    10  bit   IN          FALSE  axisui.notifications-clear-error
    10  bit   IN          FALSE  axisui.notifications-clear-info
    10  bit   IN          FALSE  axisui.set-manual-mode
     9  s32   OUT           127  input.0.abs-x-counts
     9  s32   IN             15  input.0.abs-x-flat
     9  s32   IN              0  input.0.abs-x-fuzz
     9  float IN          127.5  input.0.abs-x-offset
     9  float OUT  -0.003921569  input.0.abs-x-position
     9  float IN          127.5  input.0.abs-x-scale
     9  s32   OUT           127  input.0.abs-y-counts
     9  s32   IN             15  input.0.abs-y-flat
     9  s32   IN              0  input.0.abs-y-fuzz
     9  float IN          127.5  input.0.abs-y-offset
     9  float OUT  -0.003921569  input.0.abs-y-position
     9  float IN          127.5  input.0.abs-y-scale
     9  bit   OUT         FALSE  input.0.btn-base
     9  bit   OUT          TRUE  input.0.btn-base-not
     9  bit   OUT         FALSE  input.0.btn-base2
     9  bit   OUT          TRUE  input.0.btn-base2-not
     9  bit   OUT         FALSE  input.0.btn-joystick
     9  bit   OUT          TRUE  input.0.btn-joystick-not
     9  bit   OUT         FALSE  input.0.btn-pinkie
     9  bit   OUT          TRUE  input.0.btn-pinkie-not
     9  bit   OUT         FALSE  input.0.btn-thumb
     9  bit   OUT          TRUE  input.0.btn-thumb-not
     9  bit   OUT         FALSE  input.0.btn-thumb2
     9  bit   OUT          TRUE  input.0.btn-thumb2-not
     9  bit   OUT         FALSE  input.0.btn-top
     9  bit   OUT          TRUE  input.0.btn-top-not
     9  bit   OUT         FALSE  input.0.btn-top2
     9  bit   OUT          TRUE  input.0.btn-top2-not
     3  bit   OUT         FALSE  iocontrol.0.coolant-flood
     3  bit   OUT         FALSE  iocontrol.0.coolant-mist
     3  bit   IN           TRUE  iocontrol.0.emc-enable-in <== estop-ext
     3  bit   OUT         FALSE  iocontrol.0.lube
     3  bit   IN          FALSE  iocontrol.0.lube_level
     3  bit   OUT         FALSE  iocontrol.0.tool-change ==> tool-change-loopback
     3  bit   IN          FALSE  iocontrol.0.tool-changed <== tool-change-loopback
     3  s32   OUT             0  iocontrol.0.tool-number
     3  s32   OUT             0  iocontrol.0.tool-prep-number ==> tool-number
     3  s32   OUT             0  iocontrol.0.tool-prep-pocket
     3  bit   OUT         FALSE  iocontrol.0.tool-prepare ==> tool-prepare-loopback
     3  bit   IN          FALSE  iocontrol.0.tool-prepared <== tool-prepare-loopback
     3  bit   OUT         FALSE  iocontrol.0.user-enable-out ==> estop-out
     3  bit   OUT         FALSE  iocontrol.0.user-request-enable
     5  float IN              1  motion.adaptive-feed
     5  float IN              0  motion.analog-in-00
     5  float IN              0  motion.analog-in-01
     5  float IN              0  motion.analog-in-02
     5  float IN              0  motion.analog-in-03
     5  float OUT             0  motion.analog-out-00
     5  float OUT             0  motion.analog-out-01
     5  float OUT             0  motion.analog-out-02
     5  float OUT             0  motion.analog-out-03
     5  bit   OUT         FALSE  motion.coord-error
     5  bit   OUT          TRUE  motion.coord-mode
     5  float OUT             0  motion.current-vel
     5  bit   IN          FALSE  motion.digital-in-00
     5  bit   IN          FALSE  motion.digital-in-01
     5  bit   IN          FALSE  motion.digital-in-02
     5  bit   IN          FALSE  motion.digital-in-03
     5  bit   OUT         FALSE  motion.digital-out-00
     5  bit   OUT         FALSE  motion.digital-out-01
     5  bit   OUT         FALSE  motion.digital-out-02
     5  bit   OUT         FALSE  motion.digital-out-03
     5  float OUT             0  motion.distance-to-go
     5  bit   IN           TRUE  motion.enable
     5  bit   IN          FALSE  motion.feed-hold
     5  bit   OUT          TRUE  motion.in-position
     5  bit   IN          FALSE  motion.motion-enabled
     5  bit   OUT         FALSE  motion.on-soft-limit
     5  bit   IN          FALSE  motion.probe-input
     5  s32   OUT             0  motion.program-line
     5  float OUT             0  motion.requested-vel
     5  bit   IN           TRUE  motion.spindle-at-speed
     5  bit   OUT          TRUE  motion.spindle-brake
     5  bit   OUT         FALSE  motion.spindle-forward
     5  bit   I/O         FALSE  motion.spindle-index-enable
     5  bit   OUT         FALSE  motion.spindle-on
     5  bit   OUT         FALSE  motion.spindle-reverse
     5  float IN              0  motion.spindle-revs
     5  float IN              0  motion.spindle-speed-in
     5  float OUT             0  motion.spindle-speed-out ==> spindle-cmd
     5  float OUT             0  motion.spindle-speed-out-rps
     5  bit   OUT         FALSE  motion.teleop-mode
     5  float OUT             0  motion.tooloffset.a
     5  float OUT             0  motion.tooloffset.b
     5  float OUT             0  motion.tooloffset.c
     5  float OUT             0  motion.tooloffset.u
     5  float OUT             0  motion.tooloffset.v
     5  float OUT             0  motion.tooloffset.w
     5  float OUT             0  motion.tooloffset.x
     5  float OUT             0  motion.tooloffset.y
     5  float OUT             0  motion.tooloffset.z
     7  bit   IN          FALSE  parport.0.pin-01-out
     7  bit   IN          FALSE  parport.0.pin-02-out <== xstep
     7  bit   IN          FALSE  parport.0.pin-03-out <== xdir
     7  bit   IN          FALSE  parport.0.pin-04-out <== ystep
     7  bit   IN          FALSE  parport.0.pin-05-out <== ydir
     7  bit   IN          FALSE  parport.0.pin-06-out <== zstep
     7  bit   IN          FALSE  parport.0.pin-07-out <== zdir
     7  bit   IN          FALSE  parport.0.pin-08-out
     7  bit   IN          FALSE  parport.0.pin-09-out
     7  bit   OUT         FALSE  parport.0.pin-10-in ==> home-x
     7  bit   OUT          TRUE  parport.0.pin-10-in-not
     7  bit   OUT         FALSE  parport.0.pin-11-in ==> home-y
     7  bit   OUT          TRUE  parport.0.pin-11-in-not
     7  bit   OUT         FALSE  parport.0.pin-12-in
     7  bit   OUT          TRUE  parport.0.pin-12-in-not
     7  bit   OUT         FALSE  parport.0.pin-13-in
     7  bit   OUT          TRUE  parport.0.pin-13-in-not ==> estop-ext
     7  bit   IN          FALSE  parport.0.pin-14-out
     7  bit   OUT          TRUE  parport.0.pin-15-in
     7  bit   OUT         FALSE  parport.0.pin-15-in-not
     7  bit   IN          FALSE  parport.0.pin-16-out
     7  bit   IN          FALSE  parport.0.pin-17-out
     8  s32   OUT             0  stepgen.0.counts
     8  bit   OUT         FALSE  stepgen.0.dir ==> xdir
     8  bit   IN          FALSE  stepgen.0.enable <== xenable
     8  float IN              0  stepgen.0.position-cmd <== xpos-cmd
     8  float OUT             0  stepgen.0.position-fb ==> xpos-fb
     8  bit   OUT         FALSE  stepgen.0.step ==> xstep
     8  s32   OUT             0  stepgen.1.counts
     8  bit   OUT         FALSE  stepgen.1.dir ==> ydir
     8  bit   IN          FALSE  stepgen.1.enable <== yenable
     8  float IN              0  stepgen.1.position-cmd <== ypos-cmd
     8  float OUT             0  stepgen.1.position-fb ==> ypos-fb
     8  bit   OUT         FALSE  stepgen.1.step ==> ystep
     8  s32   OUT             0  stepgen.2.counts
     8  bit   OUT         FALSE  stepgen.2.dir ==> zdir
     8  bit   IN          FALSE  stepgen.2.enable <== zenable
     8  float IN              0  stepgen.2.position-cmd <== zpos-cmd
     8  float OUT             0  stepgen.2.position-fb ==> zpos-fb
     8  bit   OUT         FALSE  stepgen.2.step ==> zstep

Pin Aliases:
 Alias                                      Original Name

Signals:
Type          Value  Name     (linked to)
bit            TRUE  estop-ext
                         ==> iocontrol.0.emc-enable-in
                         <== parport.0.pin-13-in-not
bit           FALSE  estop-out
                         <== iocontrol.0.user-enable-out
bit           FALSE  home-x
                         ==> axis.0.home-sw-in
                         <== parport.0.pin-10-in
bit           FALSE  home-y
                         ==> axis.1.home-sw-in
                         <== parport.0.pin-11-in
float             0  spindle-cmd
                         <== motion.spindle-speed-out
bit           FALSE  tool-change-loopback
                         <== iocontrol.0.tool-change
                         ==> iocontrol.0.tool-changed
s32               0  tool-number
                         <== iocontrol.0.tool-prep-number
bit           FALSE  tool-prepare-loopback
                         <== iocontrol.0.tool-prepare
                         ==> iocontrol.0.tool-prepared
bit           FALSE  xdir
                         ==> parport.0.pin-03-out
                         <== stepgen.0.dir
bit           FALSE  xenable
                         <== axis.0.amp-enable-out
                         ==> stepgen.0.enable
float             0  xpos-cmd
                         <== axis.0.motor-pos-cmd
                         ==> stepgen.0.position-cmd
float             0  xpos-fb
                         ==> axis.0.motor-pos-fb
                         <== stepgen.0.position-fb
bit           FALSE  xstep
                         ==> parport.0.pin-02-out
                         <== stepgen.0.step
bit           FALSE  ydir
                         ==> parport.0.pin-05-out
                         <== stepgen.1.dir
bit           FALSE  yenable
                         <== axis.1.amp-enable-out
                         ==> stepgen.1.enable
float             0  ypos-cmd
                         <== axis.1.motor-pos-cmd
                         ==> stepgen.1.position-cmd
float             0  ypos-fb
                         ==> axis.1.motor-pos-fb
                         <== stepgen.1.position-fb
bit           FALSE  ystep
                         ==> parport.0.pin-04-out
                         <== stepgen.1.step
bit           FALSE  zdir
                         ==> parport.0.pin-07-out
                         <== stepgen.2.dir
bit           FALSE  zenable
                         <== axis.2.amp-enable-out
                         ==> stepgen.2.enable
float             0  zpos-cmd
                         <== axis.2.motor-pos-cmd
                         ==> stepgen.2.position-cmd
float             0  zpos-fb
                         ==> axis.2.motor-pos-fb
                         <== stepgen.2.position-fb
bit           FALSE  zstep
                         ==> parport.0.pin-06-out
                         <== stepgen.2.step

Parameters:
Owner   Type  Dir         Value  Name
     5  s32   RO              0  axis.0.home-state
     5  s32   RO              0  axis.1.home-state
     5  s32   RO              0  axis.2.home-state
     9  s32   RO            255  input.0.abs-x-max
     9  s32   RO              0  input.0.abs-x-min
     9  s32   RO            255  input.0.abs-y-max
     9  s32   RO              0  input.0.abs-y-min
     5  s32   RO           2556  motion-command-handler.time
     5  s32   RW          12492  motion-command-handler.tmax
     5  s32   RO          36251  motion-controller.time
     5  s32   RW          72269  motion-controller.tmax
     5  bit   RO          FALSE  motion.debug-bit-0
     5  bit   RO          FALSE  motion.debug-bit-1
     5  float RO              1  motion.debug-float-0
     5  float RO              0  motion.debug-float-1
     5  float RO              0  motion.debug-float-2
     5  float RO              1  motion.debug-float-3
     5  s32   RO              0  motion.debug-s32-0
     5  s32   RO              0  motion.debug-s32-1
     5  u32   RO     0x0021C58A  motion.servo.last-period
     5  float RO        1000994  motion.servo.last-period-ns
     5  u32   RW     0x00000001  motion.servo.overruns
     7  u32   RW     0x00000000  parport.0.debug1
     7  u32   RW     0x00000000  parport.0.debug2
     7  bit   RW          FALSE  parport.0.pin-01-out-invert
     7  bit   RW          FALSE  parport.0.pin-01-out-reset
     7  bit   RW           TRUE  parport.0.pin-02-out-invert
     7  bit   RW           TRUE  parport.0.pin-02-out-reset
     7  bit   RW          FALSE  parport.0.pin-03-out-invert
     7  bit   RW          FALSE  parport.0.pin-03-out-reset
     7  bit   RW           TRUE  parport.0.pin-04-out-invert
     7  bit   RW           TRUE  parport.0.pin-04-out-reset
     7  bit   RW           TRUE  parport.0.pin-05-out-invert
     7  bit   RW          FALSE  parport.0.pin-05-out-reset
     7  bit   RW          FALSE  parport.0.pin-06-out-invert
     7  bit   RW           TRUE  parport.0.pin-06-out-reset
     7  bit   RW          FALSE  parport.0.pin-07-out-invert
     7  bit   RW          FALSE  parport.0.pin-07-out-reset
     7  bit   RW          FALSE  parport.0.pin-08-out-invert
     7  bit   RW          FALSE  parport.0.pin-08-out-reset
     7  bit   RW          FALSE  parport.0.pin-09-out-invert
     7  bit   RW          FALSE  parport.0.pin-09-out-reset
     7  bit   RW          FALSE  parport.0.pin-14-out-invert
     7  bit   RW          FALSE  parport.0.pin-14-out-reset
     7  bit   RW          FALSE  parport.0.pin-16-out-invert
     7  bit   RW          FALSE  parport.0.pin-16-out-reset
     7  bit   RW          FALSE  parport.0.pin-17-out-invert
     7  bit   RW          FALSE  parport.0.pin-17-out-reset
     7  s32   RO           2896  parport.0.read.time
     7  s32   RW          14450  parport.0.read.tmax
     7  u32   RW     0x000001F4  parport.0.reset-time
     7  s32   RO            152  parport.0.reset.time
     7  s32   RW           9581  parport.0.reset.tmax
     7  s32   RO           5088  parport.0.write.time
     7  s32   RW          16275  parport.0.write.tmax
     7  s32   RO              0  parport.read-all.time
     7  s32   RW              0  parport.read-all.tmax
     7  s32   RO              0  parport.write-all.time
     7  s32   RW              0  parport.write-all.tmax
     8  u32   RW     0x0001867E  stepgen.0.dirhold
     8  u32   RW     0x0001867E  stepgen.0.dirsetup
     8  float RO              0  stepgen.0.frequency
     8  float RW            375  stepgen.0.maxaccel
     8  float RW              0  stepgen.0.maxvel
     8  float RW           5.28  stepgen.0.position-scale
     8  s32   RO              0  stepgen.0.rawcounts
     8  u32   RW     0x0001867E  stepgen.0.steplen
     8  u32   RW     0x00000000  stepgen.0.stepspace
     8  u32   RW     0x0001867E  stepgen.1.dirhold
     8  u32   RW     0x0001867E  stepgen.1.dirsetup
     8  float RO              0  stepgen.1.frequency
     8  float RW            375  stepgen.1.maxaccel
     8  float RW              0  stepgen.1.maxvel
     8  float RW           5.28  stepgen.1.position-scale
     8  s32   RO              0  stepgen.1.rawcounts
     8  u32   RW     0x0001867E  stepgen.1.steplen
     8  u32   RW     0x00000000  stepgen.1.stepspace
     8  u32   RW     0x0001867E  stepgen.2.dirhold
     8  u32   RW     0x0001867E  stepgen.2.dirsetup
     8  float RO              0  stepgen.2.frequency
     8  float RW         378.75  stepgen.2.maxaccel
     8  float RW              0  stepgen.2.maxvel
     8  float RW            100  stepgen.2.position-scale
     8  s32   RO              0  stepgen.2.rawcounts
     8  u32   RW     0x0001867E  stepgen.2.steplen
     8  u32   RW     0x00000000  stepgen.2.stepspace
     8  s32   RO            799  stepgen.capture-position.time
     8  s32   RW           8651  stepgen.capture-position.tmax
     8  s32   RO            621  stepgen.make-pulses.time
     8  s32   RW          10289  stepgen.make-pulses.tmax
     8  s32   RO            903  stepgen.update-freq.time
     8  s32   RW          11804  stepgen.update-freq.tmax
     5  float RO              0  tc.0.acc
     5  float RO              0  tc.0.pos
     5  float RO              0  tc.0.vel
     5  float RO              0  tc.1.acc
     5  float RO              0  tc.1.pos
     5  float RO              0  tc.1.vel
     5  float RO              0  tc.2.acc
     5  float RO              0  tc.2.pos
     5  float RO              0  tc.2.vel
     5  float RO              0  tc.3.acc
     5  float RO              0  tc.3.pos
     5  float RO              0  tc.3.vel
     5  u32   RO     0x00000000  traj.active_tc
     5  float RO              0  traj.pos_out
     5  float RO              0  traj.vel_out

Parameter Aliases:
 Alias                                      Original Name

Exported Functions:
Owner   CodeAddr  Arg       FP   Users  Name
 00005  f85c08d0  00000000  YES      1   motion-command-handler
 00005  f85c2d9e  00000000  YES      1   motion-controller
 00007  f8774000  f8558a18  NO       1   parport.0.read
 00007  f8774219  f8558a18  NO       1   parport.0.reset
 00007  f87742fa  f8558a18  NO       1   parport.0.write
 00007  f87740ac  f8558a18  NO       0   parport.read-all
 00007  f8774488  f8558a18  NO       0   parport.write-all
 00008  f878020f  f8558b38  YES      1   stepgen.capture-position
 00008  f8780000  f8558b38  NO       1   stepgen.make-pulses
 00008  f8780307  f8558b38  YES      1   stepgen.update-freq

Realtime Threads:
     Period  FP     Name               (     Time, Max-Time )
     999660  YES          servo-thread (    10687,    84258 )
                  1 stepgen.capture-position
                  2 motion-command-handler
                  3 motion-controller
                  4 stepgen.update-freq
      99966  NO            base-thread (     8319,    20162 )
                  1 parport.0.read
                  2 stepgen.make-pulses
                  3 parport.0.write
                  4 parport.0.reset

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

Re: EMC2 и Joystick

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

как понять где что :thinking:
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

Это оси:

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

     9  s32   OUT           127  input.0.abs-x-counts
     9  s32   IN             15  input.0.abs-x-flat
     9  s32   IN              0  input.0.abs-x-fuzz
     9  float IN          127.5  input.0.abs-x-offset
     9  float OUT  -0.003921569  input.0.abs-x-position
     9  float IN          127.5  input.0.abs-x-scale
     9  s32   OUT           127  input.0.abs-y-counts
     9  s32   IN             15  input.0.abs-y-flat
     9  s32   IN              0  input.0.abs-y-fuzz
     9  float IN          127.5  input.0.abs-y-offset
     9  float OUT  -0.003921569  input.0.abs-y-position
     9  float IN          127.5  input.0.abs-y-scale
Это кнопки:

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

     9  bit   OUT         FALSE  input.0.btn-base
     9  bit   OUT          TRUE  input.0.btn-base-not
     9  bit   OUT         FALSE  input.0.btn-base2
     9  bit   OUT          TRUE  input.0.btn-base2-not
     9  bit   OUT         FALSE  input.0.btn-joystick
     9  bit   OUT          TRUE  input.0.btn-joystick-not
     9  bit   OUT         FALSE  input.0.btn-pinkie
     9  bit   OUT          TRUE  input.0.btn-pinkie-not
     9  bit   OUT         FALSE  input.0.btn-thumb
     9  bit   OUT          TRUE  input.0.btn-thumb-not
     9  bit   OUT         FALSE  input.0.btn-thumb2
     9  bit   OUT          TRUE  input.0.btn-thumb2-not
     9  bit   OUT         FALSE  input.0.btn-top
     9  bit   OUT          TRUE  input.0.btn-top-not
     9  bit   OUT         FALSE  input.0.btn-top2
     9  bit   OUT          TRUE  input.0.btn-top2-not
Вот их и пропиши в хал-можно по аналогии с:
(для просмотра содержимого нажмите на ссылку)

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

loadusr -W hal_input -KRAL Logitech 

# включаем управление от джойстика
net joystick_enable <= input.0.btn-trigger => axis.0.jog-enable
net joystick_enable => axis.1.jog-enable
net joystick_enable => axis.2.jog-enable

# устанавливаем режим скорости
setp axis.0.jog-vel-mode 1
setp axis.1.jog-vel-mode 1
setp axis.2.jog-vel-mode 1

# подсоединяем оси джойстика к осям станка
net X_jog_count <= input.0.abs-x-counts => axis.0.jog-counts 
net Y_jog_count <= input.0.abs-y-counts => axis.1.jog-counts 
net Z_jog_count <= input.0.abs-rz-counts => axis.2.jog-counts

# устанавливаем скорость
net jog_scale <= input.0.abs-throttle-position => axis.0.jog-scale
net jog_scale => axis.1.jog-scale
net jog_scale => axis.2.jog-scale
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

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

не это я пока не осилю,нужен пример с описанием что мол это так ,а это вот тут
(это не лень ,а простое непинимание) хотя попытка не пытка

loadusr -W hal_input -KRAL 2-Axis,8-Button

net joystick_enable <= input.0.btn-base => axis.x.jog-enable
net joystick_enable => axis.y.jog-enable

setp axis.x.jog-vel-mode 1
setp axis.y.jog-vel-mode 1

net X_jog_count <= input.0.abs-x-counts => axis.x.jog-counts
net Y_jog_count <= input.0.abs-y-counts => axis.y.jog-counts

net jog_scale <= input.0.abs-throttle-position => axis.x.jog-scale
net jog_scale => axis.y.jog-scale
Последний раз редактировалось Виталий 01 июн 2012, 20:25, всего редактировалось 1 раз.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

Я бы сразу пример написал-но еще не сталкивался с джойстиками-и проверить практически сам не могу.
Попробуй так:

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

net joystick_enable <= input.0.btn-base => axis.0.jog-enable
net joystick_enable => axis.1.jog-enable


setp axis.0.jog-vel-mode 1
setp axis.1.jog-vel-mode 1


net X_jog_count <= input.0.abs-x-counts => axis.0.jog-counts 
net Y_jog_count <= input.0.abs-y-counts => axis.1.jog-counts 


net jog_scale input.0.abs-x-position => axis.0.jog-scale
net jog_scale1 input.0.abs-y-position => axis.1.jog-scale
Если нет-Ник точно напишет!
Последний раз редактировалось nkp 01 июн 2012, 21:54, всего редактировалось 1 раз.
Виталий
Мастер
Сообщения: 223
Зарегистрирован: 26 янв 2012, 20:30
Репутация: 1
Откуда: Полтава
Контактная информация:

Re: EMC2 и Joystick

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

nkp писал(а):input.0.abs-position
ругается на это
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

сорри :

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

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

Re: EMC2 и Joystick

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

емс это проглотил,но сдвинуть ни одну ось не удалось
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

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

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

Re: EMC2 и Joystick

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

да вы правы
движение есть но не коректное
только х+ (- нет)
тольно у+(-нет)
движение якобы вперед ,назад не могу
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

Пока рецепта точного нет-открой все пины input:
Выделение_120.png (2812 просмотров) <a class='original' href='./download/file.php?id=5634&sid=5b2a66845bf60c28f57d6fd2461402d7&mode=view' target=_blank>Загрузить оригинал (43.7 КБ)</a>
(у меня их нет-поэтому другие на скрине)
И смотри на изменения в динамике-input.0.abs-x-position и input.0.abs-y-position
меняет знак при движ в противопол направлениях?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

...да-попробуй :

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

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

Re: EMC2 и Joystick

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

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

Re: EMC2 и Joystick

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

nkp писал(а):...да-попробуй :

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

setp axis.0.jog-vel-mode 0
setp axis.1.jog-vel-mode 0
без результата
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

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

Re: EMC2 и Joystick

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

nkp писал(а):а как меняется axis.0.jog-scale там же ?
в установках хал? c - на +
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2 и Joystick

Сообщение nkp »

Вот можно так еще:

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

 net joy-x-jog halui.jog.0.analog <= input.0.abs-x-position 
 net joy-y-jog halui.jog.1.analog <= input.0.abs-y-position 
вместо:

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

net jog_scale <= input.0.abs-x-position => axis.0.jog-scale
net jog_scale => axis.1.jog-scale
при:

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

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

Re: EMC2 и Joystick

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

nkp писал(а):Вот можно так еще:

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

 net joy-x-jog halui.jog.0.analog <= input.0.abs-x-position 
 net joy-y-jog halui.jog.1.analog <= input.0.abs-y-position 
вместо:

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

net jog_scale <= input.0.abs-x-position => axis.0.jog-scale
net jog_scale => axis.1.jog-scale
при:

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

setp axis.0.jog-vel-mode1
setp axis.1.jog-vel-mode 1
емс не стартует
Ответить

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