hm2/hm2_5i23.0: unknown stepgen MD:
- jCandlish
- Topic Author
- Offline
- Premium Member
- Posts: 156
- Thank you received: 4
May 21 19:50:47 cncbox kernel: hm2: loading Mesa HostMot2 driver version 0.15
May 21 19:50:47 cncbox kernel: hm2_pci: loading Mesa AnyIO HostMot2 driver version 0.7
May 21 19:50:47 cncbox kernel: hm2_pci 0000:04:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
May 21 19:50:47 cncbox kernel: hm2_pci: discovered 5i23 at 0000:04:00.0
May 21 19:50:47 cncbox kernel: hm2/hm2_5i23.0: unknown stepgen MD:
May 21 19:50:47 cncbox kernel: hm2/hm2_5i23.0: Version = 3, expected 0-2
May 21 19:50:47 cncbox kernel: hm2/hm2_5i23.0: NumRegisters = 10, expected 10
May 21 19:50:47 cncbox kernel: hm2/hm2_5i23.0: InstanceStride = 0x00000004, expected 4
May 21 19:50:47 cncbox kernel: hm2/hm2_5i23.0: MultipleRegisters = 0x000001FF, expected 0x000001FF
May 21 19:50:47 cncbox kernel: hm2/hm2_5i23.0: failed to parse Module Descriptor 4
May 21 19:50:47 cncbox kernel: hm2_5i23.0: board fails HM2 registration
May 21 19:50:47 cncbox kernel: hm2_pci 0000:04:00.0: PCI INT A disabled
May 21 19:50:47 cncbox kernel: hm2_pci: probe of 0000:04:00.0 failed with error -22
May 21 19:50:48 cncbox kernel: hm2: unloading
The .vhd file compiles, but the hm2 driver refuses to use it.
.vhd file attached
I have tried different values for StepGenTag to no avail. How does one proceed?
Thanks
jC
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
- Posts: 17903
- Thank you received: 4774
the ModuleID section of the PIN_XXX file probably
has the wrong thing in the stepgenerator line
ModuleID fields are as follows:
(tag,version,clock,count,baseaddress,numregs,strides,MPbitMask)
Heres a working moduleID line:
(StepGenTag, KUBStepGenRev, ClockLowTag, x"0A", StepGenRateAddr&PadT, StepGenNumRegs, x"00", StepGenMPBitMask),
The KUBStepGenRev is the revision (=x"02")
Please Log in or Create an account to join the conversation.
- jCandlish
- Topic Author
- Offline
- Premium Member
- Posts: 156
- Thank you received: 4
Thanks! PCW.
My last compile, before I've read you message has:
(StepGenTag, x"01", ClockLowTag, x"04", StepGenRateAddr&PadT, StepGenNumRegs, x"00", StepGenMPBitMask),
Would that be correct for the 4 stepgens as are per default defined on the 7i47s? It is now working with that configuration.
Also, I would rather those step gens be serial I/o. Can I do that?
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
- Posts: 17903
- Thank you received: 4774
so a 6 stepgen/4 encoder config is possible as is a 12 channel sserial config etc etc
Outputs can be any mix of stepgens,pwmgens, sserial TX lines, SPI outputs, etc
inputs can be any mix of encoder pins, sserial RX lines, SPI inputs etc
Whatever you put in the PIN file will get made, but of course you must pay attention
to which 7I47 lines that are inputs and which are outputs
Please Log in or Create an account to join the conversation.
- jCandlish
- Topic Author
- Offline
- Premium Member
- Posts: 156
- Thank you received: 4
At this time the configuration of serial i/o is too advanced for me.
I am still having other problems and misunderstandings.
First, on driver loading and pin enumeration in the kernel logs, I am seeing glitches. Is this normal?
Here for example pin62 is not enumerated???
May 22 08:33:37 cncbox kernel: hm2/hm2_5i23.0: IO Pin 060 (P4-25): Encoder #7, pin B (Input)
May 22 08:33:37 cncbox kernel: hm2/hm2_5i23.0: IO Pin 061 (P4-27): Encoder #7, pin A (Input)
May 22 08:33:37 cncbox kernel: hm2/hm2_5hm2/hm2_5i23.0: IO Pin 063 (P4-31): Encoder #6, pin A (Input)
May 22 08:33:37 cncbox kernel: hm2/hm2_5i23.0: IO Pin 064 (P4-33): Encoder #7, pin Index (Input)
May 22 08:33:37 cncbox kernel: hm2/hm2_5i23.0: IO Pin 065 (P4-35): Encoder #6, pin Index (Input)
Second, I am having some difficulty understanding the configuration of the 7i47s. Specifically its AUX, DIR and ENA optoisolated outputs. According to the .pdf manual
The ENABLE output is special as it uses the same signal that enables the analog output. When the analog output is enabled, the ENABLE OPTO output is on. The DIR and AUX outputs have no special functions so may be used for any purpose.
And those pins are defined in my .vhd file
-- 7i47S
IOPortTag & x"00" & StepGenTag & StepGenStepPin, -- I/O 00
IOPortTag & x"00" & StepGenTag & StepGenDirPin, -- I/O 01
IOPortTag & x"01" & StepGenTag & StepGenStepPin, -- I/O 02
IOPortTag & x"01" & StepGenTag & StepGenDirPin, -- I/O 03
IOPortTag & x"00" & QCountTag & QCountQAPin, -- I/O 04
IOPortTag & x"02" & QCountTag & QCountQAPin, -- I/O 05
IOPortTag & x"00" & QCountTag & QCountQBPin, -- I/O 06
IOPortTag & x"02" & QCountTag & QCountQBPin, -- I/O 07
IOPortTag & x"00" & QCountTag & QCountIDXPin, -- I/O 08
IOPortTag & x"02" & QCountTag & QCountIDXPin, -- I/O 09
IOPortTag & x"01" & QCountTag & QCountQAPin, -- I/O 10
IOPortTag & x"03" & QCountTag & QCountQAPin, -- I/O 11
IOPortTag & x"01" & QCountTag & QCountQBPin, -- I/O 12
IOPortTag & x"03" & QCountTag & QCountQBPin, -- I/O 13
IOPortTag & x"01" & QCountTag & QCountIDXPin, -- I/O 14
IOPortTag & x"03" & QCountTag & QCountIDXPin, -- I/O 15
IOPortTag & x"00" & NullTag & x"00", -- I/O 16 7I47S SPARE ISOLATED OUT
IOPortTag & x"00" & PWMTag & PWMBDirPin, -- I/O 17 7I47S DIRECTION
IOPortTag & x"00" & PWMTag & PWMCEnaPin, -- I/O 18 7I47S PWMENABLE
IOPortTag & x"00" & PWMTag & PWMAOutPin, -- I/O 19 7I47S PWMOUT
IOPortTag & x"02" & StepGenTag & StepGenStepPin, -- I/O 20
IOPortTag & x"02" & StepGenTag & StepGenDirPin, -- I/O 21
IOPortTag & x"03" & StepGenTag & StepGenStepPin, -- I/O 22
IOPortTag & x"03" & StepGenTag & StepGenDirPin, -- I/O 23
The pins are enumerated in the /var/log/messages
May 22 08:33:37 cncbox kernel: hm2/hm2_5i23.0: IO Pin 016 (P2-33): IOPort
May 22 08:33:37 cncbox kernel: hm2/hm2_5i23.0: IO Pin 017 (P2-35): PWMGen #0, pin Out1 (Dir or Down) (Output)
May 22 08:33:37 cncbox kernel: hm2/hm2_5i23.0: IO Pin 018 (P2-37): PWMGen #0, pin Not-Enable (Output)
May 22 08:33:37 cncbox kernel: hm2/hm2_5i23.0: IO Pin 019 (P2-39): PWMGen #0, pin Out0 (PWM or Up) (Output)
Is ' IO Pin 016 (P2-33): IOPort' the AUX signal? Is it normal that AUX, DIR and ENA are not available within pncconf?
I truly am having some difficulty in discovering how [P2-33 .. P2-39] are mapped in HAL.
Any clue would be much appreciated!
.
Please Log in or Create an account to join the conversation.
- cncbasher
- Offline
- Moderator
- Posts: 1776
- Thank you received: 292
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
- Posts: 17903
- Thank you received: 4774
with the proper I/O, and include a new PINXXX,file plus a source zipfile with up-to-date source so you can rebuilt it yourself if you wish
Please Log in or Create an account to join the conversation.
- jCandlish
- Topic Author
- Offline
- Premium Member
- Posts: 156
- Thank you received: 4
1) The glitches in the /var/log/messages file. Maybe this is just an innocuous logging race?
2) Under what conditions the 'machine-is-enabled', because I would like hm2_5i23.0.pwmgen.00.enable to be the only input from linuxCNC into the machine's existing relay logic e-stop chain.
===
#*******************
# SPINDLE S
#*******************
# ---PWM Generator signals/setup---
setp hm2_5i23.0.pwmgen.00.output-type 1
setp hm2_5i23.0.pwmgen.00.scale [SPINDLE_9]OUTPUT_SCALE
net spindle-vel-cmd => hm2_5i23.0.pwmgen.00.value
net machine-is-enabled => hm2_5i23.0.pwmgen.00.enable
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
- Posts: 17903
- Thank you received: 4774
I suspect the pin 62 enumeration issue is something broken in the PINXXXX file
Please Log in or Create an account to join the conversation.
- cncbasher
- Offline
- Moderator
- Posts: 1776
- Thank you received: 292
you can use a gpio pin to switch spindle on off or enable etc
Thank you for your kind offer, but I am not that far along yet. I am still trying to understand ...
1) The glitches in the /var/log/messages file. Maybe this is just an innocuous logging race?
2) Under what conditions the 'machine-is-enabled', because I would like hm2_5i23.0.pwmgen.00.enable to be the only input from linuxCNC into the machine's existing relay logic e-stop chain.
===
#*******************
# SPINDLE S
#*******************
# ---PWM Generator signals/setup---
setp hm2_5i23.0.pwmgen.00.output-type 1
setp hm2_5i23.0.pwmgen.00.scale [SPINDLE_9]OUTPUT_SCALE
net spindle-vel-cmd => hm2_5i23.0.pwmgen.00.value
net machine-is-enabled => hm2_5i23.0.pwmgen.00.enable
Please Log in or Create an account to join the conversation.