7i96s Questions
- slowpoke
- Offline
- Elite Member
Less
More
- Posts: 173
- Thank you received: 25
08 Jan 2025 13:31 - 08 Jan 2025 13:52 #318403
by slowpoke
7i96s Questions was created by slowpoke
Google search led me to this "Driver Boards" section of the forum, I had no idea it existed I was posting related question under General etc, apologies for my past transgressions.
My understanding is that some Mesa boards load their FPGA firmware every time they power up and others are non-volatile.So I guess:
1) If you have the former, you can just provide a different file in the correct location and change the boards functionality?
2) if you have the latter you need to re-flash the FPGA?
3) I'm using a 7196S for my lathe (WIP), so is the 7i96S volatile or non-volatile?
4) I have a quadrature encoding glass scale on my Z-axis connected to isolated inputs 0&1 (TB3-1&2), and this works fine unless I move quickly, apparently the inm's (I'm assuming this means input mux) scan rate can be increased. Not sure where the scan rate is changed, is that a HAL type parameter or do I need to reprogram the FPGA? And how do I increase the scan rate?
5) If after maximizing the mux scan rate I find it's still too slow for fast moves and I instead connect the scales to the P1 expansion port, do I need to re-flash the FPGA, or is it already configured for quadrature encoder inputs? In total I will need to connect two scales and one MPG. Not counting the spindle encoder connections to TB2. Where do I find documentation on the expansion port and mapping of quadrature inputs to those P1 pins?
your help is much appreciated.
My understanding is that some Mesa boards load their FPGA firmware every time they power up and others are non-volatile.So I guess:
1) If you have the former, you can just provide a different file in the correct location and change the boards functionality?
2) if you have the latter you need to re-flash the FPGA?
3) I'm using a 7196S for my lathe (WIP), so is the 7i96S volatile or non-volatile?
4) I have a quadrature encoding glass scale on my Z-axis connected to isolated inputs 0&1 (TB3-1&2), and this works fine unless I move quickly, apparently the inm's (I'm assuming this means input mux) scan rate can be increased. Not sure where the scan rate is changed, is that a HAL type parameter or do I need to reprogram the FPGA? And how do I increase the scan rate?
5) If after maximizing the mux scan rate I find it's still too slow for fast moves and I instead connect the scales to the P1 expansion port, do I need to re-flash the FPGA, or is it already configured for quadrature encoder inputs? In total I will need to connect two scales and one MPG. Not counting the spindle encoder connections to TB2. Where do I find documentation on the expansion port and mapping of quadrature inputs to those P1 pins?
your help is much appreciated.
Last edit: 08 Jan 2025 13:52 by slowpoke.
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19526
- Thank you received: 6553
08 Jan 2025 15:03 #318413
by tommylight
Replied by tommylight on topic 7i96s Questions
1. yes, older Mesa cards
2. No
3. 7i96S does not need flashing, except when other non standard features are required, and does not need to load firmware from HDD, it has it's own memory for it, twice i think as there is a fallback in case of mishaps on almost all new-ish Mesa boards.
4. and 5. i am not sure, so i'll shut up!
2. No
3. 7i96S does not need flashing, except when other non standard features are required, and does not need to load firmware from HDD, it has it's own memory for it, twice i think as there is a fallback in case of mishaps on almost all new-ish Mesa boards.
4. and 5. i am not sure, so i'll shut up!
The following user(s) said Thank You: slowpoke
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
Less
More
- Posts: 17994
- Thank you received: 4838
08 Jan 2025 16:06 #318420
by PCW
Replied by PCW on topic 7i96s Questions
If in question about hardware pin, parameter names, type this
at a terminal when LinuxCNC is running:
halcmd show all hm2
or to save all the names in a file (as a copy_paste source) :
halcmd show all hm2 > hm2names.txt
5:
For faster normal encoders, here is firmware that adds 6 encoders on P1:
at a terminal when LinuxCNC is running:
halcmd show all hm2
or to save all the names in a file (as a copy_paste source) :
halcmd show all hm2 > hm2names.txt
5:
For faster normal encoders, here is firmware that adds 6 encoders on P1:
Attachments:
The following user(s) said Thank You: slowpoke
Please Log in or Create an account to join the conversation.
- slowpoke
- Offline
- Elite Member
Less
More
- Posts: 173
- Thank you received: 25
08 Jan 2025 18:59 #318446
by slowpoke
Replied by slowpoke on topic 7i96s Questions
halcmd show all hm2 > hm2names.txt does not yield very much, see attached.
Okay,
I have mesaflash v3.4.9
My 7i96s is jumpered and presently setup at 10.10.10.10
Should I change the jumpers to 192.168.1.121 for the upgrade, or just change the upgrade commands as follows?
mesaflash --device 7I96s --addr 10.10.10.10 --write 7i96s_p1encd.bin
Than just power cycle the board.
Okay,
I have mesaflash v3.4.9
My 7i96s is jumpered and presently setup at 10.10.10.10
Should I change the jumpers to 192.168.1.121 for the upgrade, or just change the upgrade commands as follows?
mesaflash --device 7I96s --addr 10.10.10.10 --write 7i96s_p1encd.bin
Than just power cycle the board.
Attachments:
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
Less
More
- Posts: 17994
- Thank you received: 4838
08 Jan 2025 19:13 #318450
by PCW
Replied by PCW on topic 7i96s Questions
Looks like halcmd was run without running LinuxCNC
mesaflash --device 7I96s --addr 10.10.10.10 --write 7i96s_p1encd.bin
should work
mesaflash --device 7I96s --addr 10.10.10.10 --write 7i96s_p1encd.bin --reload
is probably better
mesaflash --device 7I96s --addr 10.10.10.10 --write 7i96s_p1encd.bin
should work
mesaflash --device 7I96s --addr 10.10.10.10 --write 7i96s_p1encd.bin --reload
is probably better
The following user(s) said Thank You: slowpoke
Please Log in or Create an account to join the conversation.
- slowpoke
- Offline
- Elite Member
Less
More
- Posts: 173
- Thank you received: 25
08 Jan 2025 20:51 - 08 Jan 2025 20:52 #318464
by slowpoke
Before I did the upgrade (Linux running) I captured all the hm2 stuff see: hm2names.txt
Then LinuxCNC closed, I did the upgrade and followed up with reload, that seemed to work see upgradetxt.txt
Then captured hm2 names again see: up_hm2names.txt
No apparent changes, and when I look in HalShow I only see encoder0, I was expecting to see a few more.
Not sure what I did wrong, unless I was supposed to do the write and reload in one pass instead of two?
Replied by slowpoke on topic 7i96s Questions
Seemed to upgrade, but I don't see additional encoders.Looks like halcmd was run without running LinuxCNC
mesaflash --device 7I96s --addr 10.10.10.10 --write 7i96s_p1encd.bin
should work
mesaflash --device 7I96s --addr 10.10.10.10 --write 7i96s_p1encd.bin --reload
is probably better
Before I did the upgrade (Linux running) I captured all the hm2 stuff see: hm2names.txt
Then LinuxCNC closed, I did the upgrade and followed up with reload, that seemed to work see upgradetxt.txt
Then captured hm2 names again see: up_hm2names.txt
No apparent changes, and when I look in HalShow I only see encoder0, I was expecting to see a few more.
Not sure what I did wrong, unless I was supposed to do the write and reload in one pass instead of two?
Attachments:
Last edit: 08 Jan 2025 20:52 by slowpoke.
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
Less
More
- Posts: 17994
- Thank you received: 4838
08 Jan 2025 20:56 #318466
by PCW
Replied by PCW on topic 7i96s Questions
Its likely you have only 1 encoder enabled in your hal file.
To check the pinout (and number of encoders):
mesaflash --device 7i96s --addr 10.10.10.10 --readhmid
To check the pinout (and number of encoders):
mesaflash --device 7i96s --addr 10.10.10.10 --readhmid
Please Log in or Create an account to join the conversation.
- slowpoke
- Offline
- Elite Member
Less
More
- Posts: 173
- Thank you received: 25
09 Jan 2025 01:13 #318484
by slowpoke
IO Connections for P1 -> 7I96_2
Pin# I/O Pri. func Sec. func Chan Sec. Pin func Sec. Pin Dir
P1-01/DB25-01 34 IOPort QCount 1 Quad-A (In)
P1-02/DB25-14 35 IOPort QCount 1 Quad-B (In)
P1-03/DB25-02 36 IOPort QCount 1 Quad-IDX (In)
etc......
This is how I previously tested the basic DRO concept with A&B driving isolated inputs 0&1:
loadrt conv_s32_float count=1
addf conv-s32-float.0 servo-thread
loadrt scale count=2
addf scale.0 servo-thread
setp scale.0.offset 0.0
# 0.02mm = 0.0007874"
setp scale.0.gain 0.0007874
net ydro-in-i hm2_7i96s.0.inm.00.enc0-count => conv-s32-float.0.in
net ydro-in-f conv-s32-float.0.out => scale.0.in
net ydro <= scale.0.out
So now in my HAL file what should I replace hm2_7i96s.0.inm.00.enc0-count with when using the P1-01 & P1-02 pins instead of the slow but isolated TB3:1&2 pins?
Much appreciated
Replied by slowpoke on topic 7i96s Questions
Thank you getting somewhere......Its likely you have only 1 encoder enabled in your hal file.
To check the pinout (and number of encoders):
mesaflash --device 7i96s --addr 10.10.10.10 --readhmid
IO Connections for P1 -> 7I96_2
Pin# I/O Pri. func Sec. func Chan Sec. Pin func Sec. Pin Dir
P1-01/DB25-01 34 IOPort QCount 1 Quad-A (In)
P1-02/DB25-14 35 IOPort QCount 1 Quad-B (In)
P1-03/DB25-02 36 IOPort QCount 1 Quad-IDX (In)
etc......
This is how I previously tested the basic DRO concept with A&B driving isolated inputs 0&1:
loadrt conv_s32_float count=1
addf conv-s32-float.0 servo-thread
loadrt scale count=2
addf scale.0 servo-thread
setp scale.0.offset 0.0
# 0.02mm = 0.0007874"
setp scale.0.gain 0.0007874
net ydro-in-i hm2_7i96s.0.inm.00.enc0-count => conv-s32-float.0.in
net ydro-in-f conv-s32-float.0.out => scale.0.in
net ydro <= scale.0.out
So now in my HAL file what should I replace hm2_7i96s.0.inm.00.enc0-count with when using the P1-01 & P1-02 pins instead of the slow but isolated TB3:1&2 pins?
Much appreciated
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
Less
More
- Posts: 17994
- Thank you received: 4838
09 Jan 2025 02:53 - 09 Jan 2025 03:31 #318494
by PCW
Replied by PCW on topic 7i96s Questions
The first P1 encoder is encoder 1 so the position would be:
hm2_7i96s.0.encoder.01.position
and the most important parameter for that encoder would be:
hm2_7i96s.0.encoder.01.scale
hm2_7i96s.0.encoder.01.position
and the most important parameter for that encoder would be:
hm2_7i96s.0.encoder.01.scale
Last edit: 09 Jan 2025 03:31 by PCW.
The following user(s) said Thank You: slowpoke
Please Log in or Create an account to join the conversation.
- slowpoke
- Offline
- Elite Member
Less
More
- Posts: 173
- Thank you received: 25
10 Jan 2025 22:27 #318668
by slowpoke
I'm ready to press the send button for a free PCB, but I can tweak if you have any suggestions.
Re: hm2_7i96s.0.encoder.01.scale, can I assume that's a float value? Is there documentation available for the finer details of the 7i96s_p1encd.bin?
Replied by slowpoke on topic 7i96s Questions
After your warning (thanks) I was going to solder up a little proto-board with some protection diodes for the negative rail. Then decided to just do a quick and dirty actual PCB. I will obviously be careful when connecting, and to your point chassis ground is not zero volts. I inserted a 100r series resistor and TVS, please see attached and let me know if you think this is adequate?The first P1 encoder is encoder 1 so the position would be:
hm2_7i96s.0.encoder.01.position
and the most important parameter for that encoder would be:
hm2_7i96s.0.encoder.01.scale
I'm ready to press the send button for a free PCB, but I can tweak if you have any suggestions.
Re: hm2_7i96s.0.encoder.01.scale, can I assume that's a float value? Is there documentation available for the finer details of the 7i96s_p1encd.bin?
Attachments:
Please Log in or Create an account to join the conversation.
Moderators: PCW, jmelson
Time to create page: 0.076 seconds