jepler: where can I find your 7i48 hm2 driver patch?
cradek: maybe http://media.unpythonic.net/emergent-files/sandbox/0001-untested-support-for-muxed-encoders.patch
do you have a firmware?
I have /lib/firmware/hm2/5i20/SV12IM_2X7I48_72.BIT from hostmot2-firmware-5i20 version 0.7.1
I don't remember putting that in, but evidently I did
well it looks better when it loads now...
now adding 24 to a bunch of pin numbers
I don't think it's quite right
[ 2845.329367] hm2/hm2_5i20.0: IO Pin 010 (P2-21): Muxed Encoder Select #0, pin Mux Select 0 (Output)
[ 2845.329520] hm2/hm2_5i20.0: IO Pin 034 (P3-21): Muxed Encoder Select #0, pin Mux Select 0 (Output)
this is with
firmware=hm2/5i20/SV12IM_2X7I48_72.BIT num_encoders=1 num_pwmgens=0 num_stepgens=0 enable_raw
I think P3-21 should be IOPort
looks that'd be a bug/limitation in the bitfile idrom
it matches what the PIN file says
P3-21 34 MuxedQCountSel 0 Muxed Encoder Select 0 (out)
is that something for pcw to sort out or do we have control over it?
I wonder if saying it was channel 3 would work out (since the hostmot2 driver always uses lowest numbered instances, and you need the pin as soon as you have any channels on that connector..)
if we decide what makes sense to do with that pin, I'll put it in the hostmot2-firmware git
[01:37:17] <cradek> http://timeguy.com/cradek-files/emc/dmesg-with-7i48
there are a few other pins that I think should also be IOPort?
which one? P4-01?
yeah I guess it's just that one
I don't think the driver gives you a choice whether to use the index mask function when you use the corresponding encoder
I think it's a param
if you don't set the param, it ignores the state of index-mask, so you're free to use it as an io
pretty sure I do that on the hnc
yes it's in man hostmot2
cradek: encoder.whatever.index-mask? That can't be used at hardware detection time, though, you can't have set it yet
jepler: but it doesn't matter - you still get corresponding gpio pins that you can use
I the I fixed the mux pin problem in my source by making the second mux be channel 6 (so its not enabled by the driver unless more than 6 encoders are enabled)
it just tells the encoder to not mask index according to it
(I think I)
IOPortTag & x"06" & MuxedQCountSelTag & MuxedQCountSel0Pin, -- I/O 34
yes, if I read my patch right 6 is the number that makes sense there
Yes so only if the second 7I48 is used is the pin forced to be output with alternate source
I have the 7i48 on P2 but nothing wired to it. hm2_5i20.0.gpio.000 - 010.in are reading true/false randomly (should they even show up?)
Yes that may be (the muxed encoder inputs will look like bit hash if not read synchonously)
34 should be 50% so about = high/low
should the driver hide those gpios that don't make sense to use as gpio?
ok machine is running (except for the output that was on 034)
I will try putting an encoder on the 7i48
Good question, theres also a possible bug waiting to happen if people think they can read encoder pins on GPIOS
(ou can still read the A/B/I levels through the encoder hardware however)
ou --> you
yay - encoder 0 counts
pcw_home: documentation bug: 7i48 manual says default is ttl encoder input ("left"), but mine came all set to rs422/right
OK thanks I'll fix docs
cradek: fixed mux select pin firmware: http://emergent.unpy.net/files/sandbox/hostmot2-fixed-7i48.tar.gz
wow that was fast
yep that gives me my 034 output back
and with a larger number of encoders selected, does it take the second mux select at the right time?
(num_encoders=7, I guess)
and 048 does show up as gpio.in, so it works like the other IM fw
so you want me to try num_encoders=6 and num_encoders=7 and see if it happens at 7 but not 6?
right, I think so
num_encoders=6 my config still loads and works
=7 gives me touchy.hal:34: parameter or pin 'hm2_5i20.0.gpio.034.is_output' not found
so that means the change is right, right?
yes I think so
I had to mess with your patch somewhat because it conflicted with 3pwm changes. should I push it to master?
(also removed debug output)
yes, if you are happy with it at this point
I can't find any problem with it.
however I've only hooked up an encoder 0
I think it stands a decent chance of being right, and an even better chance of being close
EMC: 03cradek 07master * rda0d5aa5563d 10/src/hal/drivers/mesa-hostmot2/ (hostmot2.c hostmot2.h pins.c): Support for multiplexed encoders (7i48)
thanks for your help
will a new hostmot2-firmware-5i20 package magically appear now?
guess not - I don't have anything related to firmwares in sources.list
firmwares are in 'base'
but I won't go through the effort of publishing new packages tonight
all I have is buildmaster on this machine
yeah - it's not urgent
if you want to get hostmot2 updates you should add hardy or lucid 'base' to your sources
lucid base emc2.4" ?
yes, or leave off 2.4 if you always want buildbot packages to take precedence over linuxcnc ones
(leave off 'emc2.4')
goodnight, thanks again
did I mention how cool comps are? http://pastebin.ca/1913905
I'm excited you're getting the hang of them
"comp" being exactly what?
an easy way to make hal componants.
Ah, components. Gotcha.
jepler: yes - playing around I can see the light at the end of the tunnel :)
* jepler just wonders what the names like "sssol"
"so, so, so out of luck"?
heh - I named the pins the same as the solinoid pins. ss solinoid
k solinoid, sa solinoid and so on
I am using raw encoder counts for testing. I want the spindle to rotate so many rotations before it decides that it is shifted.
so - I say rotate 'this' many encoder counts for now.
it is mainly shifting into the first gear after enabling the components. There really is no feedback to say that it is in gear. When we get the encoder mounted on the spindle for rigid tapping - then we can compare the ratio between spindle motor and spindle to see if the gear shift was successful
so - inital shift will be so many rotations. Any shift after that I think I will use 'so many rotations' + the pressure transistion as the gears shift. That should be pretty accurite.
[18:18:39] <cradek> http://mpm1.com:8080/machines/CNCcontrols/fanuc10/FILE0059.JPG
the control on the enshu that died: soon to be emc2/touchy
Cool - that was a well used machine. wow
yes I think they use(d) it constantly
is that 4 axis?
the control must support it, but I don't think they have a rotary on it
the jog toggles are interesting
if that is what I see on the right side
I did a similar thing on my panel
[18:29:20] <cradek> http://timeguy.com/cradek-files/emc/jr.jpg
you can just barely see the three toggles in this photo
X is left-right, Z is up-down and Y is diagonal
how did the 6 axis daughter board go?
it works now, needed a firmware change and driver change
have to physically mount it and wire my jogwheel to it before jr is working again
then I'll try generating the Y tach signal.
how are you going to do that? are you going to use one encoder counter for position and one for velocity?
the first thing I'll try is just feeding the encoder velocity right out an extra dac
scaled so rapids are near 10v
then adjust the amp tach gain accordingly
oh - ok - duh - you need to run the velocity back to your amps.
ok - that makes sense now. I thought you where going to try to do some sort of dual loop thing in emc.
cradek: did you see http://electronicsam.com/images/KandT/conversion/servo/belts.jpeg
neat! when will it move?
we still need to mount the y servo - but that is direct coupled - so just drilling holes in the right places. :)
but we should be able to start tuning x and z soon.
what are you using for feedback? not the scales for now I assume?
encoders. (and tachs)
on the motors?
the tachs (when cleaned up) look very good. http://electronicsam.com/images/KandT/conversion/servo/tach.JPG
the output 90v at 1200rpm
cradek: are we taking bets on how long it will take to convert? 6 days?
2 days and an all nighter?
just the thought of that makes me tired.
[20:30:42] <alex_joni> http://pastebin.ca/1914040
that was an automatic email that a post has been made to a thread
"Do not answer to this e-mail notification as it is a generated e-mail."
it's from the Forum Forum
THE Forum Forum
[20:40:12] <alex_joni> http://www.linuxcnc.org/images/fbfiles/images/test.jpg
cradek: alternative GUI for junior
yes I especially like the 5x7 dot matrix font. the high resolution high quality anti-aliased fonts I have now are too hard to read.
anti-aliased is not retro enough :D
the fake-retro candy lozenge UI look and feel is like cilantro - people love it or hate it.
I bet no cyan 5x7 LED displays exist in the real world - those should be red. that's my real complaint :-)
it'd be best if I didn't get drawn into discussing this.
it's nice that emc has programmable interfaces that don't force developers into a specific widget toolkit.
jepler: you agree, right? they should be red, right?
[20:48:09] <cradek> http://milo.com/leapfrog-clickstart-my-first-computer
that gui has a rewind button
and the leapfrog has a hint button
I wish my computer had a hint button
I wish life had a hint button
and a rewind button
I wish my edge finder had a "hey stupid you forgot the minus sign" flashing light
is it a 2 piece edge finder now?
JT-Work: all my edge probing routines print a message like "spind center is now at X-0.2"
that way I can't (as easily) mess it up or confuse the sign
this was on the Anilam :/
but for a regular edge finder I don't know how you'd do that...
yea a std mechanical edge finder and if I had gone fishing this morning I'd be ahead instead of behind LOL
I do have a real purdy paper weight now to add to the collection :)
need some help implementing a "goto" in emc
beyond knowing that flow control is implemented mostly in interp_o_word.cc I don't have any specific advice about doing that
gtom_: in regular programming any goto case can be rewritten as an if/loop
what i mean is a goto function in the gcode, i wrote the code and it works except...
o words and user defined functions have some problems
i am unsing the preview interpreter to calculate the machine state & position for
a particular line of code.
This allows me to stop emc at a certain position and to "reentry" in the code
the problem is if the m101 function is executed the motion controler does not stop at this position
example: some lines o gcode -> m110 sends a command to my gui to perform homing
my gui pauses the interpreter, stores the task motion line
and finally sends a stop
switch to mode manual, perform a home, calculate the last position in the preview interpreter
change to mdi mode, set the machine in the state given by the preview interpreter sneding mdi commands and finally restart the program at the last known position.
how is the last move before a M1xxx command handled ???
Is it possible to have an excact stop on a M1xx command ???