Проверять какие ядра установлены надо так1240 писал(а):q@7i76e-1:~$ uname -a
Linux 7i76e-1 3.4-9-rtai-686-pae #1 SMP PREEMPT Debian 3.4.55-4linuxcnc i686 GNU/Linux
q@7i76e-1:~$
чянд?
Код: Выделить всё
dpkg --list |grep linux-imagПроверять какие ядра установлены надо так1240 писал(а):q@7i76e-1:~$ uname -a
Linux 7i76e-1 3.4-9-rtai-686-pae #1 SMP PREEMPT Debian 3.4.55-4linuxcnc i686 GNU/Linux
q@7i76e-1:~$
чянд?
Код: Выделить всё
dpkg --list |grep linux-imagЗначит ребуться и выбирай это ядро при первичной загрузке.1240 писал(а):ii linux-image-3.2.0-4-rt-686-pae 3.2.78-1 i386 Linux 3.2 for modern PCs,PREEMPT_RT
А это не ядро, это мета-пакет ядра.1240 писал(а):ii linux-image-rt-686-pae 3.2+46 i386 Linux for modern PCs(meta-package), PREEMPT_RT
После установки uspace могу грузиться как с PREEMPT так и с RTAItorvn77 писал(а):Есть два реалтаймовых API RTAI и PREEMPT, LinuxCNC работает с обоими.
Для RTAI как более старого просто linuxcnc, для PREEMPT linuxcnc-uspace
Это команда на смену инструмента, если в мастере настройки выбрал ручную автосмену,1240 писал(а):УП выполняется если убратьТ1М6.
Тоже смотрю последние пол года на свой комп с 64 битной ОС и тоже прихожу во всё большее удивление,1240 писал(а): Под RT: латенси показывает ~15000 Под RTAI ~1000000 (но linuxcnc работает)
Ты обесточил выводы GPIO1240 писал(а): (pin 8-земля, pin5 +24В)
Код: Выделить всё
q@q:~$ halrun
halcmd: loadrt hostmot2
Note: Using POSIX non-realtime
hm2: loading Mesa HostMot2 driver version 0.15
halcmd: loadrt hm2_eth board_ip=192.168.1.121
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
hm2_eth: 192.168.1.121: Hardware address: 00:60:1b:10:40:84
hm2_eth: discovered 7I76E-16
hm2/hm2_7i76e.0: Smart Serial Firmware Version 43
Board hm2_7i76e.0.7i76.0.0 Hardware Mode 0 = standard
Board hm2_7i76e.0.7i76.0.0 Software Mode 0 = io_spin
Board hm2_7i76e.0.7i76.0.0 Software Mode 1 = io_ana_spin
Board hm2_7i76e.0.7i76.0.0 Software Mode 2 = io_enc_ana_spin_fv
hm2/hm2_7i76e.0: 51 I/O Pins used:
hm2/hm2_7i76e.0:     IO Pin 000 (P1-01): StepGen #0, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 001 (P1-14): StepGen #0, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 002 (P1-02): StepGen #1, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 003 (P1-15): StepGen #1, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 004 (P1-03): StepGen #2, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 005 (P1-16): StepGen #2, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 006 (P1-04): StepGen #3, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 007 (P1-17): StepGen #3, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 008 (P1-05): StepGen #4, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 009 (P1-06): StepGen #4, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 010 (P1-07): Smart Serial Interface #0, pin TxData0 (Output)
hm2/hm2_7i76e.0:     IO Pin 011 (P1-08): Smart Serial Interface #0, pin RxData0 (Input)
hm2/hm2_7i76e.0:     IO Pin 012 (P1-09): IOPort
hm2/hm2_7i76e.0:     IO Pin 013 (P1-10): IOPort
hm2/hm2_7i76e.0:     IO Pin 014 (P1-11): Encoder #0, pin Index (Input)
hm2/hm2_7i76e.0:     IO Pin 015 (P1-12): Encoder #0, pin B (Input)
hm2/hm2_7i76e.0:     IO Pin 016 (P1-13): Encoder #0, pin A (Input)
hm2/hm2_7i76e.0:     IO Pin 017 (P2-01): IOPort
hm2/hm2_7i76e.0:     IO Pin 018 (P2-14): IOPort
hm2/hm2_7i76e.0:     IO Pin 019 (P2-02): IOPort
hm2/hm2_7i76e.0:     IO Pin 020 (P2-15): IOPort
hm2/hm2_7i76e.0:     IO Pin 021 (P2-03): IOPort
hm2/hm2_7i76e.0:     IO Pin 022 (P2-16): IOPort
hm2/hm2_7i76e.0:     IO Pin 023 (P2-04): IOPort
hm2/hm2_7i76e.0:     IO Pin 024 (P2-17): IOPort
hm2/hm2_7i76e.0:     IO Pin 025 (P2-05): IOPort
hm2/hm2_7i76e.0:     IO Pin 026 (P2-06): IOPort
hm2/hm2_7i76e.0:     IO Pin 027 (P2-07): IOPort
hm2/hm2_7i76e.0:     IO Pin 028 (P2-08): IOPort
hm2/hm2_7i76e.0:     IO Pin 029 (P2-09): IOPort
hm2/hm2_7i76e.0:     IO Pin 030 (P2-10): IOPort
hm2/hm2_7i76e.0:     IO Pin 031 (P2-11): IOPort
hm2/hm2_7i76e.0:     IO Pin 032 (P2-12): IOPort
hm2/hm2_7i76e.0:     IO Pin 033 (P2-13): IOPort
hm2/hm2_7i76e.0:     IO Pin 034 (P3-01): IOPort
hm2/hm2_7i76e.0:     IO Pin 035 (P3-14): IOPort
hm2/hm2_7i76e.0:     IO Pin 036 (P3-02): IOPort
hm2/hm2_7i76e.0:     IO Pin 037 (P3-15): IOPort
hm2/hm2_7i76e.0:     IO Pin 038 (P3-03): IOPort
hm2/hm2_7i76e.0:     IO Pin 039 (P3-16): IOPort
hm2/hm2_7i76e.0:     IO Pin 040 (P3-04): IOPort
hm2/hm2_7i76e.0:     IO Pin 041 (P3-17): IOPort
hm2/hm2_7i76e.0:     IO Pin 042 (P3-05): IOPort
hm2/hm2_7i76e.0:     IO Pin 043 (P3-06): IOPort
hm2/hm2_7i76e.0:     IO Pin 044 (P3-07): IOPort
hm2/hm2_7i76e.0:     IO Pin 045 (P3-08): IOPort
hm2/hm2_7i76e.0:     IO Pin 046 (P3-09): IOPort
hm2/hm2_7i76e.0:     IO Pin 047 (P3-10): IOPort
hm2/hm2_7i76e.0:     IO Pin 048 (P3-11): IOPort
hm2/hm2_7i76e.0:     IO Pin 049 (P3-12): IOPort
hm2/hm2_7i76e.0:     IO Pin 050 (P3-13): IOPort
hm2/hm2_7i76e.0: registered
halcmd:
Код: Выделить всё
q@q:~$ halrun
halcmd: loadrt hostmot2
Note: Using POSIX non-realtime
hm2: loading Mesa HostMot2 driver version 0.15
halcmd: loadrt hm2_eth board_ip=192.168.1.121
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
hm2_eth: 192.168.1.121: Hardware address: 00:60:1b:10:40:84
hm2_eth: discovered 7I76E-16
hm2/hm2_7i76e.0: Smart Serial Firmware Version 43
hm2/hm2_7i76e.0: 51 I/O Pins used:
hm2/hm2_7i76e.0:     IO Pin 000 (P1-01): StepGen #0, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 001 (P1-14): StepGen #0, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 002 (P1-02): StepGen #1, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 003 (P1-15): StepGen #1, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 004 (P1-03): StepGen #2, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 005 (P1-16): StepGen #2, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 006 (P1-04): StepGen #3, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 007 (P1-17): StepGen #3, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 008 (P1-05): StepGen #4, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 009 (P1-06): StepGen #4, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 010 (P1-07): IOPort
hm2/hm2_7i76e.0:     IO Pin 011 (P1-08): IOPort
hm2/hm2_7i76e.0:     IO Pin 012 (P1-09): IOPort
hm2/hm2_7i76e.0:     IO Pin 013 (P1-10): IOPort
hm2/hm2_7i76e.0:     IO Pin 014 (P1-11): Encoder #0, pin Index (Input)
hm2/hm2_7i76e.0:     IO Pin 015 (P1-12): Encoder #0, pin B (Input)
hm2/hm2_7i76e.0:     IO Pin 016 (P1-13): Encoder #0, pin A (Input)
hm2/hm2_7i76e.0:     IO Pin 017 (P2-01): IOPort
hm2/hm2_7i76e.0:     IO Pin 018 (P2-14): IOPort
hm2/hm2_7i76e.0:     IO Pin 019 (P2-02): IOPort
hm2/hm2_7i76e.0:     IO Pin 020 (P2-15): IOPort
hm2/hm2_7i76e.0:     IO Pin 021 (P2-03): IOPort
hm2/hm2_7i76e.0:     IO Pin 022 (P2-16): IOPort
hm2/hm2_7i76e.0:     IO Pin 023 (P2-04): IOPort
hm2/hm2_7i76e.0:     IO Pin 024 (P2-17): IOPort
hm2/hm2_7i76e.0:     IO Pin 025 (P2-05): IOPort
hm2/hm2_7i76e.0:     IO Pin 026 (P2-06): IOPort
hm2/hm2_7i76e.0:     IO Pin 027 (P2-07): IOPort
hm2/hm2_7i76e.0:     IO Pin 028 (P2-08): IOPort
hm2/hm2_7i76e.0:     IO Pin 029 (P2-09): IOPort
hm2/hm2_7i76e.0:     IO Pin 030 (P2-10): IOPort
hm2/hm2_7i76e.0:     IO Pin 031 (P2-11): IOPort
hm2/hm2_7i76e.0:     IO Pin 032 (P2-12): IOPort
hm2/hm2_7i76e.0:     IO Pin 033 (P2-13): IOPort
hm2/hm2_7i76e.0:     IO Pin 034 (P3-01): IOPort
hm2/hm2_7i76e.0:     IO Pin 035 (P3-14): IOPort
hm2/hm2_7i76e.0:     IO Pin 036 (P3-02): IOPort
hm2/hm2_7i76e.0:     IO Pin 037 (P3-15): IOPort
hm2/hm2_7i76e.0:     IO Pin 038 (P3-03): IOPort
hm2/hm2_7i76e.0:     IO Pin 039 (P3-16): IOPort
hm2/hm2_7i76e.0:     IO Pin 040 (P3-04): IOPort
hm2/hm2_7i76e.0:     IO Pin 041 (P3-17): IOPort
hm2/hm2_7i76e.0:     IO Pin 042 (P3-05): IOPort
hm2/hm2_7i76e.0:     IO Pin 043 (P3-06): IOPort
hm2/hm2_7i76e.0:     IO Pin 044 (P3-07): IOPort
hm2/hm2_7i76e.0:     IO Pin 045 (P3-08): IOPort
hm2/hm2_7i76e.0:     IO Pin 046 (P3-09): IOPort
hm2/hm2_7i76e.0:     IO Pin 047 (P3-10): IOPort
hm2/hm2_7i76e.0:     IO Pin 048 (P3-11): IOPort
hm2/hm2_7i76e.0:     IO Pin 049 (P3-12): IOPort
hm2/hm2_7i76e.0:     IO Pin 050 (P3-13): IOPort
hm2/hm2_7i76e.0: registered
Код: Выделить всё
q@q:~$ mesaflash --device 7i76e --verbose
ETH device 7I76E-16 at ip=192.168.1.121
Communication:
  transport layer: ethernet IPv4 UDP
  ip address: 192.168.1.121
  mac address: 00:60:1B:10:40:84
  protocol: LBP16 version 3
Board info:
  Flash size: 16Mb (id: 0x14)
  Connectors count: 3
  Pins per connector: 17
  Connectors names: on-card P1 P2
  FPGA type: 6slx16ftg256
  Number of leds: 4
Board firmware info:
  memory spaces:
    0: HostMot2 (registers, RW, 32-bit) [size=64K]
    1: KSZ8851 (registers, RW, 16-bit) [size=256]
    2: EtherEEP (EEPROM, RW, 16-bit) [size=128], page size: 1, erase size: 1
    3: FPGAFlsh (flash, RW, 32-bit) [size=16M], page size: 256, erase size: 65536
    4: Timers (memory, RW, 16-bit) [size=16]
    6: LBP16RW (memory, RW, 16-bit) [size=16]
    7: LBP16RO (memory, RO, 16-bit) [size=16]
  [space 0] HostMot2
  [space 2] Ethernet eeprom:
    mac address: 00:60:1B:10:40:84
    ip address: 10.10.10.10
    board name: 7I76E-16
    user leds: eth debug
  [space 3] FPGA flash eeprom:
    flash size: 16Mb (id: 0x14)
  [space 4] timers:
    uSTimeStampReg: 0x2A83
    WaituSReg: 0x0000
    HM2Timeout: 0x0000
  [space 6] LBP16 control/status:
    packets received: all 63775, UDP 63517, bad 0
    packets sended: all 32457, UDP 32455, bad 0
    parse errors: 0, mem errors 0, write errors 0
    error flags: 0x0000
    debug LED ptr: 0x0008
    scratch: 0x0000
  [space 7] LBP16 info:
    board name: 7I76E-16
    LBP16 protocol version 3
    board firmware version 15
    IP address jumpers at boot: fixed 192.168.1.121
q@q:~$
Не так.torvn77 писал(а):Есть две группы питания, входов/выходов GPIO (VFIELD 1-4) и логики smarserial(VIN 5)
Nick писал(а):А сама плата при этом работает?
Код: Выделить всё
q@q:~$ halrun -U
Note: Using POSIX non-realtime
q@q:~$ halcmd show pin hm2
Component Pins:
Owner   Type  Dir         Value  Name
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-00
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-00-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-01
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-01-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-02
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-02-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-03
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-03-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-04
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-04-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-05
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-05-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-06
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-06-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-07
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-07-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-08
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-08-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-09
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-09-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-10
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-10-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-11
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-11-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-12
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-12-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-13
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-13-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-14
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-14-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-15
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-15-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-16
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-16-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-17
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-17-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-18
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-18-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-19
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-19-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-20
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-20-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-21
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-21-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-22
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-22-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-23
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-23-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-24
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-24-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-25
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-25-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-26
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-26-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-27
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-27-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-28
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-28-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-29
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-29-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-30
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-30-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-31
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-31-not
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-00
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-01
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-02
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-03
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-04
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-05
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-06
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-07
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-08
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-09
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-10
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-11
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-12
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-13
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-14
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-15
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.spindir
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.spinena
    28  float IN              0  hm2_7i76e.0.7i76.0.0.spinout
    28  float IN            -50  hm2_7i76e.0.dpll.01.timer-us
    28  float IN            100  hm2_7i76e.0.dpll.02.timer-us
    28  float IN            100  hm2_7i76e.0.dpll.03.timer-us
    28  float IN            100  hm2_7i76e.0.dpll.04.timer-us
    28  float IN              1  hm2_7i76e.0.dpll.base-freq-khz
    28  u32   OUT    0x0000002A  hm2_7i76e.0.dpll.ddsize
    28  float OUT     -7.479531  hm2_7i76e.0.dpll.phase-error-us
    28  u32   IN     0x00400000  hm2_7i76e.0.dpll.plimit
    28  u32   OUT    0x00000018  hm2_7i76e.0.dpll.prescale
    28  u32   IN     0x000007D0  hm2_7i76e.0.dpll.time-const
    28  s32   OUT             0  hm2_7i76e.0.encoder.00.count
    28  s32   OUT             0  hm2_7i76e.0.encoder.00.count-latched
    28  bit   I/O         FALSE  hm2_7i76e.0.encoder.00.index-enable
    28  bit   OUT         FALSE  hm2_7i76e.0.encoder.00.input-a
    28  bit   OUT         FALSE  hm2_7i76e.0.encoder.00.input-b
    28  bit   OUT          TRUE  hm2_7i76e.0.encoder.00.input-index
    28  bit   IN          FALSE  hm2_7i76e.0.encoder.00.latch-enable
    28  bit   IN          FALSE  hm2_7i76e.0.encoder.00.latch-polarity
    28  float OUT             0  hm2_7i76e.0.encoder.00.position
    28  float OUT             0  hm2_7i76e.0.encoder.00.position-latched
    28  bit   OUT         FALSE  hm2_7i76e.0.encoder.00.quad-error
    28  bit   IN          FALSE  hm2_7i76e.0.encoder.00.quad-error-enable
    28  s32   OUT             0  hm2_7i76e.0.encoder.00.rawcounts
    28  s32   OUT             0  hm2_7i76e.0.encoder.00.rawlatch
    28  bit   IN          FALSE  hm2_7i76e.0.encoder.00.reset
    28  float OUT             0  hm2_7i76e.0.encoder.00.velocity
    28  u32   IN     0x017D7840  hm2_7i76e.0.encoder.sample-frequency
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.000.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.000.in_not
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.001.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.001.in_not
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.002.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.002.in_not
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.003.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.003.in_not
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.004.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.004.in_not
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.005.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.005.in_not
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.006.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.006.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.006.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.007.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.007.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.007.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.008.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.008.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.008.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.009.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.009.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.009.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.010.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.010.in_not
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.011.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.011.in_not
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.012.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.012.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.012.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.013.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.013.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.013.out
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.014.in
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.014.in_not
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.015.in
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.015.in_not
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.016.in
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.016.in_not
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.017.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.017.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.017.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.018.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.018.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.018.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.019.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.019.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.019.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.020.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.020.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.020.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.021.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.021.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.021.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.022.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.022.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.022.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.023.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.023.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.023.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.024.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.024.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.024.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.025.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.025.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.025.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.026.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.026.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.026.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.027.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.027.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.027.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.028.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.028.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.028.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.029.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.029.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.029.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.030.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.030.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.030.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.031.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.031.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.031.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.032.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.032.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.032.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.033.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.033.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.033.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.034.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.034.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.034.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.035.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.035.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.035.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.036.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.036.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.036.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.037.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.037.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.037.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.038.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.038.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.038.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.039.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.039.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.039.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.040.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.040.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.040.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.041.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.041.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.041.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.042.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.042.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.042.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.043.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.043.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.043.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.044.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.044.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.044.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.045.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.045.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.045.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.046.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.046.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.046.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.047.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.047.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.047.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.048.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.048.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.048.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.049.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.049.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.049.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.050.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.050.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.050.out
    28  bit   IN          FALSE  hm2_7i76e.0.led.CR01
    28  bit   IN          FALSE  hm2_7i76e.0.led.CR02
    28  bit   IN          FALSE  hm2_7i76e.0.led.CR03
    28  bit   IN          FALSE  hm2_7i76e.0.led.CR04
    28  s32   OUT             0  hm2_7i76e.0.read-request.time
    28  s32   OUT        210782  hm2_7i76e.0.read.time
    28  u32   OUT    0x00000000  hm2_7i76e.0.sserial.port-0.fault-count
    28  u32   OUT    0x00000001  hm2_7i76e.0.sserial.port-0.port_state
    28  bit   IN           TRUE  hm2_7i76e.0.sserial.port-0.run
    28  bit   IN           TRUE  hm2_7i76e.0.stepgen.00.control-type
    28  s32   OUT             0  hm2_7i76e.0.stepgen.00.counts
    28  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_err_at_match
    28  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_ff_vel
    28  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_pos_minus_prev_cmd
    28  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_s_to_match
    28  s32   OUT             0  hm2_7i76e.0.stepgen.00.dbg_step_rate
    28  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_vel_error
    28  bit   IN          FALSE  hm2_7i76e.0.stepgen.00.enable <== x-enable
    28  float IN              0  hm2_7i76e.0.stepgen.00.position-cmd
    28  float OUT             0  hm2_7i76e.0.stepgen.00.position-fb ==> x-pos-fb
    28  float IN              0  hm2_7i76e.0.stepgen.00.velocity-cmd <== x-output
    28  float OUT             0  hm2_7i76e.0.stepgen.00.velocity-fb
    28  bit   IN           TRUE  hm2_7i76e.0.stepgen.01.control-type
    28  s32   OUT             0  hm2_7i76e.0.stepgen.01.counts
    28  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_err_at_match
    28  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_ff_vel
    28  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_pos_minus_prev_cmd
    28  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_s_to_match
    28  s32   OUT             0  hm2_7i76e.0.stepgen.01.dbg_step_rate
    28  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_vel_error
    28  bit   IN          FALSE  hm2_7i76e.0.stepgen.01.enable <== y-enable
    28  float IN              0  hm2_7i76e.0.stepgen.01.position-cmd
    28  float OUT             0  hm2_7i76e.0.stepgen.01.position-fb ==> y-pos-fb
    28  float IN              0  hm2_7i76e.0.stepgen.01.velocity-cmd <== y-output
    28  float OUT             0  hm2_7i76e.0.stepgen.01.velocity-fb
    28  bit   IN           TRUE  hm2_7i76e.0.stepgen.02.control-type
    28  s32   OUT             0  hm2_7i76e.0.stepgen.02.counts
    28  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_err_at_match
    28  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_ff_vel
    28  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_pos_minus_prev_cmd
    28  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_s_to_match
    28  s32   OUT             0  hm2_7i76e.0.stepgen.02.dbg_step_rate
    28  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_vel_error
    28  bit   IN          FALSE  hm2_7i76e.0.stepgen.02.enable <== z-enable
    28  float IN              0  hm2_7i76e.0.stepgen.02.position-cmd
    28  float OUT             0  hm2_7i76e.0.stepgen.02.position-fb ==> z-pos-fb
    28  float IN              0  hm2_7i76e.0.stepgen.02.velocity-cmd <== z-output
    28  float OUT             0  hm2_7i76e.0.stepgen.02.velocity-fb
    28  s32   IN              1  hm2_7i76e.0.stepgen.timer-number
    28  bit   I/O          TRUE  hm2_7i76e.0.watchdog.has_bit
    28  s32   OUT         81224  hm2_7i76e.0.write.time
q@q:~$ halcmd show pin hm2
Component Pins:
Owner   Type  Dir         Value  Name
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-00
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-00-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-01
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-01-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-02
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-02-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-03
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-03-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-04
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-04-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-05
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-05-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-06
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-06-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-07
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-07-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-08
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-08-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-09
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-09-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-10
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-10-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-11
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-11-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-12
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-12-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-13
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-13-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-14
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-14-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-15
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-15-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-16
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-16-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-17
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-17-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-18
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-18-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-19
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-19-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-20
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-20-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-21
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-21-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-22
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-22-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-23
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-23-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-24
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-24-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-25
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-25-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-26
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-26-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-27
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-27-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-28
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-28-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-29
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-29-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-30
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-30-not
    28  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-31
    28  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-31-not
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-00
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-01
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-02
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-03
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-04
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-05
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-06
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-07
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-08
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-09
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-10
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-11
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-12
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-13
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-14
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-15
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.spindir
    28  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.spinena
    28  float IN              0  hm2_7i76e.0.7i76.0.0.spinout
    28  float IN            -50  hm2_7i76e.0.dpll.01.timer-us
    28  float IN            100  hm2_7i76e.0.dpll.02.timer-us
    28  float IN            100  hm2_7i76e.0.dpll.03.timer-us
    28  float IN            100  hm2_7i76e.0.dpll.04.timer-us
    28  float IN              1  hm2_7i76e.0.dpll.base-freq-khz
    28  u32   OUT    0x0000002A  hm2_7i76e.0.dpll.ddsize
    28  float OUT      303.4256  hm2_7i76e.0.dpll.phase-error-us
    28  u32   IN     0x00400000  hm2_7i76e.0.dpll.plimit
    28  u32   OUT    0x00000018  hm2_7i76e.0.dpll.prescale
    28  u32   IN     0x000007D0  hm2_7i76e.0.dpll.time-const
    28  s32   OUT             0  hm2_7i76e.0.encoder.00.count
    28  s32   OUT             0  hm2_7i76e.0.encoder.00.count-latched
    28  bit   I/O         FALSE  hm2_7i76e.0.encoder.00.index-enable
    28  bit   OUT         FALSE  hm2_7i76e.0.encoder.00.input-a
    28  bit   OUT         FALSE  hm2_7i76e.0.encoder.00.input-b
    28  bit   OUT          TRUE  hm2_7i76e.0.encoder.00.input-index
    28  bit   IN          FALSE  hm2_7i76e.0.encoder.00.latch-enable
    28  bit   IN          FALSE  hm2_7i76e.0.encoder.00.latch-polarity
    28  float OUT             0  hm2_7i76e.0.encoder.00.position
    28  float OUT             0  hm2_7i76e.0.encoder.00.position-latched
    28  bit   OUT         FALSE  hm2_7i76e.0.encoder.00.quad-error
    28  bit   IN          FALSE  hm2_7i76e.0.encoder.00.quad-error-enable
    28  s32   OUT             0  hm2_7i76e.0.encoder.00.rawcounts
    28  s32   OUT             0  hm2_7i76e.0.encoder.00.rawlatch
    28  bit   IN          FALSE  hm2_7i76e.0.encoder.00.reset
    28  float OUT             0  hm2_7i76e.0.encoder.00.velocity
    28  u32   IN     0x017D7840  hm2_7i76e.0.encoder.sample-frequency
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.000.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.000.in_not
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.001.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.001.in_not
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.002.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.002.in_not
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.003.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.003.in_not
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.004.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.004.in_not
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.005.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.005.in_not
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.006.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.006.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.006.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.007.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.007.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.007.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.008.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.008.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.008.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.009.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.009.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.009.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.010.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.010.in_not
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.011.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.011.in_not
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.012.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.012.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.012.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.013.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.013.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.013.out
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.014.in
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.014.in_not
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.015.in
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.015.in_not
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.016.in
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.016.in_not
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.017.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.017.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.017.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.018.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.018.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.018.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.019.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.019.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.019.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.020.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.020.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.020.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.021.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.021.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.021.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.022.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.022.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.022.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.023.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.023.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.023.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.024.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.024.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.024.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.025.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.025.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.025.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.026.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.026.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.026.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.027.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.027.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.027.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.028.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.028.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.028.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.029.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.029.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.029.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.030.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.030.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.030.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.031.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.031.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.031.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.032.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.032.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.032.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.033.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.033.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.033.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.034.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.034.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.034.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.035.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.035.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.035.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.036.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.036.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.036.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.037.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.037.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.037.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.038.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.038.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.038.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.039.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.039.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.039.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.040.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.040.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.040.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.041.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.041.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.041.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.042.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.042.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.042.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.043.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.043.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.043.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.044.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.044.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.044.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.045.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.045.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.045.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.046.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.046.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.046.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.047.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.047.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.047.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.048.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.048.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.048.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.049.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.049.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.049.out
    28  bit   OUT          TRUE  hm2_7i76e.0.gpio.050.in
    28  bit   OUT         FALSE  hm2_7i76e.0.gpio.050.in_not
    28  bit   IN          FALSE  hm2_7i76e.0.gpio.050.out
    28  bit   IN          FALSE  hm2_7i76e.0.led.CR01
    28  bit   IN          FALSE  hm2_7i76e.0.led.CR02
    28  bit   IN          FALSE  hm2_7i76e.0.led.CR03
    28  bit   IN          FALSE  hm2_7i76e.0.led.CR04
    28  s32   OUT             0  hm2_7i76e.0.read-request.time
    28  s32   OUT        209755  hm2_7i76e.0.read.time
    28  u32   OUT    0x00000000  hm2_7i76e.0.sserial.port-0.fault-count
    28  u32   OUT    0x00000001  hm2_7i76e.0.sserial.port-0.port_state
    28  bit   IN           TRUE  hm2_7i76e.0.sserial.port-0.run
    28  bit   IN           TRUE  hm2_7i76e.0.stepgen.00.control-type
    28  s32   OUT           303  hm2_7i76e.0.stepgen.00.counts
    28  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_err_at_match
    28  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_ff_vel
    28  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_pos_minus_prev_cmd
    28  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_s_to_match
    28  s32   OUT          4699  hm2_7i76e.0.stepgen.00.dbg_step_rate
    28  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_vel_error
    28  bit   IN           TRUE  hm2_7i76e.0.stepgen.00.enable <== x-enable
    28  float IN              0  hm2_7i76e.0.stepgen.00.position-cmd
    28  float OUT      3.797153  hm2_7i76e.0.stepgen.00.position-fb ==> x-pos-fb
    28  float IN       1.367591  hm2_7i76e.0.stepgen.00.velocity-cmd <== x-output
    28  float OUT      1.367591  hm2_7i76e.0.stepgen.00.velocity-fb
    28  bit   IN           TRUE  hm2_7i76e.0.stepgen.01.control-type
    28  s32   OUT           819  hm2_7i76e.0.stepgen.01.counts
    28  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_err_at_match
    28  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_ff_vel
    28  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_pos_minus_prev_cmd
    28  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_s_to_match
    28  s32   OUT         22422  hm2_7i76e.0.stepgen.01.dbg_step_rate
    28  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_vel_error
    28  bit   IN           TRUE  hm2_7i76e.0.stepgen.01.enable <== y-enable
    28  float IN              0  hm2_7i76e.0.stepgen.01.position-cmd
    28  float OUT      10.23845  hm2_7i76e.0.stepgen.01.position-fb ==> y-pos-fb
    28  float IN       6.525913  hm2_7i76e.0.stepgen.01.velocity-cmd <== y-output
    28  float OUT      6.525913  hm2_7i76e.0.stepgen.01.velocity-fb
    28  bit   IN           TRUE  hm2_7i76e.0.stepgen.02.control-type
    28  s32   OUT         -4161  hm2_7i76e.0.stepgen.02.counts
    28  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_err_at_match
    28  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_ff_vel
    28  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_pos_minus_prev_cmd
    28  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_s_to_match
    28  s32   OUT             0  hm2_7i76e.0.stepgen.02.dbg_step_rate
    28  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_vel_error
    28  bit   IN           TRUE  hm2_7i76e.0.stepgen.02.enable <== z-enable
    28  float IN              0  hm2_7i76e.0.stepgen.02.position-cmd
    28  float OUT     -52.00001  hm2_7i76e.0.stepgen.02.position-fb ==> z-pos-fb
    28  float IN   0.0002861023  hm2_7i76e.0.stepgen.02.velocity-cmd <== z-output
    28  float OUT  0.0002861023  hm2_7i76e.0.stepgen.02.velocity-fb
    28  s32   IN              1  hm2_7i76e.0.stepgen.timer-number
    28  bit   I/O          TRUE  hm2_7i76e.0.watchdog.has_bit
    28  s32   OUT         45266  hm2_7i76e.0.write.time
q@q:~$