Struggling to get all encoders to show up on 7i77 via 7i94T

More
1 year 7 months ago #324801 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:
Code:
~/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:
Code:
~/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:
Code:
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 to join the conversation.

More
1 year 7 months ago #324807 by PCW
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:

 

Attachment not found




 

Please Log in to join the conversation.

More
1 year 7 months ago #324887 by workshop54
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.
Code:
~/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

Please Log in to join the conversation.

More
1 year 7 months ago #324888 by PCW
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)

Please Log in to join the conversation.

Time to create page: 0.350 seconds
Powered by Kunena Forum