LinuxCNC на BeagleBone black

Контроллеры, драйверы, датчики, управляющие устройства.
Аватара пользователя
boyan
Новичок
Сообщения: 15
Зарегистрирован: 19 июл 2012, 16:20
Репутация: 5
Откуда: България
Контактная информация:

Re: LinuxCNC на BeagleBone black

Сообщение boyan »

Нашел : в BB-LCD.ini надо поменят pru=0 с pru=1

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

CONFIG=prucode=/home/machinekit/linuxcnc/rtlib/xenomai/pru_generic.bin pru=0 num_stepgens=4 num_pwmgens=3

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

CONFIG=prucode=/home/machinekit/linuxcnc/rtlib/xenomai/pru_generic.bin pru=1 num_stepgens=4 num_pwmgens=3
:D
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: LinuxCNC на BeagleBone black

Сообщение Nick »

покажи свой последний конфиг.

И еще выполни при запущеном LinuxCNC в консоле
halcmd show >1.txt
и пришли содержимое файла 1.txt, интересно посмотреть какие там есть пины.
Аватара пользователя
boyan
Новичок
Сообщения: 15
Зарегистрирован: 19 июл 2012, 16:20
Репутация: 5
Откуда: България
Контактная информация:

Re: LinuxCNC на BeagleBone black

Сообщение boyan »

Nick писал(а):покажи свой последний конфиг.

И еще выполни при запущеном LinuxCNC в консоле
halcmd show >1.txt
и пришли содержимое файла 1.txt, интересно посмотреть какие там есть пины.
Спасиба ,вот что получилос:

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

Loaded HAL Components:
ID      Type  Name                                      PID   State
    68  User  halcmd2100                                 2100 ready
    40  User  halcmd2041                                 2041 ready
    36  User  axisui                                     1998 ready
    34  User  inihal                                     1997 ready
    30  RT    edge                                            ready
    28  RT    encoder                                         ready
    26  RT    pwmgen                                          ready
    22  RT    hal_pru_generic                                 ready
    20  RT    hal_bb_gpio                                     ready
    18  RT    motmod                                          ready
    16  RT    trivkins                                        ready
    10  User  halui                                      1873 ready
     5  User  iocontrol                                  1871 ready

Component Pins:
Owner   Type  Dir         Value  Name	Epsilon		Flags
    18  bit   OUT          TRUE  axis.0.active	0.000000	0
    18  bit   OUT          TRUE  axis.0.amp-enable-out	0.000000	0 ==> emcmot.00.enable
    18  bit   IN          FALSE  axis.0.amp-fault-in	0.000000	0
    18  float OUT             0  axis.0.backlash-corr	0.000000	0
    18  float OUT             0  axis.0.backlash-filt	0.000000	0
    18  float OUT             0  axis.0.backlash-vel	0.000000	0
    18  float OUT             0  axis.0.coarse-pos-cmd	0.000000	0
    18  bit   OUT         FALSE  axis.0.error	0.000000	0
    18  float OUT             0  axis.0.f-error	0.000000	0
    18  float OUT          0.25  axis.0.f-error-lim	0.000000	0
    18  bit   OUT         FALSE  axis.0.f-errored	0.000000	0
    18  bit   OUT         FALSE  axis.0.faulted	0.000000	0
    18  float OUT             0  axis.0.free-pos-cmd	0.000000	0
    18  bit   OUT         FALSE  axis.0.free-tp-enable	0.000000	0
    18  float OUT            19  axis.0.free-vel-lim	0.000000	0
    18  s32   OUT             0  axis.0.home-state	0.000000	0
    18  bit   IN          FALSE  axis.0.home-sw-in	0.000000	0
    18  bit   OUT          TRUE  axis.0.homed	0.000000	0
    18  bit   OUT         FALSE  axis.0.homing	0.000000	0
    18  bit   OUT          TRUE  axis.0.in-position	0.000000	0
    18  bit   I/O         FALSE  axis.0.index-enable	0.000000	0
    18  s32   IN              0  axis.0.jog-counts	0.000000	0
    18  bit   IN          FALSE  axis.0.jog-enable	0.000000	0
    18  float IN              0  axis.0.jog-scale	0.000000	0
    18  bit   IN          FALSE  axis.0.jog-vel-mode	0.000000	0
    18  float OUT             0  axis.0.joint-pos-cmd	0.000000	0
    18  float OUT             0  axis.0.joint-pos-fb	0.000000	0
    18  float OUT             0  axis.0.joint-vel-cmd	0.000000	0
    18  bit   OUT         FALSE  axis.0.kb-jog-active	0.000000	0
    18  float OUT             0  axis.0.motor-offset	0.000000	0
    18  float OUT             0  axis.0.motor-pos-cmd	0.000000	0 ==> emcmot.00.pos-cmd
    18  float IN              0  axis.0.motor-pos-fb	0.000000	0 <== motor.00.pos-fb
    18  bit   OUT         FALSE  axis.0.neg-hard-limit	0.000000	0
    18  bit   IN          FALSE  axis.0.neg-lim-sw-in	0.000000	0
    18  bit   OUT         FALSE  axis.0.pos-hard-limit	0.000000	0
    18  bit   IN          FALSE  axis.0.pos-lim-sw-in	0.000000	0
    18  bit   OUT         FALSE  axis.0.wheel-jog-active	0.000000	0
    18  bit   OUT          TRUE  axis.1.active	0.000000	0
    18  bit   OUT          TRUE  axis.1.amp-enable-out	0.000000	0
    18  bit   IN          FALSE  axis.1.amp-fault-in	0.000000	0
    18  float OUT             0  axis.1.backlash-corr	0.000000	0
    18  float OUT             0  axis.1.backlash-filt	0.000000	0
    18  float OUT             0  axis.1.backlash-vel	0.000000	0
    18  float OUT             0  axis.1.coarse-pos-cmd	0.000000	0
    18  bit   OUT         FALSE  axis.1.error	0.000000	0
    18  float OUT             0  axis.1.f-error	0.000000	0
    18  float OUT             1  axis.1.f-error-lim	0.000000	0
    18  bit   OUT         FALSE  axis.1.f-errored	0.000000	0
    18  bit   OUT         FALSE  axis.1.faulted	0.000000	0
    18  float OUT             0  axis.1.free-pos-cmd	0.000000	0
    18  bit   OUT         FALSE  axis.1.free-tp-enable	0.000000	0
    18  float OUT             0  axis.1.free-vel-lim	0.000000	0
    18  s32   OUT             0  axis.1.home-state	0.000000	0
    18  bit   IN          FALSE  axis.1.home-sw-in	0.000000	0
    18  bit   OUT         FALSE  axis.1.homed	0.000000	0
    18  bit   OUT         FALSE  axis.1.homing	0.000000	0
    18  bit   OUT          TRUE  axis.1.in-position	0.000000	0
    18  bit   I/O         FALSE  axis.1.index-enable	0.000000	0
    18  s32   IN              0  axis.1.jog-counts	0.000000	0
    18  bit   IN          FALSE  axis.1.jog-enable	0.000000	0
    18  float IN              0  axis.1.jog-scale	0.000000	0
    18  bit   IN          FALSE  axis.1.jog-vel-mode	0.000000	0
    18  float OUT             0  axis.1.joint-pos-cmd	0.000000	0
    18  float OUT             0  axis.1.joint-pos-fb	0.000000	0
    18  float OUT             0  axis.1.joint-vel-cmd	0.000000	0
    18  bit   OUT         FALSE  axis.1.kb-jog-active	0.000000	0
    18  float OUT             0  axis.1.motor-offset	0.000000	0
    18  float OUT             0  axis.1.motor-pos-cmd	0.000000	0
    18  float IN              0  axis.1.motor-pos-fb	0.000000	0
    18  bit   OUT         FALSE  axis.1.neg-hard-limit	0.000000	0
    18  bit   IN          FALSE  axis.1.neg-lim-sw-in	0.000000	0
    18  bit   OUT         FALSE  axis.1.pos-hard-limit	0.000000	0
    18  bit   IN          FALSE  axis.1.pos-lim-sw-in	0.000000	0
    18  bit   OUT         FALSE  axis.1.wheel-jog-active	0.000000	0
    18  bit   OUT          TRUE  axis.2.active	0.000000	0
    18  bit   OUT          TRUE  axis.2.amp-enable-out	0.000000	0 ==> emcmot.02.enable
    18  bit   IN          FALSE  axis.2.amp-fault-in	0.000000	0
    18  float OUT             0  axis.2.backlash-corr	0.000000	0
    18  float OUT             0  axis.2.backlash-filt	0.000000	0
    18  float OUT             0  axis.2.backlash-vel	0.000000	0
    18  float OUT             0  axis.2.coarse-pos-cmd	0.000000	0
    18  bit   OUT         FALSE  axis.2.error	0.000000	0
    18  float OUT             0  axis.2.f-error	0.000000	0
    18  float OUT          0.25  axis.2.f-error-lim	0.000000	0
    18  bit   OUT         FALSE  axis.2.f-errored	0.000000	0
    18  bit   OUT         FALSE  axis.2.faulted	0.000000	0
    18  float OUT             0  axis.2.free-pos-cmd	0.000000	0
    18  bit   OUT         FALSE  axis.2.free-tp-enable	0.000000	0
    18  float OUT            19  axis.2.free-vel-lim	0.000000	0
    18  s32   OUT             0  axis.2.home-state	0.000000	0
    18  bit   IN          FALSE  axis.2.home-sw-in	0.000000	0
    18  bit   OUT          TRUE  axis.2.homed	0.000000	0
    18  bit   OUT         FALSE  axis.2.homing	0.000000	0
    18  bit   OUT          TRUE  axis.2.in-position	0.000000	0
    18  bit   I/O         FALSE  axis.2.index-enable	0.000000	0
    18  s32   IN              0  axis.2.jog-counts	0.000000	0
    18  bit   IN          FALSE  axis.2.jog-enable	0.000000	0
    18  float IN              0  axis.2.jog-scale	0.000000	0
    18  bit   IN          FALSE  axis.2.jog-vel-mode	0.000000	0
    18  float OUT             0  axis.2.joint-pos-cmd	0.000000	0
    18  float OUT             0  axis.2.joint-pos-fb	0.000000	0
    18  float OUT             0  axis.2.joint-vel-cmd	0.000000	0
    18  bit   OUT         FALSE  axis.2.kb-jog-active	0.000000	0
    18  float OUT             0  axis.2.motor-offset	0.000000	0
    18  float OUT             0  axis.2.motor-pos-cmd	0.000000	0 ==> emcmot.02.pos-cmd
    18  float IN              0  axis.2.motor-pos-fb	0.000000	0 <== motor.02.pos-fb
    18  bit   OUT         FALSE  axis.2.neg-hard-limit	0.000000	0
    18  bit   IN          FALSE  axis.2.neg-lim-sw-in	0.000000	0
    18  bit   OUT         FALSE  axis.2.pos-hard-limit	0.000000	0
    18  bit   IN          FALSE  axis.2.pos-lim-sw-in	0.000000	0
    18  bit   OUT         FALSE  axis.2.wheel-jog-active	0.000000	0
    36  bit   OUT         FALSE  axisui.jog.a	0.000000	0
    36  bit   OUT         FALSE  axisui.jog.b	0.000000	0
    36  bit   OUT         FALSE  axisui.jog.c	0.000000	0
    36  float OUT             0  axisui.jog.increment	0.000000	0
    36  bit   OUT         FALSE  axisui.jog.u	0.000000	0
    36  bit   OUT         FALSE  axisui.jog.v	0.000000	0
    36  bit   OUT         FALSE  axisui.jog.w	0.000000	0
    36  bit   OUT         FALSE  axisui.jog.x	0.000000	0
    36  bit   OUT         FALSE  axisui.jog.y	0.000000	0
    36  bit   OUT          TRUE  axisui.jog.z	0.000000	0
    36  bit   IN          FALSE  axisui.notifications-clear	0.000000	0
    36  bit   IN          FALSE  axisui.notifications-clear-error	0.000000	0
    36  bit   IN          FALSE  axisui.notifications-clear-info	0.000000	0
    20  bit   IN           TRUE  bb_gpio.p9.out-11	0.000000	0 <== emcmot.00.enable
    30  bit   IN          FALSE  edge.0.in	0.000000	0 <== run-timer
    30  bit   OUT         FALSE  edge.0.out	0.000000	0 ==> timer-reset
    30  bit   OUT          TRUE  edge.0.out-invert	0.000000	0
    28  bit   I/O          TRUE  encoder.0.counter-mode	0.000000	0
    28  s32   OUT             0  encoder.0.counts	0.000000	0
    28  s32   OUT             0  encoder.0.counts-latched	0.000000	0
    28  bit   I/O         FALSE  encoder.0.index-enable	0.000000	0
    28  bit   IN           TRUE  encoder.0.latch-falling	0.000000	0
    28  bit   IN          FALSE  encoder.0.latch-input	0.000000	0
    28  bit   IN           TRUE  encoder.0.latch-rising	0.000000	0
    28  float IN              1  encoder.0.min-speed-estimate	0.000000	0
    28  bit   IN          FALSE  encoder.0.phase-A	0.000000	0 <== OneHzPulse
    28  bit   IN          FALSE  encoder.0.phase-B	0.000000	0
    28  bit   IN          FALSE  encoder.0.phase-Z	0.000000	0
    28  float OUT             0  encoder.0.position	0.000000	0 ==> timer-display
    28  float OUT             0  encoder.0.position-interpolated	0.000000	0
    28  float OUT             0  encoder.0.position-latched	0.000000	0
    28  float I/O             1  encoder.0.position-scale	0.000000	0
    28  s32   OUT             0  encoder.0.rawcounts	0.000000	0
    28  bit   IN          FALSE  encoder.0.reset	0.000000	0 <== timer-reset
    28  float OUT             0  encoder.0.velocity	0.000000	0
    28  bit   I/O          TRUE  encoder.0.x4-mode	0.000000	0
    22  bit   IN          FALSE  hal_pru_generic.pwmgen.00.out.00.enable	0.000000	0
    22  float IN              0  hal_pru_generic.pwmgen.00.out.00.value	0.000000	0
    22  bit   IN          FALSE  hal_pru_generic.pwmgen.00.out.01.enable	0.000000	0
    22  float IN              0  hal_pru_generic.pwmgen.00.out.01.value	0.000000	0
    22  bit   IN          FALSE  hal_pru_generic.pwmgen.00.out.02.enable	0.000000	0
    22  float IN              0  hal_pru_generic.pwmgen.00.out.02.value	0.000000	0
    22  bit   IN          FALSE  hal_pru_generic.stepgen.00.control-type	0.000000	0
    22  s32   OUT             0  hal_pru_generic.stepgen.00.counts	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.00.dbg_err_at_mat	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.00.dbg_ff_vel	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.00.dbg_pos_minus_	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.00.dbg_s_to_match	0.000000	0
    22  s32   OUT             0  hal_pru_generic.stepgen.00.dbg_step_rate	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.00.dbg_vel_error	0.000000	0
    22  bit   IN           TRUE  hal_pru_generic.stepgen.00.enable	0.000000	0 <== emcmot.00.enable
    22  float IN              0  hal_pru_generic.stepgen.00.position-cmd	0.000000	0 <== emcmot.00.pos-cmd
    22  float OUT             0  hal_pru_generic.stepgen.00.position-fb	0.000000	0 ==> motor.00.pos-fb
    22  s32   OUT             0  hal_pru_generic.stepgen.00.test1	0.000000	0
    22  s32   OUT             0  hal_pru_generic.stepgen.00.test2	0.000000	0
    22  s32   OUT             0  hal_pru_generic.stepgen.00.test3	0.000000	0
    22  float IN              0  hal_pru_generic.stepgen.00.velocity-cmd	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.00.velocity-fb	0.000000	0
    22  bit   IN          FALSE  hal_pru_generic.stepgen.01.control-type	0.000000	0
    22  s32   OUT             0  hal_pru_generic.stepgen.01.counts	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.01.dbg_err_at_mat	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.01.dbg_ff_vel	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.01.dbg_pos_minus_	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.01.dbg_s_to_match	0.000000	0
    22  s32   OUT             0  hal_pru_generic.stepgen.01.dbg_step_rate	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.01.dbg_vel_error	0.000000	0
    22  bit   IN          FALSE  hal_pru_generic.stepgen.01.enable	0.000000	0
    22  float IN              0  hal_pru_generic.stepgen.01.position-cmd	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.01.position-fb	0.000000	0
    22  s32   OUT             0  hal_pru_generic.stepgen.01.test1	0.000000	0
    22  s32   OUT             0  hal_pru_generic.stepgen.01.test2	0.000000	0
    22  s32   OUT             0  hal_pru_generic.stepgen.01.test3	0.000000	0
    22  float IN              0  hal_pru_generic.stepgen.01.velocity-cmd	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.01.velocity-fb	0.000000	0
    22  bit   IN          FALSE  hal_pru_generic.stepgen.02.control-type	0.000000	0
    22  s32   OUT             0  hal_pru_generic.stepgen.02.counts	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.02.dbg_err_at_mat	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.02.dbg_ff_vel	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.02.dbg_pos_minus_	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.02.dbg_s_to_match	0.000000	0
    22  s32   OUT             0  hal_pru_generic.stepgen.02.dbg_step_rate	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.02.dbg_vel_error	0.000000	0
    22  bit   IN           TRUE  hal_pru_generic.stepgen.02.enable	0.000000	0 <== emcmot.02.enable
    22  float IN              0  hal_pru_generic.stepgen.02.position-cmd	0.000000	0 <== emcmot.02.pos-cmd
    22  float OUT             0  hal_pru_generic.stepgen.02.position-fb	0.000000	0 ==> motor.02.pos-fb
    22  s32   OUT             0  hal_pru_generic.stepgen.02.test1	0.000000	0
    22  s32   OUT             0  hal_pru_generic.stepgen.02.test2	0.000000	0
    22  s32   OUT             0  hal_pru_generic.stepgen.02.test3	0.000000	0
    22  float IN              0  hal_pru_generic.stepgen.02.velocity-cmd	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.02.velocity-fb	0.000000	0
    22  bit   IN          FALSE  hal_pru_generic.stepgen.03.control-type	0.000000	0
    22  s32   OUT             0  hal_pru_generic.stepgen.03.counts	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.03.dbg_err_at_mat	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.03.dbg_ff_vel	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.03.dbg_pos_minus_	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.03.dbg_s_to_match	0.000000	0
    22  s32   OUT             0  hal_pru_generic.stepgen.03.dbg_step_rate	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.03.dbg_vel_error	0.000000	0
    22  bit   IN          FALSE  hal_pru_generic.stepgen.03.enable	0.000000	0
    22  float IN              0  hal_pru_generic.stepgen.03.position-cmd	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.03.position-fb	0.000000	0
    22  s32   OUT             0  hal_pru_generic.stepgen.03.test1	0.000000	0
    22  s32   OUT             0  hal_pru_generic.stepgen.03.test2	0.000000	0
    22  s32   OUT             0  hal_pru_generic.stepgen.03.test3	0.000000	0
    22  float IN              0  hal_pru_generic.stepgen.03.velocity-cmd	0.000000	0
    22  float OUT             0  hal_pru_generic.stepgen.03.velocity-fb	0.000000	0
    10  bit   IN          FALSE  halui.abort	0.000000	0
    10  float OUT             0  halui.axis.0.pos-commanded	0.000000	0
    10  float OUT             0  halui.axis.0.pos-feedback	0.000000	0
    10  float OUT             0  halui.axis.0.pos-relative	0.000000	0
    10  float OUT             0  halui.axis.1.pos-commanded	0.000000	0
    10  float OUT             0  halui.axis.1.pos-feedback	0.000000	0
    10  float OUT             0  halui.axis.1.pos-relative	0.000000	0
    10  float OUT             0  halui.axis.2.pos-commanded	0.000000	0
    10  float OUT             0  halui.axis.2.pos-feedback	0.000000	0
    10  float OUT             0  halui.axis.2.pos-relative	0.000000	0
    10  float OUT             0  halui.axis.3.pos-commanded	0.000000	0
    10  float OUT             0  halui.axis.3.pos-feedback	0.000000	0
    10  float OUT             0  halui.axis.3.pos-relative	0.000000	0
    10  float OUT             0  halui.axis.4.pos-commanded	0.000000	0
    10  float OUT             0  halui.axis.4.pos-feedback	0.000000	0
    10  float OUT             0  halui.axis.4.pos-relative	0.000000	0
    10  float OUT             0  halui.axis.5.pos-commanded	0.000000	0
    10  float OUT             0  halui.axis.5.pos-feedback	0.000000	0
    10  float OUT             0  halui.axis.5.pos-relative	0.000000	0
    10  float OUT             0  halui.axis.6.pos-commanded	0.000000	0
    10  float OUT             0  halui.axis.6.pos-feedback	0.000000	0
    10  float OUT             0  halui.axis.6.pos-relative	0.000000	0
    10  float OUT             0  halui.axis.7.pos-commanded	0.000000	0
    10  float OUT             0  halui.axis.7.pos-feedback	0.000000	0
    10  float OUT             0  halui.axis.7.pos-relative	0.000000	0
    10  float OUT             0  halui.axis.8.pos-commanded	0.000000	0
    10  float OUT             0  halui.axis.8.pos-feedback	0.000000	0
    10  float OUT             0  halui.axis.8.pos-relative	0.000000	0
    10  bit   IN          FALSE  halui.estop.activate	0.000000	0
    10  bit   OUT         FALSE  halui.estop.is-activated	0.000000	0
    10  bit   IN          FALSE  halui.estop.reset	0.000000	0
    10  bit   IN           TRUE  halui.feed-override.count-enable	0.000000	0
    10  s32   IN              0  halui.feed-override.counts	0.000000	0
    10  bit   IN          FALSE  halui.feed-override.decrease	0.000000	0
    10  bit   IN          FALSE  halui.feed-override.direct-value	0.000000	0
    10  bit   IN          FALSE  halui.feed-override.increase	0.000000	0
    10  float IN            0.1  halui.feed-override.scale	0.000000	0
    10  float OUT             1  halui.feed-override.value	0.000000	0
    10  bit   OUT         FALSE  halui.flood.is-on	0.000000	0
    10  bit   IN          FALSE  halui.flood.off	0.000000	0
    10  bit   IN          FALSE  halui.flood.on	0.000000	0
    10  float IN            0.2  halui.jog-deadband	0.000000	0
    10  float IN              0  halui.jog-speed	0.000000	0
    10  float IN              0  halui.jog.0.analog	0.000000	0
    10  float IN              0  halui.jog.0.increment	0.000000	0
    10  bit   IN          FALSE  halui.jog.0.increment-minus	0.000000	0
    10  bit   IN          FALSE  halui.jog.0.increment-plus	0.000000	0
    10  bit   IN          FALSE  halui.jog.0.minus	0.000000	0
    10  bit   IN          FALSE  halui.jog.0.plus	0.000000	0
    10  float IN              0  halui.jog.1.analog	0.000000	0
    10  float IN              0  halui.jog.1.increment	0.000000	0
    10  bit   IN          FALSE  halui.jog.1.increment-minus	0.000000	0
    10  bit   IN          FALSE  halui.jog.1.increment-plus	0.000000	0
    10  bit   IN          FALSE  halui.jog.1.minus	0.000000	0
    10  bit   IN          FALSE  halui.jog.1.plus	0.000000	0
    10  float IN              0  halui.jog.2.analog	0.000000	0
    10  float IN              0  halui.jog.2.increment	0.000000	0
    10  bit   IN          FALSE  halui.jog.2.increment-minus	0.000000	0
    10  bit   IN          FALSE  halui.jog.2.increment-plus	0.000000	0
    10  bit   IN          FALSE  halui.jog.2.minus	0.000000	0
    10  bit   IN          FALSE  halui.jog.2.plus	0.000000	0
    10  float IN              0  halui.jog.selected.increment	0.000000	0
    10  bit   IN          FALSE  halui.jog.selected.increment-minus	0.000000	0
    10  bit   IN          FALSE  halui.jog.selected.increment-plus	0.000000	0
    10  bit   IN          FALSE  halui.jog.selected.minus	0.000000	0
    10  bit   IN          FALSE  halui.jog.selected.plus	0.000000	0
    10  bit   OUT         FALSE  halui.joint.0.has-fault	0.000000	0
    10  bit   IN          FALSE  halui.joint.0.home	0.000000	0
    10  bit   OUT          TRUE  halui.joint.0.is-homed	0.000000	0
    10  bit   OUT         FALSE  halui.joint.0.is-selected	0.000000	0
    10  bit   OUT         FALSE  halui.joint.0.on-hard-max-limit	0.000000	0
    10  bit   OUT         FALSE  halui.joint.0.on-hard-min-limit	0.000000	0
    10  bit   OUT         FALSE  halui.joint.0.on-soft-max-limit	0.000000	0
    10  bit   OUT         FALSE  halui.joint.0.on-soft-min-limit	0.000000	0
    10  bit   IN          FALSE  halui.joint.0.select	0.000000	0
    10  bit   IN          FALSE  halui.joint.0.unhome	0.000000	0
    10  bit   OUT         FALSE  halui.joint.1.has-fault	0.000000	0
    10  bit   IN          FALSE  halui.joint.1.home	0.000000	0
    10  bit   OUT         FALSE  halui.joint.1.is-homed	0.000000	0
    10  bit   OUT         FALSE  halui.joint.1.is-selected	0.000000	0
    10  bit   OUT         FALSE  halui.joint.1.on-hard-max-limit	0.000000	0
    10  bit   OUT         FALSE  halui.joint.1.on-hard-min-limit	0.000000	0
    10  bit   OUT         FALSE  halui.joint.1.on-soft-max-limit	0.000000	0
    10  bit   OUT         FALSE  halui.joint.1.on-soft-min-limit	0.000000	0
    10  bit   IN          FALSE  halui.joint.1.select	0.000000	0
    10  bit   IN          FALSE  halui.joint.1.unhome	0.000000	0
    10  bit   OUT         FALSE  halui.joint.2.has-fault	0.000000	0
    10  bit   IN          FALSE  halui.joint.2.home	0.000000	0
    10  bit   OUT          TRUE  halui.joint.2.is-homed	0.000000	0
    10  bit   OUT         FALSE  halui.joint.2.is-selected	0.000000	0
    10  bit   OUT         FALSE  halui.joint.2.on-hard-max-limit	0.000000	0
    10  bit   OUT         FALSE  halui.joint.2.on-hard-min-limit	0.000000	0
    10  bit   OUT         FALSE  halui.joint.2.on-soft-max-limit	0.000000	0
    10  bit   OUT         FALSE  halui.joint.2.on-soft-min-limit	0.000000	0
    10  bit   IN          FALSE  halui.joint.2.select	0.000000	0
    10  bit   IN          FALSE  halui.joint.2.unhome	0.000000	0
    10  u32   OUT    0x00000000  halui.joint.selected	0.000000	0
    10  bit   OUT         FALSE  halui.joint.selected.has-fault	0.000000	0
    10  bit   IN          FALSE  halui.joint.selected.home	0.000000	0
    10  bit   OUT          TRUE  halui.joint.selected.is_homed	0.000000	0
    10  bit   OUT         FALSE  halui.joint.selected.on-hard-max-limit	0.000000	0
    10  bit   OUT         FALSE  halui.joint.selected.on-hard-min-limit	0.000000	0
    10  bit   OUT         FALSE  halui.joint.selected.on-soft-limit	0.000000	0
    10  bit   OUT         FALSE  halui.joint.selected.on-soft-min-limit	0.000000	0
    10  bit   IN          FALSE  halui.joint.selected.unhome	0.000000	0
    10  bit   OUT          TRUE  halui.lube.is-on	0.000000	0
    10  bit   IN          FALSE  halui.lube.off	0.000000	0
    10  bit   IN          FALSE  halui.lube.on	0.000000	0
    10  bit   OUT          TRUE  halui.machine.is-on	0.000000	0
    10  bit   IN          FALSE  halui.machine.off	0.000000	0
    10  bit   IN          FALSE  halui.machine.on	0.000000	0
    10  bit   IN           TRUE  halui.max-velocity.count-enable	0.000000	0
    10  s32   IN              0  halui.max-velocity.counts	0.000000	0
    10  bit   IN          FALSE  halui.max-velocity.decrease	0.000000	0
    10  bit   IN          FALSE  halui.max-velocity.direct-value	0.000000	0
    10  bit   IN          FALSE  halui.max-velocity.increase	0.000000	0
    10  float IN              0  halui.max-velocity.scale	0.000000	0
    10  float OUT            10  halui.max-velocity.value	0.000000	0
    10  bit   IN          FALSE  halui.mdi-command-00	0.000000	0 <== remote-buton0
    10  bit   IN          FALSE  halui.mdi-command-01	0.000000	0 <== remote-buton1
    10  bit   IN          FALSE  halui.mdi-command-02	0.000000	0 <== remote-buton2
    10  bit   IN          FALSE  halui.mdi-command-03	0.000000	0 <== remote-buton3
    10  bit   IN          FALSE  halui.mdi-command-04	0.000000	0 <== remote-buton4
    10  bit   IN          FALSE  halui.mdi-command-05	0.000000	0 <== remote-buton5
    10  bit   OUT         FALSE  halui.mist.is-on	0.000000	0
    10  bit   IN          FALSE  halui.mist.off	0.000000	0
    10  bit   IN          FALSE  halui.mist.on	0.000000	0
    10  bit   IN          FALSE  halui.mode.auto	0.000000	0
    10  bit   OUT         FALSE  halui.mode.is-auto	0.000000	0
    10  bit   OUT          TRUE  halui.mode.is-joint	0.000000	0
    10  bit   OUT          TRUE  halui.mode.is-manual	0.000000	0
    10  bit   OUT         FALSE  halui.mode.is-mdi	0.000000	0
    10  bit   OUT         FALSE  halui.mode.is-teleop	0.000000	0
    10  bit   IN          FALSE  halui.mode.joint	0.000000	0
    10  bit   IN          FALSE  halui.mode.manual	0.000000	0
    10  bit   IN          FALSE  halui.mode.mdi	0.000000	0
    10  bit   IN          FALSE  halui.mode.teleop	0.000000	0
    10  bit   OUT          TRUE  halui.program.block-delete.is-on	0.000000	0
    10  bit   IN          FALSE  halui.program.block-delete.off	0.000000	0
    10  bit   IN          FALSE  halui.program.block-delete.on	0.000000	0
    10  bit   OUT          TRUE  halui.program.is-idle	0.000000	0
    10  bit   OUT         FALSE  halui.program.is-paused	0.000000	0
    10  bit   OUT         FALSE  halui.program.is-running	0.000000	0 ==> run-timer
    10  bit   OUT         FALSE  halui.program.optional-stop.is-on	0.000000	0
    10  bit   IN          FALSE  halui.program.optional-stop.off	0.000000	0
    10  bit   IN          FALSE  halui.program.optional-stop.on	0.000000	0
    10  bit   IN          FALSE  halui.program.pause	0.000000	0
    10  bit   IN          FALSE  halui.program.resume	0.000000	0
    10  bit   IN          FALSE  halui.program.run	0.000000	0
    10  bit   IN          FALSE  halui.program.step	0.000000	0
    10  bit   IN          FALSE  halui.program.stop	0.000000	0
    10  bit   IN           TRUE  halui.spindle-override.count-enable	0.000000	0
    10  s32   IN              0  halui.spindle-override.counts	0.000000	0
    10  bit   IN          FALSE  halui.spindle-override.decrease	0.000000	0
    10  bit   IN          FALSE  halui.spindle-override.direct-value	0.000000	0
    10  bit   IN          FALSE  halui.spindle-override.increase	0.000000	0
    10  float IN            0.1  halui.spindle-override.scale	0.000000	0
    10  float OUT             1  halui.spindle-override.value	0.000000	0
    10  bit   OUT          TRUE  halui.spindle.brake-is-on	0.000000	0
    10  bit   IN          FALSE  halui.spindle.brake-off	0.000000	0
    10  bit   IN          FALSE  halui.spindle.brake-on	0.000000	0
    10  bit   IN          FALSE  halui.spindle.decrease	0.000000	0
    10  bit   IN          FALSE  halui.spindle.forward	0.000000	0
    10  bit   IN          FALSE  halui.spindle.increase	0.000000	0
    10  bit   OUT         FALSE  halui.spindle.is-on	0.000000	0
    10  bit   IN          FALSE  halui.spindle.reverse	0.000000	0
    10  bit   OUT         FALSE  halui.spindle.runs-backward	0.000000	0
    10  bit   OUT         FALSE  halui.spindle.runs-forward	0.000000	0
    10  bit   IN          FALSE  halui.spindle.start	0.000000	0
    10  bit   IN          FALSE  halui.spindle.stop	0.000000	0
    10  float OUT             0  halui.tool.length_offset.a	0.000000	0
    10  float OUT             0  halui.tool.length_offset.b	0.000000	0
    10  float OUT             0  halui.tool.length_offset.c	0.000000	0
    10  float OUT             0  halui.tool.length_offset.u	0.000000	0
    10  float OUT             0  halui.tool.length_offset.v	0.000000	0
    10  float OUT             0  halui.tool.length_offset.w	0.000000	0
    10  float OUT             0  halui.tool.length_offset.x	0.000000	0
    10  float OUT             0  halui.tool.length_offset.y	0.000000	0
    10  float OUT             0  halui.tool.length_offset.z	0.000000	0
    10  u32   OUT    0x00000000  halui.tool.number	0.000000	0
    34  float IN              0  ini.0.backlash	0.000000	0
    34  float IN              1  ini.0.ferror	0.000000	0
    34  float IN             20  ini.0.max_acceleration	0.000000	0
    34  float IN            100  ini.0.max_limit	0.000000	0
    34  float IN             19  ini.0.max_velocity	0.000000	0
    34  float IN           0.25  ini.0.min_ferror	0.000000	0
    34  float IN           -100  ini.0.min_limit	0.000000	0
    34  float IN              0  ini.1.backlash	0.000000	0
    34  float IN              1  ini.1.ferror	0.000000	0
    34  float IN              1  ini.1.max_acceleration	0.000000	0
    34  float IN          1e+99  ini.1.max_limit	0.000000	0
    34  float IN              1  ini.1.max_velocity	0.000000	0
    34  float IN              1  ini.1.min_ferror	0.000000	0
    34  float IN         -1e+99  ini.1.min_limit	0.000000	0
    34  float IN              0  ini.2.backlash	0.000000	0
    34  float IN              1  ini.2.ferror	0.000000	0
    34  float IN             20  ini.2.max_acceleration	0.000000	0
    34  float IN            110  ini.2.max_limit	0.000000	0
    34  float IN             19  ini.2.max_velocity	0.000000	0
    34  float IN           0.25  ini.2.min_ferror	0.000000	0
    34  float IN         -0.001  ini.2.min_limit	0.000000	0
    34  float IN              0  ini.3.backlash	0.000000	0
    34  float IN              0  ini.3.ferror	0.000000	0
    34  float IN              0  ini.3.max_acceleration	0.000000	0
    34  float IN              0  ini.3.max_limit	0.000000	0
    34  float IN              0  ini.3.max_velocity	0.000000	0
    34  float IN              0  ini.3.min_ferror	0.000000	0
    34  float IN              0  ini.3.min_limit	0.000000	0
    34  float IN              0  ini.4.backlash	0.000000	0
    34  float IN              0  ini.4.ferror	0.000000	0
    34  float IN              0  ini.4.max_acceleration	0.000000	0
    34  float IN              0  ini.4.max_limit	0.000000	0
    34  float IN              0  ini.4.max_velocity	0.000000	0
    34  float IN              0  ini.4.min_ferror	0.000000	0
    34  float IN              0  ini.4.min_limit	0.000000	0
    34  float IN              0  ini.5.backlash	0.000000	0
    34  float IN              0  ini.5.ferror	0.000000	0
    34  float IN              0  ini.5.max_acceleration	0.000000	0
    34  float IN              0  ini.5.max_limit	0.000000	0
    34  float IN              0  ini.5.max_velocity	0.000000	0
    34  float IN              0  ini.5.min_ferror	0.000000	0
    34  float IN              0  ini.5.min_limit	0.000000	0
    34  float IN              0  ini.6.backlash	0.000000	0
    34  float IN              0  ini.6.ferror	0.000000	0
    34  float IN              0  ini.6.max_acceleration	0.000000	0
    34  float IN              0  ini.6.max_limit	0.000000	0
    34  float IN              0  ini.6.max_velocity	0.000000	0
    34  float IN              0  ini.6.min_ferror	0.000000	0
    34  float IN              0  ini.6.min_limit	0.000000	0
    34  float IN              0  ini.7.backlash	0.000000	0
    34  float IN              0  ini.7.ferror	0.000000	0
    34  float IN              0  ini.7.max_acceleration	0.000000	0
    34  float IN              0  ini.7.max_limit	0.000000	0
    34  float IN              0  ini.7.max_velocity	0.000000	0
    34  float IN              0  ini.7.min_ferror	0.000000	0
    34  float IN              0  ini.7.min_limit	0.000000	0
    34  float IN              0  ini.8.backlash	0.000000	0
    34  float IN              0  ini.8.ferror	0.000000	0
    34  float IN              0  ini.8.max_acceleration	0.000000	0
    34  float IN              0  ini.8.max_limit	0.000000	0
    34  float IN              0  ini.8.max_velocity	0.000000	0
    34  float IN              0  ini.8.min_ferror	0.000000	0
    34  float IN              0  ini.8.min_limit	0.000000	0
    34  float IN          1e+99  ini.traj_default_acceleration	0.000000	0
    34  float IN              2  ini.traj_default_velocity	0.000000	0
    34  float IN          1e+99  ini.traj_max_acceleration	0.000000	0
    34  float IN          1e+99  ini.traj_max_velocity	0.000000	0
     5  bit   OUT         FALSE  iocontrol.0.coolant-flood	0.000000	0
     5  bit   OUT         FALSE  iocontrol.0.coolant-mist	0.000000	0
     5  bit   IN           TRUE  iocontrol.0.emc-enable-in	0.000000	0 <== estop-loop
     5  bit   OUT          TRUE  iocontrol.0.lube	0.000000	0
     5  bit   IN          FALSE  iocontrol.0.lube_level	0.000000	0
     5  bit   OUT         FALSE  iocontrol.0.tool-change	0.000000	0 ==> tool-change-loop
     5  bit   IN          FALSE  iocontrol.0.tool-changed	0.000000	0 <== tool-change-loop
     5  s32   OUT             0  iocontrol.0.tool-number	0.000000	0
     5  s32   OUT             0  iocontrol.0.tool-prep-number	0.000000	0
     5  s32   OUT             0  iocontrol.0.tool-prep-pocket	0.000000	0
     5  bit   OUT         FALSE  iocontrol.0.tool-prepare	0.000000	0 ==> tool-prep-loop
     5  bit   IN          FALSE  iocontrol.0.tool-prepared	0.000000	0 <== tool-prep-loop
     5  bit   OUT          TRUE  iocontrol.0.user-enable-out	0.000000	0 ==> estop-loop
     5  bit   OUT         FALSE  iocontrol.0.user-request-enable	0.000000	0
    18  float IN              1  motion.adaptive-feed	0.000000	0
    18  float IN              0  motion.analog-in-00	0.000000	0
    18  float IN              0  motion.analog-in-01	0.000000	0
    18  float IN              0  motion.analog-in-02	0.000000	0
    18  float IN              0  motion.analog-in-03	0.000000	0
    18  float OUT             0  motion.analog-out-00	0.000000	0
    18  float OUT             0  motion.analog-out-01	0.000000	0
    18  float OUT             0  motion.analog-out-02	0.000000	0
    18  float OUT             0  motion.analog-out-03	0.000000	0
    18  bit   OUT         FALSE  motion.coord-error	0.000000	0
    18  bit   OUT         FALSE  motion.coord-mode	0.000000	0
    18  s32   OUT             0  motion.current-motion	0.000000	0
    18  float OUT             0  motion.current-vel	0.000000	0
    18  bit   IN          FALSE  motion.digital-in-00	0.000000	0
    18  bit   IN          FALSE  motion.digital-in-01	0.000000	0
    18  bit   IN          FALSE  motion.digital-in-02	0.000000	0
    18  bit   IN          FALSE  motion.digital-in-03	0.000000	0
    18  bit   OUT         FALSE  motion.digital-out-00	0.000000	0
    18  bit   OUT         FALSE  motion.digital-out-01	0.000000	0
    18  bit   OUT         FALSE  motion.digital-out-02	0.000000	0
    18  bit   OUT         FALSE  motion.digital-out-03	0.000000	0
    18  float OUT             0  motion.distance-to-go	0.000000	0
    18  bit   IN           TRUE  motion.enable	0.000000	0
    18  bit   IN          FALSE  motion.feed-hold	0.000000	0
    18  bit   IN          FALSE  motion.feed-inhibit	0.000000	0
    18  bit   OUT          TRUE  motion.in-position	0.000000	0
    18  bit   OUT          TRUE  motion.motion-enabled	0.000000	0
    18  bit   OUT         FALSE  motion.on-soft-limit	0.000000	0
    18  float IN              0  motion.pause-jog-feed	0.000000	0
    18  float IN              0  motion.pause-offset-a	0.000000	0
    18  float IN              0  motion.pause-offset-b	0.000000	0
    18  float IN              0  motion.pause-offset-c	0.000000	0
    18  bit   IN          FALSE  motion.pause-offset-enable	0.000000	0
    18  bit   OUT         FALSE  motion.pause-offset-in-range	0.000000	0
    18  float IN              0  motion.pause-offset-u	0.000000	0
    18  float IN              0  motion.pause-offset-v	0.000000	0
    18  float IN              0  motion.pause-offset-w	0.000000	0
    18  float IN              0  motion.pause-offset-x	0.000000	0
    18  float IN              0  motion.pause-offset-y	0.000000	0
    18  float IN              0  motion.pause-offset-z	0.000000	0
    18  s32   OUT             0  motion.pause-state	0.000000	0
    18  s32   OUT             0  motion.paused-at-motion	0.000000	0
    18  bit   IN          FALSE  motion.probe-input	0.000000	0
    18  s32   OUT             0  motion.program-line	0.000000	0
    18  float OUT             0  motion.requested-vel	0.000000	0
    18  bit   IN           TRUE  motion.spindle-at-speed	0.000000	0
    18  bit   OUT          TRUE  motion.spindle-brake	0.000000	0
    18  bit   OUT         FALSE  motion.spindle-forward	0.000000	0
    18  bit   I/O         FALSE  motion.spindle-index-enable	0.000000	0
    18  bit   IN          FALSE  motion.spindle-inhibit	0.000000	0
    18  bit   IN          FALSE  motion.spindle-is-oriented	0.000000	0
    18  bit   OUT         FALSE  motion.spindle-locked	0.000000	0
    18  bit   OUT         FALSE  motion.spindle-on	0.000000	0
    18  bit   OUT         FALSE  motion.spindle-orient	0.000000	0
    18  float OUT             0  motion.spindle-orient-angle	0.000000	0
    18  s32   IN              0  motion.spindle-orient-fault	0.000000	0
    18  s32   OUT             0  motion.spindle-orient-mode	0.000000	0
    18  bit   OUT         FALSE  motion.spindle-reverse	0.000000	0
    18  float IN              0  motion.spindle-revs	0.000000	0
    18  float OUT             0  motion.spindle-speed-cmd-rps	0.000000	0
    18  float IN              0  motion.spindle-speed-in	0.000000	0
    18  float OUT             0  motion.spindle-speed-out	0.000000	0
    18  float OUT             0  motion.spindle-speed-out-abs	0.000000	0
    18  float OUT             0  motion.spindle-speed-out-rps	0.000000	0
    18  float OUT             0  motion.spindle-speed-out-rps-abs	0.000000	0
    18  bit   OUT         FALSE  motion.teleop-mode	0.000000	0
    18  float OUT             0  motion.tooloffset.a	0.000000	0
    18  float OUT             0  motion.tooloffset.b	0.000000	0
    18  float OUT             0  motion.tooloffset.c	0.000000	0
    18  float OUT             0  motion.tooloffset.u	0.000000	0
    18  float OUT             0  motion.tooloffset.v	0.000000	0
    18  float OUT             0  motion.tooloffset.w	0.000000	0
    18  float OUT             0  motion.tooloffset.x	0.000000	0
    18  float OUT             0  motion.tooloffset.y	0.000000	0
    18  float OUT             0  motion.tooloffset.z	0.000000	0
    26  float OUT           0.5  pwmgen.0.curr-dc	0.000000	0
    26  bit   I/O         FALSE  pwmgen.0.dither-pwm	0.000000	0
    26  bit   IN          FALSE  pwmgen.0.enable	0.000000	0 <== run-timer
    26  float I/O             1  pwmgen.0.max-dc	0.000000	0
    26  float I/O             0  pwmgen.0.min-dc	0.000000	0
    26  float I/O             0  pwmgen.0.offset	0.000000	0
    26  bit   OUT         FALSE  pwmgen.0.pwm	0.000000	0 ==> OneHzPulse
    26  float I/O             1  pwmgen.0.pwm-freq	0.000000	0
    26  float I/O             1  pwmgen.0.scale	0.000000	0
    26  float IN            0.5  pwmgen.0.value	0.000000	0
    36  bit   OUT         FALSE  pyvcp.buton0	0.000000	0 ==> remote-buton0
    36  bit   OUT         FALSE  pyvcp.buton1	0.000000	0 ==> remote-buton1
    36  bit   OUT         FALSE  pyvcp.buton2	0.000000	0 ==> remote-buton2
    36  bit   OUT         FALSE  pyvcp.buton3	0.000000	0 ==> remote-buton3
    36  bit   OUT         FALSE  pyvcp.buton4	0.000000	0 ==> remote-buton4
    36  bit   OUT         FALSE  pyvcp.buton5	0.000000	0 ==> remote-buton5
    36  float IN              0  pyvcp.timer	0.000000	0 <== timer-display

Pin Aliases:
 Alias                                      Original Name

Signals:
Type          Value  Name     (linked to)
bit           FALSE  OneHzPulse
                         ==> encoder.0.phase-A
                         <== pwmgen.0.pwm
bit            TRUE  emcmot.00.enable
                         <== axis.0.amp-enable-out
                         ==> bb_gpio.p9.out-11
                         ==> hal_pru_generic.stepgen.00.enable
float             0  emcmot.00.pos-cmd
                         <== axis.0.motor-pos-cmd
                         ==> hal_pru_generic.stepgen.00.position-cmd
bit            TRUE  emcmot.02.enable
                         <== axis.2.amp-enable-out
                         ==> hal_pru_generic.stepgen.02.enable
float             0  emcmot.02.pos-cmd
                         <== axis.2.motor-pos-cmd
                         ==> hal_pru_generic.stepgen.02.position-cmd
bit            TRUE  estop-loop
                         ==> iocontrol.0.emc-enable-in
                         <== iocontrol.0.user-enable-out
float             0  motor.00.pos-fb
                         ==> axis.0.motor-pos-fb
                         <== hal_pru_generic.stepgen.00.position-fb
float             0  motor.02.pos-fb
                         ==> axis.2.motor-pos-fb
                         <== hal_pru_generic.stepgen.02.position-fb
bit           FALSE  remote-buton0
                         ==> halui.mdi-command-00
                         <== pyvcp.buton0
bit           FALSE  remote-buton1
                         ==> halui.mdi-command-01
                         <== pyvcp.buton1
bit           FALSE  remote-buton2
                         ==> halui.mdi-command-02
                         <== pyvcp.buton2
bit           FALSE  remote-buton3
                         ==> halui.mdi-command-03
                         <== pyvcp.buton3
bit           FALSE  remote-buton4
                         ==> halui.mdi-command-04
                         <== pyvcp.buton4
bit           FALSE  remote-buton5
                         ==> halui.mdi-command-05
                         <== pyvcp.buton5
bit           FALSE  run-timer
                         ==> edge.0.in
                         <== halui.program.is-running
                         ==> pwmgen.0.enable
float             0  timer-display
                         <== encoder.0.position
                         ==> pyvcp.timer
bit           FALSE  timer-reset
                         <== edge.0.out
                         ==> encoder.0.reset
bit           FALSE  tool-change-loop
                         <== iocontrol.0.tool-change
                         ==> iocontrol.0.tool-changed
bit           FALSE  tool-prep-loop
                         <== iocontrol.0.tool-prepare
                         ==> iocontrol.0.tool-prepared

Parameters:
Owner   Type  Dir         Value  Name
    20  bit   RW          FALSE  bb_gpio.p9.out-11.invert
    20  s32   RO             30  bb_gpio.read.time
    20  s32   RW            195  bb_gpio.read.tmax
    20  s32   RO             62  bb_gpio.write.time
    20  s32   RW            231  bb_gpio.write.tmax
    30  bit   RW          FALSE  edge.0.both
    30  bit   RW          FALSE  edge.0.in-edge
    30  bit   RO          FALSE  edge.0.last-in
    30  s32   RW              0  edge.0.out-width-ns
    30  s32   RO             13  edge.0.time
    30  s32   RO              0  edge.0.time-left-ns
    30  s32   RW            205  edge.0.tmax
    28  s32   RO             20  encoder.capture-position.time
    28  s32   RW            220  encoder.capture-position.tmax
    28  s32   RO             25  encoder.update-counters.time
    28  s32   RW            272  encoder.update-counters.tmax
    22  s32   RO            123  hal_pru_generic.capture-position.time
    22  s32   RW            317  hal_pru_generic.capture-position.tmax
    22  u32   RW     0x00000080  hal_pru_generic.pru_busy_pin
    22  u32   RW     0x00000011  hal_pru_generic.pwmgen.00.out.00.pin
    22  float RW              1  hal_pru_generic.pwmgen.00.out.00.scale
    22  u32   RW     0x00000011  hal_pru_generic.pwmgen.00.out.01.pin
    22  float RW              1  hal_pru_generic.pwmgen.00.out.01.scale
    22  u32   RW     0x00000011  hal_pru_generic.pwmgen.00.out.02.pin
    22  float RW              1  hal_pru_generic.pwmgen.00.out.02.scale
    22  u32   RW     0x00989680  hal_pru_generic.pwmgen.00.pwm_period
    22  u32   RW     0x000000C8  hal_pru_generic.stepgen.00.dirhold
    22  u32   RW     0x000000A5  hal_pru_generic.stepgen.00.dirpin
    22  u32   RW     0x000000C8  hal_pru_generic.stepgen.00.dirsetup
    22  float RW             25  hal_pru_generic.stepgen.00.maxaccel
    22  float RW           15.6  hal_pru_generic.stepgen.00.maxvel
    22  float RW            640  hal_pru_generic.stepgen.00.position-scale
    22  bit   RW          FALSE  hal_pru_generic.stepgen.00.stepinvert
    22  u32   RW     0x000003E8  hal_pru_generic.stepgen.00.steplen
    22  u32   RW     0x000000A7  hal_pru_generic.stepgen.00.steppin
    22  u32   RW     0x000003E8  hal_pru_generic.stepgen.00.stepspace
    22  u32   RW     0x00000064  hal_pru_generic.stepgen.01.dirhold
    22  u32   RW     0x00000011  hal_pru_generic.stepgen.01.dirpin
    22  u32   RW     0x00000064  hal_pru_generic.stepgen.01.dirsetup
    22  float RW              1  hal_pru_generic.stepgen.01.maxaccel
    22  float RW              0  hal_pru_generic.stepgen.01.maxvel
    22  float RW              1  hal_pru_generic.stepgen.01.position-scale
    22  bit   RW          FALSE  hal_pru_generic.stepgen.01.stepinvert
    22  u32   RW     0x00000064  hal_pru_generic.stepgen.01.steplen
    22  u32   RW     0x00000011  hal_pru_generic.stepgen.01.steppin
    22  u32   RW     0x00000064  hal_pru_generic.stepgen.01.stepspace
    22  u32   RW     0x000000C8  hal_pru_generic.stepgen.02.dirhold
    22  u32   RW     0x0000008E  hal_pru_generic.stepgen.02.dirpin
    22  u32   RW     0x000000C8  hal_pru_generic.stepgen.02.dirsetup
    22  float RW             25  hal_pru_generic.stepgen.02.maxaccel
    22  float RW           15.6  hal_pru_generic.stepgen.02.maxvel
    22  float RW            640  hal_pru_generic.stepgen.02.position-scale
    22  bit   RW          FALSE  hal_pru_generic.stepgen.02.stepinvert
    22  u32   RW     0x000003E8  hal_pru_generic.stepgen.02.steplen
    22  u32   RW     0x000000A2  hal_pru_generic.stepgen.02.steppin
    22  u32   RW     0x000003E8  hal_pru_generic.stepgen.02.stepspace
    22  u32   RW     0x00000064  hal_pru_generic.stepgen.03.dirhold
    22  u32   RW     0x00000011  hal_pru_generic.stepgen.03.dirpin
    22  u32   RW     0x00000064  hal_pru_generic.stepgen.03.dirsetup
    22  float RW              1  hal_pru_generic.stepgen.03.maxaccel
    22  float RW              0  hal_pru_generic.stepgen.03.maxvel
    22  float RW              1  hal_pru_generic.stepgen.03.position-scale
    22  bit   RW          FALSE  hal_pru_generic.stepgen.03.stepinvert
    22  u32   RW     0x00000064  hal_pru_generic.stepgen.03.steplen
    22  u32   RW     0x00000011  hal_pru_generic.stepgen.03.steppin
    22  u32   RW     0x00000064  hal_pru_generic.stepgen.03.stepspace
    22  s32   RO            211  hal_pru_generic.update.time
    22  s32   RW            459  hal_pru_generic.update.tmax
    18  s32   RO             59  motion-command-handler.time
    18  s32   RW            270  motion-command-handler.tmax
    18  s32   RO            921  motion-controller.time
    18  s32   RW           1354  motion-controller.tmax
    18  bit   RO          FALSE  motion.debug-bit-0
    18  bit   RO          FALSE  motion.debug-bit-1
    18  float RO              1  motion.debug-float-0
    18  float RO              0  motion.debug-float-1
    18  float RO              0  motion.debug-float-2
    18  float RO              1  motion.debug-float-3
    18  s32   RO              0  motion.debug-s32-0
    18  s32   RO              0  motion.debug-s32-1
    18  u32   RO     0x00005D6B  motion.servo.last-period
    18  u32   RW     0x00000000  motion.servo.overruns
    26  s32   RO             37  pwmgen.make-pulses.time
    26  s32   RW            222  pwmgen.make-pulses.tmax
    26  s32   RO             74  pwmgen.update.time
    26  s32   RW            282  pwmgen.update.tmax
    18  float RO              0  tc.0.acc
    18  float RO              0  tc.0.pos
    18  float RO              0  tc.0.vel
    18  float RO              0  tc.1.acc
    18  float RO              0  tc.1.pos
    18  float RO              0  tc.1.vel
    18  float RO              0  tc.2.acc
    18  float RO              0  tc.2.pos
    18  float RO              0  tc.2.vel
    18  float RO              0  tc.3.acc
    18  float RO              0  tc.3.pos
    18  float RO              0  tc.3.vel
    18  u32   RO     0x00000000  traj.active_tc
    18  float RO              0  traj.pos_out
    18  float RO              0  traj.vel_out

Parameter Aliases:
 Alias                                      Original Name

Exported Functions:
Owner   CodeAddr  Arg       FP   Users  Name
 00020  b6983d81  b6c22498  NO       1   bb_gpio.read
 00020  b6983cb5  b6c22498  NO       1   bb_gpio.write
 00030  b6897921  b6c22eb8  NO       1   edge.0
 00028  b68a0b2d  b6c22e00  YES      1   encoder.capture-position
 00028  b68a0a09  b6c22e00  NO       1   encoder.update-counters
 00022  b6975845  b6c22878  YES      1   hal_pru_generic.capture-position
 00022  b6975f17  b6c22878  YES      1   hal_pru_generic.update
 00018  b6c03899  00000000  YES      1   motion-command-handler
 00018  b6c064eb  00000000  YES      1   motion-controller
 00026  b68aa8e9  b6c22d80  NO       1   pwmgen.make-pulses
 00026  b68aaa21  b6c22d80  YES      1   pwmgen.update

Realtime Threads (flavor: xenomai) :
     Period  FP     Name               (     Time, Max-Time )
    1000000  YES          servo-thread (     1724,     2797 )
                  1 hal_pru_generic.capture-position
                  2 bb_gpio.read
                  3 motion-command-handler
                  4 motion-controller
                  5 hal_pru_generic.update
                  6 bb_gpio.write
                  7 pwmgen.make-pulses
                  8 encoder.update-counters
                  9 pwmgen.update
                 10 encoder.capture-position
                 11 edge.0

George164
Новичок
Сообщения: 4
Зарегистрирован: 13 окт 2015, 13:40
Репутация: 0
Контактная информация:

Re: LinuxCNC на BeagleBone black

Сообщение George164 »

Добрый день
Не пойму пока оффтоп вопрос или нет. Подарили летом железку raspberry pi 2. Скоро до нее руки дойдут. Её обсуждение на форумах как-то сразу глохнет. Совсем не годится для ЧПУ хотя бы маленького лазером управлять через USB? Три компа десктопа в мастерской уже перебор.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: LinuxCNC на BeagleBone black

Сообщение selenur »

George164 писал(а):Добрый день
Не пойму пока оффтоп вопрос или нет. Подарили летом железку raspberry pi 2. Скоро до нее руки дойдут. Её обсуждение на форумах как-то сразу глохнет. Совсем не годится для ЧПУ хотя бы маленького лазером управлять через USB? Три компа десктопа в мастерской уже перебор.
Как-то не совсем понятен вопрос.....
1) Вы хотите управлять raspberry станком который подключается к ней через USB?
2) Вы хотите raspberry подключить сразу к драйверам моторов, и управлять?
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: LinuxCNC на BeagleBone black

Сообщение Nick »

Пробежался по списку пинов из сообщения выше...
Это получается для raspbery pi для stepgen отдельный компонент есть и все привязывается к нем жестко?
Пинов IO нету?
boyan писал(а): ..
    22  float IN              0  hal_pru_generic.pwmgen.00.out.00.value   0.000000   0
...
George164
Новичок
Сообщения: 4
Зарегистрирован: 13 окт 2015, 13:40
Репутация: 0
Контактная информация:

Re: LinuxCNC на BeagleBone black

Сообщение George164 »

selenur писал(а):Как-то не совсем понятен вопрос.....
1) Вы хотите управлять raspberry станком который подключается к ней через USB?
2) Вы хотите raspberry подключить сразу к драйверам моторов, и управлять?
Любой из вариантов. Я просто еще не в курсе какой софт там есть. Через Ардуину тоже устроит, но это будет явный перебор. Меня интересует решен ли успешно этот вариант в принципе и стоит ли им начинать заниматься. Не имел дело с Линуксом.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC на BeagleBone black

Сообщение Serg »

George164 писал(а):Не пойму пока оффтоп вопрос или нет. Подарили летом железку raspberry pi 2.
Вопрос про raspberry pi 2 в теме про BeagleBone black? - Оффтоп, но банить за это конечно никто не будет, хотя железки в плане LinuxCNC принципиально разные. :)
George164 писал(а):стоит ли им начинать заниматься. Не имел дело с Линуксом.
Я бы посоветовал для начала просто LinuxCNC на обычном компе.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
George164
Новичок
Сообщения: 4
Зарегистрирован: 13 окт 2015, 13:40
Репутация: 0
Контактная информация:

Re: LinuxCNC на BeagleBone black

Сообщение George164 »

UAVpilot писал(а):Я бы посоветовал для начала просто LinuxCNC на обычном компе.
Это понятно, если есть перспектива на raspberry pi 2. Сам по себе Линукс не нужен совсем бесплатно.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC на BeagleBone black

Сообщение Serg »

Перспектива есть. На raspberry pi LinuxCNC работает, но без быстрой графики. - Для LinuxCNC нужно ядро с RealTime патчем, это не проблема. Проблема в том, что для raspberry pi драйвер граф. части не поставляется никак кроме как в составе собранного ядра (без RealTime патча).

В ядрах 4.x в принципе есть способ обойти эту проблему, но, насколько я в курсе, для raspberry pi пока таких официальных ядер нет.

BeagleBone black для LinuxCNC гораздо предпочтительнее - нет проблем с графикой, на борту есть DSP, который умеет генерить шаги гораздо лучше CPU.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
George164
Новичок
Сообщения: 4
Зарегистрирован: 13 окт 2015, 13:40
Репутация: 0
Контактная информация:

Re: LinuxCNC на BeagleBone black

Сообщение George164 »

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

Re: LinuxCNC на BeagleBone black

Сообщение PKM »

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

Re: LinuxCNC на BeagleBone black

Сообщение Serg »

Базар про PiDiCNC перенёс в подходящую тему http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=9273
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
popcorn
Мастер
Сообщения: 252
Зарегистрирован: 21 янв 2015, 00:20
Репутация: 18
Откуда: Янтарный край
Контактная информация:

Re: LinuxCNC на BeagleBone black

Сообщение popcorn »

Я тут увлёкся идеей управления ЧПУ через BBB, и помимо разных плат со встроенными драйверами наткнулся на этот девайс: http://www.thecooltool.com/en/accessori ... /sandybox/
Судя по всему это просто BBB с выведеным LTP в коробке. Ранее в теме писали про согласование уровней, может кто пояснить, как это делается в железе?
Изображение
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: LinuxCNC на BeagleBone black

Сообщение selenur »

Под согласованием уровней, подразумевают что делают радио-схему, или применяют специальную микросхему, которая сигнал напряжением в 5 вольт преобразует в 3,3 в одну сторону, и 3,3 в 5 в другую. Пример: есть устройство №1 которое работает с 5 вольтами, и есть устройство №2 которое работает с 3,3 вольтами. Непосредственно два устройства между собой подключить нельзя, а преобразователь уровней включается между ними, и тогда устройства друг с дружкой общаются на нужных им напряжениях. вот как-то так.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
popcorn
Мастер
Сообщения: 252
Зарегистрирован: 21 янв 2015, 00:20
Репутация: 18
Откуда: Янтарный край
Контактная информация:

Re: LinuxCNC на BeagleBone black

Сообщение popcorn »

selenur писал(а):Под согласованием уровней, подразумевают что делают радио-схему, или применяют специальную микросхему, которая сигнал напряжением в 5 вольт преобразует в 3,3 в одну сторону, и 3,3 в 5 в другую. Пример: есть устройство №1 которое работает с 5 вольтами, и есть устройство №2 которое работает с 3,3 вольтами. Непосредственно два устройства между собой подключить нельзя, а преобразователь уровней включается между ними, и тогда устройства друг с дружкой общаются на нужных им напряжениях. вот как-то так.
Это я уже понял, про разные варианты опторазвязки начал читать. Хотел уточнить про железную реализацию, желательно в этом конкретном примере. Для меня проще всего кажутся оптопары, но с паяльником я не дружу особо. И, например, в Stepmaster уже есть опторазвязка, значит отдельно согласование лепить не нужно?
Изображение
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC на BeagleBone black

Сообщение Serg »

popcorn писал(а):Хотел уточнить про железную реализацию, желательно в этом конкретном примере.
Из 5в в 3.3в - обычным резисторным делителем, из 3.3в в 5в - усилителем на транзисторе.
Ну или обычными повторителями с открытым коллектором и соотв. подтяжкой на выходе.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
popcorn
Мастер
Сообщения: 252
Зарегистрирован: 21 янв 2015, 00:20
Репутация: 18
Откуда: Янтарный край
Контактная информация:

Re: LinuxCNC на BeagleBone black

Сообщение popcorn »

Заполучил Beaglebone, запустил AXES через удалённые иксы. Из готовых конфигов запустилось только с CometNP и lpt платы для станка пока нет, поэтому просто пока вникаю.
Может кто подскажет, образа machinekit для emmc нет, только для флешки? А если взять обычный, то что кроме ядра и самого пакета нужно ставить?
Изображение
Аватара пользователя
pashatp
Новичок
Сообщения: 5
Зарегистрирован: 18 янв 2017, 23:29
Репутация: 1
Настоящее имя: Pavlo Tereshin
Контактная информация:

Re: LinuxCNC на BeagleBone black

Сообщение pashatp »

Перечитал всю тему - так и не понял как самому настроить все входы/выходы.
Вот появилась от 12.01.2017 статья полезная по сабжу: http://www.machinekit.io/docs/config/in ... MC-section
Аватара пользователя
3DPrinter
Мастер
Сообщения: 254
Зарегистрирован: 27 янв 2014, 23:51
Репутация: 8
Настоящее имя: Мария
Откуда: http://3DPrinter.ua
Контактная информация:

Re: LinuxCNC на BeagleBone black

Сообщение 3DPrinter »

Интересно а у кого то в продакшене работает чпу под управлением bbb или малинки?
Или вопрос умер на тестах?
Сабж крайне перспективный, странно что мало инфы ;(
https://3DPrinter.ua - купить 3D принтер или заказать 3D печать в Украине.
Ответить

Вернуться в «Электроника»