hm2/hm2_5i23.0: unknown stepgen MD:

More
22 May 2013 01:30 - 22 May 2013 01:32 #34517 by jCandlish
I can't figure out how to get past this error.

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
Last edit: 22 May 2013 01:32 by jCandlish.

Please Log in or Create an account to join the conversation.

More
22 May 2013 01:53 - 22 May 2013 01:53 #34518 by PCW
Current stepgenerator revision is 2 so the driver barfs if it finds a unreasonable revision like 3

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")
Last edit: 22 May 2013 01:53 by PCW.
The following user(s) said Thank You: jCandlish

Please Log in or Create an account to join the conversation.

More
22 May 2013 02:18 #34520 by jCandlish
Our posts crossed during my dinner break.

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.

More
22 May 2013 03:10 #34522 by PCW
The 7I47 has 12 inputs and 12 outputs. There really is no default
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.

More
22 May 2013 14:43 #34528 by jCandlish
Thanks again

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.

More
22 May 2013 15:13 #34529 by cncbasher
you only need to select pwm spindle do not need to connect the analog enable or dir pins they are connected internaly to the pwm signal

Please Log in or Create an account to join the conversation.

More
22 May 2013 20:31 #34537 by PCW
If you tell me just what it is you need as far as I/O goes, I can make a bitfile
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.

More
22 May 2013 22:30 #34545 by jCandlish
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.

More
22 May 2013 22:53 #34546 by PCW
AUX is just the 7I47 output name for the extra isolated output. In your bitfile its just IO16 so will be GPIO16 in HAL. As cncbasher mentioned, the DIR and enable signals are part of the PWMGEN module so are not available as pins (they could be available as GPIO if the pin file was changed to just have GPIO on those pins)

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.

More
22 May 2013 23:17 #34551 by cncbasher
why not use spindle enable pin ?

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.

Moderators: PCWjmelson
Time to create page: 0.348 seconds
Powered by Kunena Forum