- Posts: 20
- Thank you received: 0
7i76e + 7I73 Help
4 years 1 month ago #251189
by joshwuh
7i76e + 7I73 Help was created by joshwuh
Hello,
I've spent the better part of 3 hours now trying to figure out how all of this comes together, and I've gotten to the point where I think I've just got to ask some questions. I have a 7i76e that I want to use in conjunction with a 7I73 for a pendant. My machine is already up and running with the 7i76e for a couple years now, and I think I've got the pendant wiring all figured out to work with a 4x8 keypad and LCD.
The pendant is currently *not* connected to the 7i76e. I was trying to figure everything out before connecting.
Some details of my journey so far:
I've spent the better part of 3 hours now trying to figure out how all of this comes together, and I've gotten to the point where I think I've just got to ask some questions. I have a 7i76e that I want to use in conjunction with a 7I73 for a pendant. My machine is already up and running with the 7i76e for a couple years now, and I think I've got the pendant wiring all figured out to work with a 4x8 keypad and LCD.
The pendant is currently *not* connected to the 7i76e. I was trying to figure everything out before connecting.
Some details of my journey so far:
- Page 20 of the 7i76e manual describes how to connect a CAT5/6 cable to TB3 to utilize the RS-422 interface. I got this part down.
- andypugh's post about "Mesa Card Basics" gave some good starting point details, including making me aware of hostmot2 and mesaflash
- I found a YouTube video in German that has shown me how to use mesaflash to flash a .bit file to a 7i76e (although - I do not know German so I cannot decipher the words he is saying).
- I downloaded this .zip file from the mesa website that contains some hostmot2 configs (7i76 + 7i73 does not appear to be one of them)
- It seems like the first step is to make the 7i76e aware that it should expect a 7I73 to be connected to pins 15-20 on TB3. This seems to be the purpose of flashing. When I do
I get a readout that appears to be the standard response -- it shows 3 "SSerial" values for secondary functions on Pin #7-10 on "on-card", but I do not see how those numbers would correspond to TB3's.Code:mesaflash --device 7i76e --addr 10.10.10.10 readhmid
- Somehow I need to get the "configuration" of the 7I73 sent over to it. It seems like this is done in HAL? I found this page which makes me think I will have commands in a HAL file that will tell the 7I73 how it is expected to behave.
- Somewhere in this whole ordeal I'll need the nonvolatile memory parameter
to be configured so I can set the LCD contrast.Code:.7i73.0.1.nvcontrast
Please Log in to join the conversation.
4 years 1 month ago #251190
by joshwuh
Replied by joshwuh on topic 7i76e + 7I73 Help
Correction to above - the readhmid response has 4* SSerial entries. Here are the results of that query:
Warning: Spoiler!
Code:
joshua@printnc:~$ mesaflash --device 7i76e --addr 10.10.10.10 --sserial
SSLBP port 0:
SSLBP Version: 1.43
SSLBP Channels: 2
SSLBP Baud Rate: 2500000
sserial device at channel 0: 7I76 (unit 0x1A000708)
SwRevision = 15
HwRevision = 1
NVBaudRate = 2.5Mb
NVUnitNumber = 0x1A000708
NVWatchDogTimeout = 50ms
SOFTWARE MODE IO_Spin [index 00]
SOFTWARE MODE IO_Ana_Spin [index 01]
SOFTWARE MODE IO_Enc_Ana_Spin_FV [index 02]
joshua@printnc:~$ mesaflash --device 7i76e --addr 10.10.10.10 --readhmid
Configuration Name: HOSTMOT2
General configuration information:
BoardName : MESA7I76
FPGA Size: 16 KGates
FPGA Pins: 256
Number of IO Ports: 3
Width of one I/O port: 17
Clock Low frequency: 100.0000 MHz
Clock High frequency: 200.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 3 of IOPort in configuration
Version: 0
Registers: 5
BaseAddress: 1000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: StepGen
There are 5 of StepGen in configuration
Version: 2
Registers: 10
BaseAddress: 2000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: QCount
There are 1 of QCount in configuration
Version: 2
Registers: 5
BaseAddress: 3000
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 on-card
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 0 IOPort StepGen 0 Dir/Table2 (Out)
14 1 IOPort StepGen 0 Step/Table1 (Out)
2 2 IOPort StepGen 1 Dir/Table2 (Out)
15 3 IOPort StepGen 1 Step/Table1 (Out)
3 4 IOPort StepGen 2 Dir/Table2 (Out)
16 5 IOPort StepGen 2 Step/Table1 (Out)
4 6 IOPort StepGen 3 Dir/Table2 (Out)
17 7 IOPort StepGen 3 Step/Table1 (Out)
5 8 IOPort StepGen 4 Dir/Table2 (Out)
6 9 IOPort StepGen 4 Step/Table1 (Out)
7 10 IOPort SSerial 0 TXData0 (Out)
8 11 IOPort SSerial 0 RXData0 (In)
9 12 IOPort SSerial 0 TXData1 (Out)
10 13 IOPort SSerial 0 RXData1 (In)
11 14 IOPort QCount 0 Quad-IDX (In)
12 15 IOPort QCount 0 Quad-B (In)
13 16 IOPort QCount 0 Quad-A (In)
IO Connections for P1
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 17 IOPort None
14 18 IOPort None
2 19 IOPort None
15 20 IOPort None
3 21 IOPort None
16 22 IOPort None
4 23 IOPort None
17 24 IOPort None
5 25 IOPort None
6 26 IOPort None
7 27 IOPort None
8 28 IOPort None
9 29 IOPort None
10 30 IOPort None
11 31 IOPort None
12 32 IOPort None
13 33 IOPort None
IO Connections for P2
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 34 IOPort None
14 35 IOPort None
2 36 IOPort None
15 37 IOPort None
3 38 IOPort None
16 39 IOPort None
4 40 IOPort None
17 41 IOPort None
5 42 IOPort None
6 43 IOPort None
7 44 IOPort None
8 45 IOPort None
9 46 IOPort None
10 47 IOPort None
11 48 IOPort None
12 49 IOPort None
13 50 IOPort None
Please Log in to join the conversation.
4 years 1 month ago #251192
by PCW
Replied by PCW on topic 7i76e + 7I73 Help
1. If you make the correct cable and connect the 7I73 to the 7I76E
2. Have 2 or more sserial devices enabled in the hal file:
sserial_port_0=00xx
You should be able to start LinuxCNC and have the 7I73
detected and all its pins/parameters available
Thats it.
2. Have 2 or more sserial devices enabled in the hal file:
sserial_port_0=00xx
You should be able to start LinuxCNC and have the 7I73
detected and all its pins/parameters available
Thats it.
Please Log in to join the conversation.
4 years 1 month ago #251200
by joshwuh
Replied by joshwuh on topic 7i76e + 7I73 Help
As it turns out, you are correct... I went out there and wired it up and it worked just as you said.
I wish I understood how. I suppose I've got more reading to do. For the non-volatile parameters such as
.... to set the default contrast voltage
do you just write those all the same in custom.hal? I guess since it is non-volatile should I theoretically only ever have to do it once then I could take it out of the HAL?
I wish I understood how. I suppose I've got more reading to do. For the non-volatile parameters such as
Code:
.7i73.0.1.nvcontrast
do you just write those all the same in custom.hal? I guess since it is non-volatile should I theoretically only ever have to do it once then I could take it out of the HAL?
Please Log in to join the conversation.
4 years 1 month ago #251201
by PCW
Replied by PCW on topic 7i76e + 7I73 Help
Yes, if you set the NV parameter you should only do it when you need to change it.
In fact you don't really need to change the NV parameter at all, you can just
set the volatile parameter (hm2_7iXX.0.7i73.0.N.contrast) in the hal file
In fact you don't really need to change the NV parameter at all, you can just
set the volatile parameter (hm2_7iXX.0.7i73.0.N.contrast) in the hal file
Please Log in to join the conversation.
4 years 1 month ago #251682
by andypugh
Replied by andypugh on topic 7i76e + 7I73 Help
That's the "smart" part of Smartserial. The 7i76E enquires on the serial port what cards are there, and the cards respond with their card name and what HAL pins they expect to be writing to.As it turns out, you are correct... I went out there and wired it up and it worked just as you said.
I wish I understood how.
Please Log in to join the conversation.
4 years 1 month ago #251912
by ESanford
Replied by ESanford on topic 7i76e + 7I73 Help
In your custom.hal this is the syntax for changing your contrast voltage:
setp lcd.00.contrast .45
.45 is what worked well for my LCD, but it can be any number from zero to one. Just open your HAL config and use the "test HAL command" input to change it until you find what works best for yours then toss it into your custom.hal
Hope that helps.
setp lcd.00.contrast .45
.45 is what worked well for my LCD, but it can be any number from zero to one. Just open your HAL config and use the "test HAL command" input to change it until you find what works best for yours then toss it into your custom.hal
Hope that helps.
Please Log in to join the conversation.
Time to create page: 2.402 seconds
