- Configuring LinuxCNC
- Configuration Tools
- PnCConf Wizard
- How do PnCConf's Mesa Card 0 I/O tabs' pin numbers correspond to stepconf's?
How do PnCConf's Mesa Card 0 I/O tabs' pin numbers correspond to stepconf's?
02 Sep 2022 13:47 - 02 Sep 2022 13:48 #251003
by PCW
Replied by PCW on topic How do PnCConf's Mesa Card 0 I/O tabs' pin numbers correspond to stepconf's?
The numbers shown on pncconf (and in the hal file) are the GPIO or channel numbers,
not the DB25 numbers, so for example GPIO 7 corresponds to DB25 pin 17 and
GPIO 14,15 correspond to DB25 pins 11,12:
The numbers shown on pncconf (and in the hal file) are the GPIO or channel numbers,
not the DB25 numbers, so for example GPIO 7 corresponds to DB25 pin 17 and
GPIO 14,15 correspond to DB25 pins 11,12:
IO Connections for P3
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 0 IOPort PWMGen 0 PWM (Out)
14 1 IOPort None
2 2 IOPort StepGen 0 Step (Out)
15 3 IOPort None
3 4 IOPort StepGen 0 Dir (Out)
16 5 IOPort StepGen 8 Step (Out)
4 6 IOPort StepGen 1 Step (Out)
17 7 IOPort StepGen 8 Dir (Out)
5 8 IOPort StepGen 1 Dir (Out)
6 9 IOPort StepGen 2 Step (Out)
7 10 IOPort StepGen 2 Dir (Out)
8 11 IOPort StepGen 3 Step (Out)
9 12 IOPort StepGen 3 Dir (Out)
10 13 IOPort None
11 14 IOPort QCount 0 Quad-A (In)
12 15 IOPort QCount 0 Quad-B (In)
13 16 IOPort QCount 0 Quad-IDX (In)
not the DB25 numbers, so for example GPIO 7 corresponds to DB25 pin 17 and
GPIO 14,15 correspond to DB25 pins 11,12:
The numbers shown on pncconf (and in the hal file) are the GPIO or channel numbers,
not the DB25 numbers, so for example GPIO 7 corresponds to DB25 pin 17 and
GPIO 14,15 correspond to DB25 pins 11,12:
IO Connections for P3
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 0 IOPort PWMGen 0 PWM (Out)
14 1 IOPort None
2 2 IOPort StepGen 0 Step (Out)
15 3 IOPort None
3 4 IOPort StepGen 0 Dir (Out)
16 5 IOPort StepGen 8 Step (Out)
4 6 IOPort StepGen 1 Step (Out)
17 7 IOPort StepGen 8 Dir (Out)
5 8 IOPort StepGen 1 Dir (Out)
6 9 IOPort StepGen 2 Step (Out)
7 10 IOPort StepGen 2 Dir (Out)
8 11 IOPort StepGen 3 Step (Out)
9 12 IOPort StepGen 3 Dir (Out)
10 13 IOPort None
11 14 IOPort QCount 0 Quad-A (In)
12 15 IOPort QCount 0 Quad-B (In)
13 16 IOPort QCount 0 Quad-IDX (In)
Last edit: 02 Sep 2022 13:48 by PCW.
Please Log in or Create an account to join the conversation.
03 Sep 2022 12:13 - 04 Sep 2022 12:21 #251098
by clunc
Replied by clunc on topic How do PnCConf's Mesa Card 0 I/O tabs' pin numbers correspond to stepconf's?
The numbers shown on pncconf (and in the hal file) are the GPIO or channel numbers,
not the DB25 numbers, so for example GPIO 7 corresponds to DB25 pin 17 and
GPIO 14,15 correspond to DB25 pins 11,12:
The numbers shown on pncconf (and in the hal file) are the GPIO or channel numbers,
not the DB25 numbers, so for example GPIO 7 corresponds to DB25 pin 17 and
GPIO 14,15 correspond to DB25 pins 11,12:
IO Connections for P3
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 0 IOPort PWMGen 0 PWM (Out)
14 1 IOPort None
2 2 IOPort StepGen 0 Step (Out)
15 3 IOPort None
3 4 IOPort StepGen 0 Dir (Out)
16 5 IOPort StepGen 8 Step (Out)
4 6 IOPort StepGen 1 Step (Out)
17 7 IOPort StepGen 8 Dir (Out)
5 8 IOPort StepGen 1 Dir (Out)
6 9 IOPort StepGen 2 Step (Out)
7 10 IOPort StepGen 2 Dir (Out)
8 11 IOPort StepGen 3 Step (Out)
9 12 IOPort StepGen 3 Dir (Out)
10 13 IOPort None
11 14 IOPort QCount 0 Quad-A (In)
12 15 IOPort QCount 0 Quad-B (In)
13 16 IOPort QCount 0 Quad-IDX (In)
I believe I have it now. [EDIT: I almost had it--see EDITs]
The answer to the original question:
"Q. How do PnConf's Mesa Card 0 I/O tabs' pin numbers correspond to stepconf's?"
"A. It depends."
sorted by DB25 pin#: [EDIT: It's okay to sort by DB25 pin#, BUT the numbers to focus on are the GPIO#s, the ones that need to be changed in the .hal file]
IO Connections for P3[DB25]
DB25 GPIO MY.HAL
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 0 Spindle IOPort PWMGen 0 PWM (Out)
2 2 Xstep IOPort StepGen 0 Step (Out)
3 4 Xdir IOPort StepGen 0 Dir (Out)
4 6 Ystep IOPort StepGen 1 Step (Out)
5 8 Ydir IOPort StepGen 1 Dir (Out)
6 9 Zstep IOPort StepGen 2 Step (Out)
7 10 Zdir IOPort StepGen 2 Dir (Out)
8 11 Astep IOPort StepGen 3 Step (Out)
9 12 Adir IOPort StepGen 3 Dir (Out)
10 13 N/A IOPort None
11 14 Probe-in IOPort QCount 0 Quad-A (In) [EDIT: example follows]
12 15 Both-home-X-in IOPort QCount 0 Quad-B (In)
13 16 Both-home-Y-in IOPort QCount 0 Quad-IDX (In)
14 1 N/A IOPort None
15 3 Both-home-Z-in IOPort None
16 5 N/A IOPort StepGen 8 Step (Out)
17 7 Spindle-enable-out IOPort StepGen 8 Dir (Out)
[EDIT: one example: DB-25 pin11, I want to be "probe-in". I find it referenced in the .hal as:
net probe-in <= hm2_5i25.0.gpio.003.in
I edit it, using the GPIO# corresponding to the DB25 pin# I want to see it on, 014 from the table:
net probe-in <= hm2_5i25.0.gpio.014.in
Simple.]
Thank you very much for your patience in helping me, even as I mis-read and mis-interpreted and mis-understood, and now state the obvious, to veterans. I have to say that there are enough curve-balls in the process that it's understandable to me that a bush-leaguer's likely to strikeout the first several times at the plate in the majors. (I'll characterize my case perhaps as an intentional walk after a few beanballs that sent me out or the game to recover.)
[EDIT: That goes double for me.]
not the DB25 numbers, so for example GPIO 7 corresponds to DB25 pin 17 and
GPIO 14,15 correspond to DB25 pins 11,12:
The numbers shown on pncconf (and in the hal file) are the GPIO or channel numbers,
not the DB25 numbers, so for example GPIO 7 corresponds to DB25 pin 17 and
GPIO 14,15 correspond to DB25 pins 11,12:
IO Connections for P3
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 0 IOPort PWMGen 0 PWM (Out)
14 1 IOPort None
2 2 IOPort StepGen 0 Step (Out)
15 3 IOPort None
3 4 IOPort StepGen 0 Dir (Out)
16 5 IOPort StepGen 8 Step (Out)
4 6 IOPort StepGen 1 Step (Out)
17 7 IOPort StepGen 8 Dir (Out)
5 8 IOPort StepGen 1 Dir (Out)
6 9 IOPort StepGen 2 Step (Out)
7 10 IOPort StepGen 2 Dir (Out)
8 11 IOPort StepGen 3 Step (Out)
9 12 IOPort StepGen 3 Dir (Out)
10 13 IOPort None
11 14 IOPort QCount 0 Quad-A (In)
12 15 IOPort QCount 0 Quad-B (In)
13 16 IOPort QCount 0 Quad-IDX (In)
I believe I have it now. [EDIT: I almost had it--see EDITs]
The answer to the original question:
"Q. How do PnConf's Mesa Card 0 I/O tabs' pin numbers correspond to stepconf's?"
"A. It depends."
- "It depends on what firmware has been flashed into the Mesa card, and reloaded, and what pin information is in the .hal file."
- "mesaflash --readhmid --device <cardtype> (in .pin file format) will show how GPIO numbers (in the 'I/O' column of the .pin file) correspond to the DB25 pins (the 'Pin#' column). [the core answer]"
- "The .hal file, typically initially created by newusers with PnCConf, can be edited to change the DB25 pin numbers ('pin#') to which inputs or outputs have been/will be assigned." b]EDIT:[/b] [b][i]GPIO numbers[/i][/b
- "The lines-of-interest to be changed look like, for example, 'net probe-in <= hm2_5i25.0.gpio.011.in'."
- "Unfortunately, the lines contain the word 'gpio' although the number is a DB25 'pin#'." [EDIT: Wrong. Numbers in lines like that are, always, and only, GPIO numbers. Edit carefully accordingly.]
- "Another line of particular interest--'loadrt hm2_pci config=" num_encoders=0 num_pwmgens=1 num_stepgens=4"'--determines when more 'gpio' pins are available when they are freed from use for encoders, stepgens, etc."
- "In the .pin file listing above for example, 'pin#-I/O' 11-14, 12-15, and 13-16 will be available to be assigned as input or output pins in the .hal file IF 'num_encoders=0' is also specified therein."
sorted by DB25 pin#: [EDIT: It's okay to sort by DB25 pin#, BUT the numbers to focus on are the GPIO#s, the ones that need to be changed in the .hal file]
IO Connections for P3[DB25]
DB25 GPIO MY.HAL
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 0 Spindle IOPort PWMGen 0 PWM (Out)
2 2 Xstep IOPort StepGen 0 Step (Out)
3 4 Xdir IOPort StepGen 0 Dir (Out)
4 6 Ystep IOPort StepGen 1 Step (Out)
5 8 Ydir IOPort StepGen 1 Dir (Out)
6 9 Zstep IOPort StepGen 2 Step (Out)
7 10 Zdir IOPort StepGen 2 Dir (Out)
8 11 Astep IOPort StepGen 3 Step (Out)
9 12 Adir IOPort StepGen 3 Dir (Out)
10 13 N/A IOPort None
11 14 Probe-in IOPort QCount 0 Quad-A (In) [EDIT: example follows]
12 15 Both-home-X-in IOPort QCount 0 Quad-B (In)
13 16 Both-home-Y-in IOPort QCount 0 Quad-IDX (In)
14 1 N/A IOPort None
15 3 Both-home-Z-in IOPort None
16 5 N/A IOPort StepGen 8 Step (Out)
17 7 Spindle-enable-out IOPort StepGen 8 Dir (Out)
[EDIT: one example: DB-25 pin11, I want to be "probe-in". I find it referenced in the .hal as:
net probe-in <= hm2_5i25.0.gpio.003.in
I edit it, using the GPIO# corresponding to the DB25 pin# I want to see it on, 014 from the table:
net probe-in <= hm2_5i25.0.gpio.014.in
Simple.]
Thank you very much for your patience in helping me, even as I mis-read and mis-interpreted and mis-understood, and now state the obvious, to veterans. I have to say that there are enough curve-balls in the process that it's understandable to me that a bush-leaguer's likely to strikeout the first several times at the plate in the majors. (I'll characterize my case perhaps as an intentional walk after a few beanballs that sent me out or the game to recover.)
[EDIT: That goes double for me.]
Last edit: 04 Sep 2022 12:21 by clunc. Reason: Correct. Clarify for following readers.
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
03 Sep 2022 14:54 #251104
by PCW
Replied by PCW on topic How do PnCConf's Mesa Card 0 I/O tabs' pin numbers correspond to stepconf's?
A couple notes:
1. Mesa hal files only use GPIO numbers, _never_ pin numbers.
2. Pins with secondary input function are still available
as inputs even if the secondary function is enabled
(so you could still use GPIO 14,15,16 as inputs with
the encoder enabled)
1. Mesa hal files only use GPIO numbers, _never_ pin numbers.
2. Pins with secondary input function are still available
as inputs even if the secondary function is enabled
(so you could still use GPIO 14,15,16 as inputs with
the encoder enabled)
Please Log in or Create an account to join the conversation.
04 Sep 2022 11:49 #251163
by clunc
Replied by clunc on topic How do PnCConf's Mesa Card 0 I/O tabs' pin numbers correspond to stepconf's?
Okay, but that means I still don't grasp how to get DB25/P3 pin numbers out of the hal file.A couple notes:
1. Mesa hal files only use GPIO numbers, _never_ pin numbers.
I am not able to imagine a setup that would need this--BUT I think I've documented that I am not imaginative.2. Pins with secondary input function are still available
as inputs even if the secondary function is enabled
(so you could still use GPIO 14,15,16 as inputs with
the encoder enabled)
Please Log in or Create an account to join the conversation.
04 Sep 2022 12:00 - 04 Sep 2022 12:27 #251164
by clunc
Replied by clunc on topic How do PnCConf's Mesa Card 0 I/O tabs' pin numbers correspond to stepconf's?
(Slowing down, taking a breath... reading what I wrote.)
The .pin file (and output of mesaflash --readhmid --device 5i25) show the correlation between DB25 pin# and GPIO#; I just mis-edited the .hal file assuming that I was changing DB25 pin#s when I was really changing GPIO#.
So, I need to edit the .hal again to correct my misunderstanding.
Now, I have it!
[EDIT: I've gone back to edit my summary post to include Peter's correction.]
[EDIT: I've edited this post to complain about the forum-software's pernicious "auto-formatting 'feature'" that arbirtrarily corrupts existing format when Edit Post is selecting, requiring considerable effort to put-it-back-the-way-it-was.]
Not true....I still don't grasp how to get DB25/P3 pin numbers out of the hal file.
The .pin file (and output of mesaflash --readhmid --device 5i25) show the correlation between DB25 pin# and GPIO#; I just mis-edited the .hal file assuming that I was changing DB25 pin#s when I was really changing GPIO#.
So, I need to edit the .hal again to correct my misunderstanding.
Now, I have it!
[EDIT: I've gone back to edit my summary post to include Peter's correction.]
[EDIT: I've edited this post to complain about the forum-software's pernicious "auto-formatting 'feature'" that arbirtrarily corrupts existing format when Edit Post is selecting, requiring considerable effort to put-it-back-the-way-it-was.]
Last edit: 04 Sep 2022 12:27 by clunc.
Please Log in or Create an account to join the conversation.
06 Sep 2022 10:14 #251274
by clunc
Replied by clunc on topic How do PnCConf's Mesa Card 0 I/O tabs' pin numbers correspond to stepconf's?
When linuxcnc is run from a console terminal, the pinouts of the Mesa card appear in the listing; for example in my case:
--clip--
hm2/hm2_5i25.0: IO Pin 000 (P3-01): PWMGen #0, pin Out0 (PWM or Up) (Output)
hm2/hm2_5i25.0: IO Pin 001 (P3-14): IOPort
hm2/hm2_5i25.0: IO Pin 002 (P3-02): StepGen #0, pin Step (Output)
hm2/hm2_5i25.0: IO Pin 003 (P3-15): IOPort
hm2/hm2_5i25.0: IO Pin 004 (P3-03): StepGen #0, pin Direction (Output)
hm2/hm2_5i25.0: IO Pin 005 (P3-16): IOPort
hm2/hm2_5i25.0: IO Pin 006 (P3-04): StepGen #1, pin Step (Output)
hm2/hm2_5i25.0: IO Pin 007 (P3-17): IOPort
hm2/hm2_5i25.0: IO Pin 008 (P3-05): StepGen #1, pin Direction (Output)
hm2/hm2_5i25.0: IO Pin 009 (P3-06): StepGen #2, pin Step (Output)
hm2/hm2_5i25.0: IO Pin 010 (P3-07): StepGen #2, pin Direction (Output)
hm2/hm2_5i25.0: IO Pin 011 (P3-08): StepGen #3, pin Step (Output)
hm2/hm2_5i25.0: IO Pin 012 (P3-09): StepGen #3, pin Direction (Output)
hm2/hm2_5i25.0: IO Pin 013 (P3-10): IOPort
hm2/hm2_5i25.0: IO Pin 014 (P3-11): IOPort
hm2/hm2_5i25.0: IO Pin 015 (P3-12): IOPort
hm2/hm2_5i25.0: IO Pin 016 (P3-13): IOPort
--/clip--
--clip--
hm2/hm2_5i25.0: IO Pin 000 (P3-01): PWMGen #0, pin Out0 (PWM or Up) (Output)
hm2/hm2_5i25.0: IO Pin 001 (P3-14): IOPort
hm2/hm2_5i25.0: IO Pin 002 (P3-02): StepGen #0, pin Step (Output)
hm2/hm2_5i25.0: IO Pin 003 (P3-15): IOPort
hm2/hm2_5i25.0: IO Pin 004 (P3-03): StepGen #0, pin Direction (Output)
hm2/hm2_5i25.0: IO Pin 005 (P3-16): IOPort
hm2/hm2_5i25.0: IO Pin 006 (P3-04): StepGen #1, pin Step (Output)
hm2/hm2_5i25.0: IO Pin 007 (P3-17): IOPort
hm2/hm2_5i25.0: IO Pin 008 (P3-05): StepGen #1, pin Direction (Output)
hm2/hm2_5i25.0: IO Pin 009 (P3-06): StepGen #2, pin Step (Output)
hm2/hm2_5i25.0: IO Pin 010 (P3-07): StepGen #2, pin Direction (Output)
hm2/hm2_5i25.0: IO Pin 011 (P3-08): StepGen #3, pin Step (Output)
hm2/hm2_5i25.0: IO Pin 012 (P3-09): StepGen #3, pin Direction (Output)
hm2/hm2_5i25.0: IO Pin 013 (P3-10): IOPort
hm2/hm2_5i25.0: IO Pin 014 (P3-11): IOPort
hm2/hm2_5i25.0: IO Pin 015 (P3-12): IOPort
hm2/hm2_5i25.0: IO Pin 016 (P3-13): IOPort
--/clip--
Please Log in or Create an account to join the conversation.
Moderators: cmorley
- Configuring LinuxCNC
- Configuration Tools
- PnCConf Wizard
- How do PnCConf's Mesa Card 0 I/O tabs' pin numbers correspond to stepconf's?
Time to create page: 0.088 seconds