Where to start with Mesa 7i92 + 7i85S
21 Nov 2015 03:31 #65592
by Jrjones
Where to start with Mesa 7i92 + 7i85S was created by Jrjones
Hi,
To replace a Protrak M3 controller whose driver board crapped out, I decided to go with LinuxCNC, based on information that I could find to keep using the existing servo drives to keep costs low, and talking to Mesa Electronics and this thread: forum.linuxcnc.org/forum/30-cnc-machines...ch-boards-mesa#64026
Currently I'm waiting for the 7i92 and 7i85S to arrive so I'm running a virtual machine with Debian Wheezy and LinuxCNC 2.7.2 to get used to how to configure and operate LinuxCNC before having the hardware.
I'm a little lost on how to configure LinuxCNC for the 7i92 and 7i85S though, since they are not yet supported by PCNConf Wizard.
From searching I believe I'm supposed to edit a HAL file, is there a how to on this somewhere?
The servo drives expect a 15.5kHz differential PWM signal instead of a more traditional step/direction input.
Another question I have, the servos have their own encoders, and there are also glass scales fitted on the axis as well. Should I use the glass scales in addition to the encoders for feedback and position info?
To replace a Protrak M3 controller whose driver board crapped out, I decided to go with LinuxCNC, based on information that I could find to keep using the existing servo drives to keep costs low, and talking to Mesa Electronics and this thread: forum.linuxcnc.org/forum/30-cnc-machines...ch-boards-mesa#64026
Currently I'm waiting for the 7i92 and 7i85S to arrive so I'm running a virtual machine with Debian Wheezy and LinuxCNC 2.7.2 to get used to how to configure and operate LinuxCNC before having the hardware.
I'm a little lost on how to configure LinuxCNC for the 7i92 and 7i85S though, since they are not yet supported by PCNConf Wizard.
From searching I believe I'm supposed to edit a HAL file, is there a how to on this somewhere?
The servo drives expect a 15.5kHz differential PWM signal instead of a more traditional step/direction input.
Another question I have, the servos have their own encoders, and there are also glass scales fitted on the axis as well. Should I use the glass scales in addition to the encoders for feedback and position info?
Please Log in or Create an account to join the conversation.
21 Nov 2015 07:00 #65593
by Rick G
Replied by Rick G on topic Where to start with Mesa 7i92 + 7i85S
Please Log in or Create an account to join the conversation.
21 Nov 2015 13:24 #65600
by techrat
Replied by techrat on topic Where to start with Mesa 7i92 + 7i85S
Hi there,
Glad to see you pulled the trigger on this conversion! I had started the thread you linked to in your original post. I have not yet however ordered the boards primarily due to time constraints and number of other projects. I will be following along closely with your progress on this and will be glad to offer my assistance in any way possible. I would love nothing more that to help you be wildly successful with your project and learn some things to improve my chances for success on my conversion.
I can certainly offer to be a fallback "control" case for your "experiment" in that I am not going to start taking my machine apart yet so if you need signals, connection info etc after you take the plunge, I will be glad to help with that. Also, I will be glad to collaborate on the hal files with you. I have never worked with the hal files but will need to for my conversion so am willing to invest in learning about them.
On the subject of the motor encoders versus scales, I have motor encoders and trak wheels on my machine so essentially two feedback sources as well. If I had the glass scales, I would be inclined to use them for feedback as they in effect cancel out mechanical backlash and indicate the truest movement of your axis. I am a little skeptical of my Trak wheels but am still undecided on how to approach this. I believe there is a way to use both feedback sources but from what I have heard it seems more complicated.
I look forward to follow along with your progress and help in any way that I can. Please feel free to PM me if you prefer.
Glad to see you pulled the trigger on this conversion! I had started the thread you linked to in your original post. I have not yet however ordered the boards primarily due to time constraints and number of other projects. I will be following along closely with your progress on this and will be glad to offer my assistance in any way possible. I would love nothing more that to help you be wildly successful with your project and learn some things to improve my chances for success on my conversion.
I can certainly offer to be a fallback "control" case for your "experiment" in that I am not going to start taking my machine apart yet so if you need signals, connection info etc after you take the plunge, I will be glad to help with that. Also, I will be glad to collaborate on the hal files with you. I have never worked with the hal files but will need to for my conversion so am willing to invest in learning about them.
On the subject of the motor encoders versus scales, I have motor encoders and trak wheels on my machine so essentially two feedback sources as well. If I had the glass scales, I would be inclined to use them for feedback as they in effect cancel out mechanical backlash and indicate the truest movement of your axis. I am a little skeptical of my Trak wheels but am still undecided on how to approach this. I believe there is a way to use both feedback sources but from what I have heard it seems more complicated.
I look forward to follow along with your progress and help in any way that I can. Please feel free to PM me if you prefer.
The following user(s) said Thank You: Jrjones
Please Log in or Create an account to join the conversation.
06 Jan 2016 23:13 #67989
by Jrjones
Replied by Jrjones on topic Where to start with Mesa 7i92 + 7i85S
Ok, I got the boards from Mesa just before the holidays, and now I finally have some time to sit down to figure things out.
I've installed LinuxCNC Debian Wheezy on my laptop for testing, and am able to ping the 7I92 board.
That's about as far as I've gotten, I honestly have no idea how to proceed from here.
From what I've read the easiest would be to use the PNCconf utility to make a config for a 5I25 card and change the naming and addressing to the 7I92 after.
But I'm not sure how I would configure a 5I25 board with a 7I85S daugtherboard.
I've read and worked through the basic hal tutorial, and I think I understand what to use the halcmd for, but I'm not quite at that stage yet.
This is how I intend to connect the servos/encoders to the 7I85S:
I'm going to continue on by reading how to use mesaflash and maybe that will give me some insight on how to proceed.
I've installed LinuxCNC Debian Wheezy on my laptop for testing, and am able to ping the 7I92 board.
That's about as far as I've gotten, I honestly have no idea how to proceed from here.
From what I've read the easiest would be to use the PNCconf utility to make a config for a 5I25 card and change the naming and addressing to the 7I92 after.
But I'm not sure how I would configure a 5I25 board with a 7I85S daugtherboard.
I've read and worked through the basic hal tutorial, and I think I understand what to use the halcmd for, but I'm not quite at that stage yet.
This is how I intend to connect the servos/encoders to the 7I85S:
I'm going to continue on by reading how to use mesaflash and maybe that will give me some insight on how to proceed.
Please Log in or Create an account to join the conversation.
07 Jan 2016 00:25 #67994
by andypugh
Replied by andypugh on topic Where to start with Mesa 7i92 + 7i85S
Mesaflash is only needed if you have the wrong firmware.
With any luck the installed firmware is on a sticker on the board.
Have you read this?
linuxcnc.org/docs/2.7/html/man/man9/hm2_eth.9.html
One way to get some useful information. Open a terminal:You will either get a nice list of all your HAL pins, or a string of error messages.
With any luck the installed firmware is on a sticker on the board.
Have you read this?
linuxcnc.org/docs/2.7/html/man/man9/hm2_eth.9.html
One way to get some useful information. Open a terminal:
halrun
loadrt hostmot2
loadrt hm2_eth board_ip=192.168.1.121
show pin
exit
Please Log in or Create an account to join the conversation.
07 Jan 2016 01:03 #67995
by Jrjones
Replied by Jrjones on topic Where to start with Mesa 7i92 + 7i85S
I didn't see that, thanks.
I tried to get the info for the HAL pins, but i get the following message:
Does the hm2_eth support the 7I92? The documentation says it is for the 7I80DB and 7I80HD
I'm not sure if I have my ethernet port setup right, I have it set as:
Connection name: eth1
under IPV4 Settings,
Address: 192.168.1.24
Netmask: 255.255.255.0
Gateway: 192.168.1.1
Is that correct? I'm not familiar with the wording of "network 192.168.1/24" so I might have my port settings incorrect.
The only sticker I have on the board is the board type, mac address, and barcode,
but I was able to get the some board info via mesaflash.
root@debian:~# mesaflash --device 7I92 --verbose
I tried to get the info for the HAL pins, but i get the following message:
halcmd: loadrt hm2_eth board_ip=192.168.1.121
<stdin>:4: Can't find module 'hm2_eth' in /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc
Does the hm2_eth support the 7I92? The documentation says it is for the 7I80DB and 7I80HD
I'm not sure if I have my ethernet port setup right, I have it set as:
Connection name: eth1
under IPV4 Settings,
Address: 192.168.1.24
Netmask: 255.255.255.0
Gateway: 192.168.1.1
Is that correct? I'm not familiar with the wording of "network 192.168.1/24" so I might have my port settings incorrect.
The only sticker I have on the board is the board type, mac address, and barcode,
but I was able to get the some board info via mesaflash.
root@debian:~# mesaflash --device 7I92 --verbose
ETH device 7I92 at ip=192.168.1.121
Communication:
transport layer: ethernet IPv4 UDP
ip address: 192.168.1.121
mac address: 00:60:1B:11:00:4D
protocol: LBP16 version 3
Board info:
Flash size: 16Mb (id: 0x14)
Connectors count: 2
Pins per connector: 17
Connectors names: P2 P1
FPGA type: 6slx9tqg144
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:11:00:4D
ip address: 10.10.10.10
board name: 7I92
user leds: eth debug
[space 3] FPGA flash eeprom:
flash size: 16Mb (id: 0x14)
[space 4] timers:
uSTimeStampReg: 0x2487
WaituSReg: 0x0000
HM2Timeout: 0x0000
[space 6] LBP16 control/status:
packets received: all 1820, UDP 22, bad 0
packets sended: all 31, UDP 22, 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: 7I92
LBP16 protocol version 3
board firmware version 15
IP address jumpers at boot: fixed 192.168.1.121
Please Log in or Create an account to join the conversation.
07 Jan 2016 01:08 - 07 Jan 2016 01:14 #67997
by andypugh
Replied by andypugh on topic Where to start with Mesa 7i92 + 7i85S
You can't use hm2_eth with the RTAI kernel. You need the preempt-rt kernel.
You should be able to start from step 2 here:
linuxcnc.org/docs/2.7/html/getting-start...th_preempt_rt_kernel
(You basically need to install a new kernel and a different variant of LinuxCNC to match it. But it ought to be fairly straightforward)
Step 6 could be clearer. You can do what it suggests in the Synaptic package manager. (System->Synaptic Package Manager. Then Settings->Repositories: Other Software tab, and the Add button
Or edit//create the /etc/apt/sources.list.d/linuxcnc.list file
You should be able to start from step 2 here:
linuxcnc.org/docs/2.7/html/getting-start...th_preempt_rt_kernel
(You basically need to install a new kernel and a different variant of LinuxCNC to match it. But it ought to be fairly straightforward)
Step 6 could be clearer. You can do what it suggests in the Synaptic package manager. (System->Synaptic Package Manager. Then Settings->Repositories: Other Software tab, and the Add button
Or edit//create the /etc/apt/sources.list.d/linuxcnc.list file
Last edit: 07 Jan 2016 01:14 by andypugh.
Please Log in or Create an account to join the conversation.
07 Jan 2016 01:45 #68000
by Jrjones
Replied by Jrjones on topic Where to start with Mesa 7i92 + 7i85S
Awesome, I remembered reading about that a few months ago but forgot about it.
I'm slowly getting the hang of this.
I'm slowly getting the hang of this.
Component Pins:
Owner Type Dir Value Name
9 float IN 100 hm2_7i92.0.dpll.01.timer-us
9 float IN 100 hm2_7i92.0.dpll.02.timer-us
9 float IN 100 hm2_7i92.0.dpll.03.timer-us
9 float IN 100 hm2_7i92.0.dpll.04.timer-us
9 float IN -1 hm2_7i92.0.dpll.base-freq-khz
9 u32 OUT 0x00000000 hm2_7i92.0.dpll.ddsize
9 float OUT 0 hm2_7i92.0.dpll.phase-error-us
9 u32 IN 0x00400000 hm2_7i92.0.dpll.plimit
9 u32 OUT 0x00000001 hm2_7i92.0.dpll.prescale
9 u32 IN 0x000007D0 hm2_7i92.0.dpll.time-const
9 s32 OUT 0 hm2_7i92.0.encoder.00.count
9 s32 OUT 0 hm2_7i92.0.encoder.00.count-latched
9 bit I/O FALSE hm2_7i92.0.encoder.00.index-enable
9 bit OUT TRUE hm2_7i92.0.encoder.00.input-a
9 bit OUT TRUE hm2_7i92.0.encoder.00.input-b
9 bit OUT FALSE hm2_7i92.0.encoder.00.input-index
9 bit IN FALSE hm2_7i92.0.encoder.00.latch-enable
9 bit IN FALSE hm2_7i92.0.encoder.00.latch-polarity
9 float OUT 0 hm2_7i92.0.encoder.00.position
9 float OUT 0 hm2_7i92.0.encoder.00.position-latched
9 bit OUT FALSE hm2_7i92.0.encoder.00.quad-error
9 bit IN FALSE hm2_7i92.0.encoder.00.quad-error-enable
9 s32 OUT 0 hm2_7i92.0.encoder.00.rawcounts
9 s32 OUT 0 hm2_7i92.0.encoder.00.rawlatch
9 bit IN FALSE hm2_7i92.0.encoder.00.reset
9 float OUT 0 hm2_7i92.0.encoder.00.velocity
9 u32 IN 0x017D7840 hm2_7i92.0.encoder.sample-frequency
9 bit OUT FALSE hm2_7i92.0.gpio.000.in
9 bit OUT TRUE hm2_7i92.0.gpio.000.in_not
9 bit OUT FALSE hm2_7i92.0.gpio.001.in
9 bit OUT TRUE hm2_7i92.0.gpio.001.in_not
9 bit OUT FALSE hm2_7i92.0.gpio.002.in
9 bit OUT TRUE hm2_7i92.0.gpio.002.in_not
9 bit OUT FALSE hm2_7i92.0.gpio.003.in
9 bit OUT TRUE hm2_7i92.0.gpio.003.in_not
9 bit OUT FALSE hm2_7i92.0.gpio.004.in
9 bit OUT TRUE hm2_7i92.0.gpio.004.in_not
9 bit OUT FALSE hm2_7i92.0.gpio.005.in
9 bit OUT TRUE hm2_7i92.0.gpio.005.in_not
9 bit OUT FALSE hm2_7i92.0.gpio.006.in
9 bit OUT TRUE hm2_7i92.0.gpio.006.in_not
9 bit OUT FALSE hm2_7i92.0.gpio.007.in
9 bit OUT TRUE hm2_7i92.0.gpio.007.in_not
9 bit OUT FALSE hm2_7i92.0.gpio.008.in
9 bit OUT TRUE hm2_7i92.0.gpio.008.in_not
9 bit OUT FALSE hm2_7i92.0.gpio.009.in
9 bit OUT TRUE hm2_7i92.0.gpio.009.in_not
9 bit OUT TRUE hm2_7i92.0.gpio.010.in
9 bit OUT FALSE hm2_7i92.0.gpio.010.in_not
9 bit IN FALSE hm2_7i92.0.gpio.010.out
9 bit OUT TRUE hm2_7i92.0.gpio.011.in
9 bit OUT FALSE hm2_7i92.0.gpio.011.in_not
9 bit IN FALSE hm2_7i92.0.gpio.011.out
9 bit OUT TRUE hm2_7i92.0.gpio.012.in
9 bit OUT FALSE hm2_7i92.0.gpio.012.in_not
9 bit IN FALSE hm2_7i92.0.gpio.012.out
9 bit OUT TRUE hm2_7i92.0.gpio.013.in
9 bit OUT FALSE hm2_7i92.0.gpio.013.in_not
9 bit IN FALSE hm2_7i92.0.gpio.013.out
9 bit OUT TRUE hm2_7i92.0.gpio.014.in
9 bit OUT FALSE hm2_7i92.0.gpio.014.in_not
9 bit OUT TRUE hm2_7i92.0.gpio.015.in
9 bit OUT FALSE hm2_7i92.0.gpio.015.in_not
9 bit OUT TRUE hm2_7i92.0.gpio.016.in
9 bit OUT FALSE hm2_7i92.0.gpio.016.in_not
9 bit OUT TRUE hm2_7i92.0.gpio.017.in
9 bit OUT FALSE hm2_7i92.0.gpio.017.in_not
9 bit IN FALSE hm2_7i92.0.gpio.017.out
9 bit OUT TRUE hm2_7i92.0.gpio.018.in
9 bit OUT FALSE hm2_7i92.0.gpio.018.in_not
9 bit IN FALSE hm2_7i92.0.gpio.018.out
9 bit OUT TRUE hm2_7i92.0.gpio.019.in
9 bit OUT FALSE hm2_7i92.0.gpio.019.in_not
9 bit IN FALSE hm2_7i92.0.gpio.019.out
9 bit OUT TRUE hm2_7i92.0.gpio.020.in
9 bit OUT FALSE hm2_7i92.0.gpio.020.in_not
9 bit IN FALSE hm2_7i92.0.gpio.020.out
9 bit OUT TRUE hm2_7i92.0.gpio.021.in
9 bit OUT FALSE hm2_7i92.0.gpio.021.in_not
9 bit IN FALSE hm2_7i92.0.gpio.021.out
9 bit OUT TRUE hm2_7i92.0.gpio.022.in
9 bit OUT FALSE hm2_7i92.0.gpio.022.in_not
9 bit IN FALSE hm2_7i92.0.gpio.022.out
9 bit OUT TRUE hm2_7i92.0.gpio.023.in
9 bit OUT FALSE hm2_7i92.0.gpio.023.in_not
9 bit IN FALSE hm2_7i92.0.gpio.023.out
9 bit OUT TRUE hm2_7i92.0.gpio.024.in
9 bit OUT FALSE hm2_7i92.0.gpio.024.in_not
9 bit IN FALSE hm2_7i92.0.gpio.024.out
9 bit OUT TRUE hm2_7i92.0.gpio.025.in
9 bit OUT FALSE hm2_7i92.0.gpio.025.in_not
9 bit IN FALSE hm2_7i92.0.gpio.025.out
9 bit OUT TRUE hm2_7i92.0.gpio.026.in
9 bit OUT FALSE hm2_7i92.0.gpio.026.in_not
9 bit IN FALSE hm2_7i92.0.gpio.026.out
9 bit OUT TRUE hm2_7i92.0.gpio.027.in
9 bit OUT FALSE hm2_7i92.0.gpio.027.in_not
9 bit IN FALSE hm2_7i92.0.gpio.027.out
9 bit OUT TRUE hm2_7i92.0.gpio.028.in
9 bit OUT FALSE hm2_7i92.0.gpio.028.in_not
9 bit IN FALSE hm2_7i92.0.gpio.028.out
9 bit OUT TRUE hm2_7i92.0.gpio.029.in
9 bit OUT FALSE hm2_7i92.0.gpio.029.in_not
9 bit IN FALSE hm2_7i92.0.gpio.029.out
9 bit OUT TRUE hm2_7i92.0.gpio.030.in
9 bit OUT FALSE hm2_7i92.0.gpio.030.in_not
9 bit IN FALSE hm2_7i92.0.gpio.030.out
9 bit OUT TRUE hm2_7i92.0.gpio.031.in
9 bit OUT FALSE hm2_7i92.0.gpio.031.in_not
9 bit IN FALSE hm2_7i92.0.gpio.031.out
9 bit OUT TRUE hm2_7i92.0.gpio.032.in
9 bit OUT FALSE hm2_7i92.0.gpio.032.in_not
9 bit IN FALSE hm2_7i92.0.gpio.032.out
9 bit OUT TRUE hm2_7i92.0.gpio.033.in
9 bit OUT FALSE hm2_7i92.0.gpio.033.in_not
9 bit IN FALSE hm2_7i92.0.gpio.033.out
9 bit IN FALSE hm2_7i92.0.led.CR01
9 bit IN FALSE hm2_7i92.0.led.CR02
9 bit IN FALSE hm2_7i92.0.led.CR03
9 bit IN FALSE hm2_7i92.0.led.CR04
9 s32 OUT 0 hm2_7i92.0.read-request.time
9 s32 OUT 0 hm2_7i92.0.read.time
9 bit IN FALSE hm2_7i92.0.stepgen.00.control-type
9 s32 OUT 0 hm2_7i92.0.stepgen.00.counts
9 float OUT 0 hm2_7i92.0.stepgen.00.dbg_err_at_match
9 float OUT 0 hm2_7i92.0.stepgen.00.dbg_ff_vel
9 float OUT 0 hm2_7i92.0.stepgen.00.dbg_pos_minus_prev_cmd
9 float OUT 0 hm2_7i92.0.stepgen.00.dbg_s_to_match
9 s32 OUT 0 hm2_7i92.0.stepgen.00.dbg_step_rate
9 float OUT 0 hm2_7i92.0.stepgen.00.dbg_vel_error
9 bit IN FALSE hm2_7i92.0.stepgen.00.enable
9 float IN 0 hm2_7i92.0.stepgen.00.position-cmd
9 float OUT 0 hm2_7i92.0.stepgen.00.position-fb
9 float IN 0 hm2_7i92.0.stepgen.00.velocity-cmd
9 float OUT 0 hm2_7i92.0.stepgen.00.velocity-fb
9 bit IN FALSE hm2_7i92.0.stepgen.01.control-type
9 s32 OUT 0 hm2_7i92.0.stepgen.01.counts
9 float OUT 0 hm2_7i92.0.stepgen.01.dbg_err_at_match
9 float OUT 0 hm2_7i92.0.stepgen.01.dbg_ff_vel
9 float OUT 0 hm2_7i92.0.stepgen.01.dbg_pos_minus_prev_cmd
9 float OUT 0 hm2_7i92.0.stepgen.01.dbg_s_to_match
9 s32 OUT 0 hm2_7i92.0.stepgen.01.dbg_step_rate
9 float OUT 0 hm2_7i92.0.stepgen.01.dbg_vel_error
9 bit IN FALSE hm2_7i92.0.stepgen.01.enable
9 float IN 0 hm2_7i92.0.stepgen.01.position-cmd
9 float OUT 0 hm2_7i92.0.stepgen.01.position-fb
9 float IN 0 hm2_7i92.0.stepgen.01.velocity-cmd
9 float OUT 0 hm2_7i92.0.stepgen.01.velocity-fb
9 bit IN FALSE hm2_7i92.0.stepgen.02.control-type
9 s32 OUT 0 hm2_7i92.0.stepgen.02.counts
9 float OUT 0 hm2_7i92.0.stepgen.02.dbg_err_at_match
9 float OUT 0 hm2_7i92.0.stepgen.02.dbg_ff_vel
9 float OUT 0 hm2_7i92.0.stepgen.02.dbg_pos_minus_prev_cmd
9 float OUT 0 hm2_7i92.0.stepgen.02.dbg_s_to_match
9 s32 OUT 0 hm2_7i92.0.stepgen.02.dbg_step_rate
9 float OUT 0 hm2_7i92.0.stepgen.02.dbg_vel_error
9 bit IN FALSE hm2_7i92.0.stepgen.02.enable
9 float IN 0 hm2_7i92.0.stepgen.02.position-cmd
9 float OUT 0 hm2_7i92.0.stepgen.02.position-fb
9 float IN 0 hm2_7i92.0.stepgen.02.velocity-cmd
9 float OUT 0 hm2_7i92.0.stepgen.02.velocity-fb
9 bit IN FALSE hm2_7i92.0.stepgen.03.control-type
9 s32 OUT 0 hm2_7i92.0.stepgen.03.counts
9 float OUT 0 hm2_7i92.0.stepgen.03.dbg_err_at_match
9 float OUT 0 hm2_7i92.0.stepgen.03.dbg_ff_vel
9 float OUT 0 hm2_7i92.0.stepgen.03.dbg_pos_minus_prev_cmd
9 float OUT 0 hm2_7i92.0.stepgen.03.dbg_s_to_match
9 s32 OUT 0 hm2_7i92.0.stepgen.03.dbg_step_rate
9 float OUT 0 hm2_7i92.0.stepgen.03.dbg_vel_error
9 bit IN FALSE hm2_7i92.0.stepgen.03.enable
9 float IN 0 hm2_7i92.0.stepgen.03.position-cmd
9 float OUT 0 hm2_7i92.0.stepgen.03.position-fb
9 float IN 0 hm2_7i92.0.stepgen.03.velocity-cmd
9 float OUT 0 hm2_7i92.0.stepgen.03.velocity-fb
9 bit IN FALSE hm2_7i92.0.stepgen.04.control-type
9 s32 OUT 0 hm2_7i92.0.stepgen.04.counts
9 float OUT 0 hm2_7i92.0.stepgen.04.dbg_err_at_match
9 float OUT 0 hm2_7i92.0.stepgen.04.dbg_ff_vel
9 float OUT 0 hm2_7i92.0.stepgen.04.dbg_pos_minus_prev_cmd
9 float OUT 0 hm2_7i92.0.stepgen.04.dbg_s_to_match
9 s32 OUT 0 hm2_7i92.0.stepgen.04.dbg_step_rate
9 float OUT 0 hm2_7i92.0.stepgen.04.dbg_vel_error
9 bit IN FALSE hm2_7i92.0.stepgen.04.enable
9 float IN 0 hm2_7i92.0.stepgen.04.position-cmd
9 float OUT 0 hm2_7i92.0.stepgen.04.position-fb
9 float IN 0 hm2_7i92.0.stepgen.04.velocity-cmd
9 float OUT 0 hm2_7i92.0.stepgen.04.velocity-fb
9 s32 IN -1 hm2_7i92.0.stepgen.timer-number
9 bit I/O FALSE hm2_7i92.0.watchdog.has_bit
9 s32 OUT 0 hm2_7i92.0.write.time
Please Log in or Create an account to join the conversation.
07 Jan 2016 02:15 #68002
by PCW
Replied by PCW on topic Where to start with Mesa 7i92 + 7i85S
You probably want this firmware:
7i92_7i85sx2D.bit
which you fetch from mesa and install with mesaflash
sudo apt-get install mesaflash
mesaflash --device 7i92 --write 7i92_7i85sx2D.bit (write the 7I92 flash memory with 7I85S firmware)
mesaflash --device 7i92 --reload (load the FPGA with the new firmware)
mesaflash --device 7i92 --readhmid (read out the current pinout/modules)
(I think mesaflash will use the default 192.168.1.121 IP address if not specified,
if not or if you changed the 7I92s IP address, you need to add the address to the mesaflash command line)
7i92_7i85sx2D.bit
which you fetch from mesa and install with mesaflash
sudo apt-get install mesaflash
mesaflash --device 7i92 --write 7i92_7i85sx2D.bit (write the 7I92 flash memory with 7I85S firmware)
mesaflash --device 7i92 --reload (load the FPGA with the new firmware)
mesaflash --device 7i92 --readhmid (read out the current pinout/modules)
(I think mesaflash will use the default 192.168.1.121 IP address if not specified,
if not or if you changed the 7I92s IP address, you need to add the address to the mesaflash command line)
Please Log in or Create an account to join the conversation.
07 Jan 2016 11:45 #68012
by andypugh
So, if you create a 5i25 configuration as a way to get the right file structure, you can then go through the INI and HAL files changing the pin names to suit the ones from the list. You may also need to use the "show param" command to get the HAL parameters (various settings that don't change during operation).
As PCW said, getting a bitfile to suit your application might be necessary.
There should be a listing somewhere of how the Mesa functions are mapped to the hardware pins on the 7i92. This is in dmesg with RTAI, but I don't know where it ends up with rt-preempt.
Replied by andypugh on topic Where to start with Mesa 7i92 + 7i85S
Component Pins: Owner Type Dir Value Name 9 float IN 100 hm2_7i92.0.dpll.01.timer-us 9 float IN 100 hm2_7i92.0.dpll.02.timer-us 9 float IN 100 hm2_7i92.0.dpll.03.timer-us 9 float IN 100 hm2_7i92.0.dpll.04.timer-us 9 float IN -1 hm2_7i92.0.dpll.base-freq-khz 9 u32 OUT 0x00000000 hm2_7i92.0.dpll.ddsize 9 float OUT 0 hm2_7i92.0.dpll.phase-error-us 9 u32 IN 0x00400000 hm2_7i92.0.dpll.plimit 9 u32 OUT 0x00000001 hm2_7i92.0.dpll.prescale 9 u32 IN 0x000007D0 hm2_7i92.0.dpll.time-const 9 s32 OUT 0 hm2_7i92.0.encoder.00.count ...
So, if you create a 5i25 configuration as a way to get the right file structure, you can then go through the INI and HAL files changing the pin names to suit the ones from the list. You may also need to use the "show param" command to get the HAL parameters (various settings that don't change during operation).
As PCW said, getting a bitfile to suit your application might be necessary.
There should be a listing somewhere of how the Mesa functions are mapped to the hardware pins on the 7i92. This is in dmesg with RTAI, but I don't know where it ends up with rt-preempt.
Please Log in or Create an account to join the conversation.
Time to create page: 0.102 seconds