Struggling to get all encoders to show up on 7i77 via 7i94T
- workshop54
- Offline
- New Member
-
Less
More
- Posts: 11
- Thank you received: 3
24 Mar 2025 17:59 #324801
by workshop54
Struggling to get all encoders to show up on 7i77 via 7i94T was created by workshop54
I've been working on this all day and it's starting to drive me a bit crazy.
I'm using a 7i77 connected through a 7i94T and trying to get at least 3 of the encoders to show up in halcmd show pin. So far, only two encoders are visible.
Here’s what I see:
I’ve double-checked the firmware:
My HAL config includes:
The SmartSerial section seems to be working fine; analog IOs and digital IOs show up correctly.
But I expected more encoders from the 7i77 to appear — at least enc2..enc4 — and I can’t figure out what I’m missing. Is there anything I need to change in the firmware, or is my HAL config wrong?
Any help would be very appreciated. I’m just trying to get basic encoder feedback working for now before wiring up the rest.
Thanks in advance!
I'm using a 7i77 connected through a 7i94T and trying to get at least 3 of the encoders to show up in halcmd show pin. So far, only two encoders are visible.
Here’s what I see:
~/linuxcnc/configs/maho_mh400e$ halcmd show pin | grep 7i77
26 float OUT 0 hm2_7i94.0.7i77.0.0.analogin0
26 float OUT 0 hm2_7i94.0.7i77.0.0.analogin1
26 float OUT 0 hm2_7i94.0.7i77.0.0.analogin2
26 float OUT 0 hm2_7i94.0.7i77.0.0.analogin3
26 s32 OUT 0 hm2_7i94.0.7i77.0.0.enc0.count
26 bit I/O FALSE hm2_7i94.0.7i77.0.0.enc0.index-enable
26 float OUT 0 hm2_7i94.0.7i77.0.0.enc0.position
26 s32 OUT 0 hm2_7i94.0.7i77.0.0.enc0.rawcounts
26 bit I/O FALSE hm2_7i94.0.7i77.0.0.enc0.reset
26 s32 OUT 0 hm2_7i94.0.7i77.0.0.enc1.count
26 bit I/O FALSE hm2_7i94.0.7i77.0.0.enc1.index-enable
26 float OUT 0 hm2_7i94.0.7i77.0.0.enc1.position
26 s32 OUT 0 hm2_7i94.0.7i77.0.0.enc1.rawcounts
26 bit I/O FALSE hm2_7i94.0.7i77.0.0.enc1.reset
26 float OUT 25.02753 hm2_7i94.0.7i77.0.0.fieldvoltage
26 bit OUT FALSE hm2_7i94.0.7i77.0.0.input-00
26 bit OUT TRUE hm2_7i94.0.7i77.0.0.input-00-not
// omitted other input pins for brevity
26 bit IN FALSE hm2_7i94.0.7i77.0.0.output-00
// omitted other output pins for brevity
26 bit IN FALSE hm2_7i94.0.7i77.0.1.analogena
26 float IN 0 hm2_7i94.0.7i77.0.1.analogout0
26 float IN 0 hm2_7i94.0.7i77.0.1.analogout1
26 float IN 0 hm2_7i94.0.7i77.0.1.analogout2
26 float IN 0 hm2_7i94.0.7i77.0.1.analogout3
26 float IN 0 hm2_7i94.0.7i77.0.1.analogout4
26 float IN 0 hm2_7i94.0.7i77.0.1.analogout5
26 bit IN FALSE hm2_7i94.0.7i77.0.1.spinena
I’ve double-checked the firmware:
~/linuxcnc/configs/maho_mh400e$ mesaflash —device 7i94t —addr 192.168.1.121 —readhmid
Configuration Name: HOSTMOT2
General configuration information:
BoardName : MESA7I94
FPGA Size: 20 KGates
FPGA Pins: 256
Number of IO Ports: 2
Width of one I/O port: 21
Clock Low frequency: 100.0000 MHz
Clock High frequency: 175.0000 MHz
IDROM Type: 3
Instance Stride 0: 4
Instance Stride 1: 64
Register Stride 0: 256
Register Stride 1: 256
Modules in configuration:
Module: DPLL
There are 1 of DPLL in configuration
Version: 0
Registers: 7
BaseAddress: 7000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: WatchDog
There are 1 of WatchDog in configuration
Version: 0
Registers: 3
BaseAddress: 0C00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: IOPort
There are 2 of IOPort in configuration
Version: 0
Registers: 5
BaseAddress: 1000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: MuxedQCount
There are 6 of MuxedQCount in configuration
Version: 4
Registers: 5
BaseAddress: 3600
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: MuxedQCountSel
There are 1 of MuxedQCountSel in configuration
Version: 0
Registers: 0
BaseAddress: 0000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: SSerial
There are 1 of SSerial in configuration
Version: 0
Registers: 6
BaseAddress: 5B00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 64 bytes
Module: LED
There are 1 of LED in configuration
Version: 0
Registers: 1
BaseAddress: 0200
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Configuration pin-out:
IO Connections for Expansion+Serial 0..1 -> 7I94_0
Pin# I/O Pri. func Sec. func Chan Sec. Pin func Sec. Pin Dir
P1-01/DB25-01 0 IOPort SSerial 0 TXEn2 (Out)
P1-02/DB25-14 1 IOPort SSerial 0 TXData2 (Out)
P1-03/DB25-02 2 IOPort SSerial 0 RXData2 (In)
P1-04/DB25-15 3 IOPort SSerial 0 TXData1 (Out)
P1-05/DB25-03 4 IOPort SSerial 0 RXData1 (In)
P1-06/DB25-16 5 IOPort SSerial 0 TXData0 (Out)
P1-07/DB25-04 6 IOPort SSerial 0 RXData0 (In)
P1-08/DB25-17 7 IOPort MuxedQCountSel 0 MuxSel0 (Out)
P1-09/DB25-05 8 IOPort MuxedQCount 0 MuxQ-A (In)
P1-11/DB25-06 9 IOPort MuxedQCount 0 MuxQ-B (In)
P1-13/DB25-07 10 IOPort MuxedQCount 0 MuxQ-IDX (In)
P1-15/DB25-08 11 IOPort MuxedQCount 1 MuxQ-A (In)
P1-17/DB25-09 12 IOPort MuxedQCount 1 MuxQ-B (In)
P1-19/DB25-10 13 IOPort MuxedQCount 1 MuxQ-IDX (In)
P1-21/DB25-11 14 IOPort MuxedQCount 2 MuxQ-A (In)
P1-23/DB25-12 15 IOPort MuxedQCount 2 MuxQ-B (In)
P1-25/DB25-13 16 IOPort MuxedQCount 2 MuxQ-IDX (In)
J6 1,2 17 IOPort SSerial 0 RXData3 (In)
J6 3,6 18 IOPort SSerial 0 TXData3 (Out)
J6 TXEN 19 IOPort SSerial 0 TXEn3 (Out)
J7 1,2 20 IOPort SSerial 0 RXData4 (In)
IO Connections for Serial 1..7 -> 7I94_1
Pin# I/O Pri. func Sec. func Chan Sec. Pin func Sec. Pin Dir
J7-3,6 21 IOPort SSerial 0 TXData4 (Out)
J7-TXEN 22 IOPort SSerial 0 TXEn4 (Out)
J8-1,2 23 IOPort SSerial 0 RXData5 (In)
J8-3,6 24 IOPort SSerial 0 TXData5 (Out)
J8-TXEN 25 IOPort SSerial 0 TXEn5 (Out)
J9-1,2 26 IOPort SSerial 0 RXData6 (In)
J9-3,6 27 IOPort SSerial 0 TXData6 (Out)
J9-TXEN 28 IOPort SSerial 0 TXEn6 (Out)
J4-1,2 29 IOPort SSerial 0 RXData7 (In)
J4-3,6 30 IOPort SSerial 0 TXData7 (Out)
J4-TXEN 31 IOPort SSerial 0 TXEn7 (Out)
J3-1,2 32 IOPort None
J3-3,6 33 IOPort None
J3-TXEN 34 IOPort None
J2-1,2 35 IOPort None
J2-3,6 36 IOPort None
J2-TXEN 37 IOPort None
J1-1,2 38 IOPort None
J1-3,6 39 IOPort None
J1-TXEN 40 IOPort None
P2-/ENA 41 IOPort None
My HAL config includes:
loadrt hm2_eth board_ip=192.168.1.121 config=”sserial_port_0=300xxx”
The SmartSerial section seems to be working fine; analog IOs and digital IOs show up correctly.
But I expected more encoders from the 7i77 to appear — at least enc2..enc4 — and I can’t figure out what I’m missing. Is there anything I need to change in the firmware, or is my HAL config wrong?
Any help would be very appreciated. I’m just trying to get basic encoder feedback working for now before wiring up the rest.
Thanks in advance!
Please Log in or Create an account to join the conversation.
- PCW
-
- Away
- Moderator
-
Less
More
- Posts: 18434
- Thank you received: 5034
24 Mar 2025 18:19 - 24 Mar 2025 22:47 #324807
by PCW
Replied by PCW on topic Struggling to get all encoders to show up on 7i77 via 7i94T
That's an odd error, I'll see if I can duplicate it here.
Have you had any communication errors? The only time I've seen something like this
before is where there were major communication issues.
That is, can you:
EDIT change IP address
sudo chrt 99 ping -i .001 -c 60000 -q 192.168.1.121
Without any dropped packets?
Note that 10.10.10.10 is suggested as the 7I94T IP address as 192.168.1.121
often overlaps local NAT ranges.
Note, checked a 7I94 with 7I77 firmware: 7i94t_7i77d.bin and all encoders
showed up:
Have you had any communication errors? The only time I've seen something like this
before is where there were major communication issues.
That is, can you:
EDIT change IP address
sudo chrt 99 ping -i .001 -c 60000 -q 192.168.1.121
Without any dropped packets?
Note that 10.10.10.10 is suggested as the 7I94T IP address as 192.168.1.121
often overlaps local NAT ranges.
Note, checked a 7I94 with 7I77 firmware: 7i94t_7i77d.bin and all encoders
showed up:
Attachments:
Last edit: 24 Mar 2025 22:47 by PCW.
Please Log in or Create an account to join the conversation.
- workshop54
- Offline
- New Member
-
Less
More
- Posts: 11
- Thank you received: 3
25 Mar 2025 15:26 - 25 Mar 2025 15:32 #324887
by workshop54
Replied by workshop54 on topic Struggling to get all encoders to show up on 7i77 via 7i94T
Ahhh, there they are.
I was doing grep 7i77 instead of grep enc.
Now I notice that the encoders are actually directly under the 7i94T, instead of the 7i77.
This makes me feel like a total newb again. (Well, I am in LinuxCNC, but not in programming)
Running the card on 192.168.1.121 works fine for me because I changed the NetworkManager config.
I tried to get the card on 10.10.10.10 with mesaflash —device 7i94t —addr 192.168.1.121 —set ip=10.10.10.10, but that doesn’t work for some reason.
The chrt command you gave me showed no packet loss.
I was doing grep 7i77 instead of grep enc.
Now I notice that the encoders are actually directly under the 7i94T, instead of the 7i77.
This makes me feel like a total newb again. (Well, I am in LinuxCNC, but not in programming)
Running the card on 192.168.1.121 works fine for me because I changed the NetworkManager config.
I tried to get the card on 10.10.10.10 with mesaflash —device 7i94t —addr 192.168.1.121 —set ip=10.10.10.10, but that doesn’t work for some reason.
The chrt command you gave me showed no packet loss.
~/linuxcnc/configs/maho_mh400e$ sudo chrt 99 ping -i .001 -c 60000 -q 192.168.1.121
PING 192.168.1.121 (192.168.1.121) 56(84) bytes of data.
—- 192.168.1.121 ping statistics —-
60000 packets transmitted, 60000 received, 0% packet loss, time 60022ms
rtt min/avg/max/mdev = 0.137/0.258/0.477/0.030 ms
Last edit: 25 Mar 2025 15:32 by workshop54. Reason: Inline code is not supported
Please Log in or Create an account to join the conversation.
- PCW
-
- Away
- Moderator
-
Less
More
- Posts: 18434
- Thank you received: 5034
25 Mar 2025 15:39 #324888
by PCW
Replied by PCW on topic Struggling to get all encoders to show up on 7i77 via 7i94T
You change to the EEPROM IP address (default is 10.10.10.10 )
by moving the IP address setting jumper (and power cycling)
What you did was re-write the EEPROM IP address to 10.10.10.10 (it was already that)
by moving the IP address setting jumper (and power cycling)
What you did was re-write the EEPROM IP address to 10.10.10.10 (it was already that)
The following user(s) said Thank You: workshop54
Please Log in or Create an account to join the conversation.
Moderators: PCW, jmelson
Time to create page: 0.085 seconds