Please read the HAL manual.
I wonder why I keep replying to him
I think it says something not-so-nice about me
it's nice to help I guess
but putting not-so-subtle digs in the message isn't nice
he irritates me, and I should just ignore him
on a better note....
what are your plans for the weekend?
I've been playing around with fpga tools
and (slowly) working on the new 5i20 driver
peter wallace has sent me a couple updated versions, ball is in my court now
the fpga development system is incredibly convoluted, to deal with a bazillion differnt design flows
but I'm managed to figure out 95% of the specific flow that is relevant, and can use the command line to build the fpga
gonna come up with either a script or a makefile one of these days
so, what are your weekend plans?
clean a never-repaired monitor off one desk, move the mill there and set it up on a new computer, maybe work on the lathe, maybe fix a watch for someone I've been putting off
yeah, but more likely I'll sit on my rear the whole weekend
I'm waiting for parts, then I have to repair the garage door opener
the worm gear ain't gots no teeth anymore
they turned into plastic dust on the bottom of the enclosure
yay for plastic
mine has a chain - pretty old
ours does too
the worm gear is between the motor and the chain sprocket
huh, strange place for a plastic part
"self lubricating, low maintainence"
"planned lifetime" too probably
its about 14 years old
I guess things wear out after 14 years
replacement is $32.75 including tax and shipping, beats the heck out of a new opener
I've had great luck with ordering replacement parts for all sorts of sears stuff
10-15 yrs old? no problem, here's the exploded diagram
thats one thing they do right
only crap I ever bought there was a vacuum cleaner, everything else has been good
wonder how they keep all those parts for so long
I wonder how long its gonna take to get the part
'not long' is my experience
'This part has been processed in the system, but order status from the supplier is not yet available."
thats not quite "its on our shelf and we'll ship today"
I placed the order about 24 hours ago
hmm, maybe you won't be so lucky
hope it still kinda works
the motor still turns.....
the worm is entirely toothless though
can you use your garage? it's pretty important right around now I bet
yeah, just gotta open the door by hand
I'm trying to decide between coding and going to the store and drooling over digital cameras
store? what's that?
the place where they let you fondle the expensive electronics, before you go home and order it online
ahhh I guess I've been there
I wouldn't do that to a camera store, but the store I'm talking about is best buy
I just forgot
the problem with the camera stores is they keep everything under glass
best buy actually has the (significant fraction of a kilobuck) digital SLRs out where you can handle them (on leashes of course)
yeah, that's nice
I'm trying to decide whether I want a DSLR, or just a high end fixed lens digicam
well, actually I know I _want_ a DLSR, but I'm not sure its the right thing to get
remember to factor in all the lenses you'll want to buy then
see, thats the thing
my film SLR has two lenses - a 50mm that came with it, and a 28-200 zoom that I bought not long after I got it
(this is going on 20 years ago)
I almost never take off the zoom...
could you use those on the right digital? (I'm totally camera ignorant)
some older lenses can be used, but not mine
the film camera is a minolta... you can use minolta lenses on the new sony DSLR (sony bought out minolta)
but not the old manual focus ones like mine
hey petev, long time no see
yeah, been super busy with work
still havent finished my bridgeport
heh, still haven't finished my shoptask either
but I actually got started over christmas
I got everything mounted and about 1/2 the wiring done
then work really got busy
3 trips to china and way too many other projects to get done
ouch - I don't like travel
especially not really long trips
yeah, especially china
I'm killing my last debian box with ubuntu
but it's not going down easy
looks like the install is hung up
thats not encouraging
the other went really well
same HW too
you doing vanilla ubuntu or the emc live-cd?
figured I better get everything up to date if I want to do any dev work
looks like it got stuck right at the start, maybe partitioning or fs
I haven't tried the live cd myself - I did vanilla ubuntu and then installed the rt patched kernel packages
hmm, I have a network cable plugged in
didn't have it on the other box during install
thats probably a good thing
wonder it thats a problem
I had some trouble with an install when I didn't have the network
I had to manually set everything up afterwards
don't remember the details though - this install is about a year old I think
I think it crashed as the mouse won't even move
I'll try again without the network
I have some problems with the startup graphics on the touch panel as well
the X server works fine
but startup resolutions are a problem
I changed the grub file, but it didn't help
the grub file on the CD?
no, on HD after install
or is it booting the live CD and failing when you try the actual install?
yes, boots, then fails install on this machine
still has video problem on boot, but fine after X starts
if you are in the grub menu.lst, remove "quiet splash" from the kernel lines
that might make it a little easier to see what is going on
the monitor won't sync, so I can't see a thing
* jmkasunich hates bootsplash
it's an 8" touch panel
maybe try the install with a regular monitor, then switch?
I set the res lower in the bios, and that helped a little, but then gdm used the same res for X and didn't size the desktop
I think its a refresh rate issue
it's the same on the machine that's installed
fine once it boots, but no good before
I don't think the panel can handle more than 60Hz refresh
but I don't see a way to control that on boot
if it continues to give you fits you might want to try the stock ubuntu "alternate install" disk
it includes text mode install
one last try, then I might have to
remember, get 6.06, not 6.10
I have had the ubuntu install hang more than once during the partitioning part.
reboot - restart the install and everything is fine
did u figure out the cause?
seems like the same stage mine is hanging
also on different hardware - no real patern that I can see yet.
he is probably still fondling cameras.. the freak
or he knows when to keep quiet :-)
;) did you see that g92 seems to work as I expected now.. sorry. ;)
heh, that's cool
I still don't like it, but whatever floats your boat
you do need to reload the program so the preview is correct.
wha? who? did somebody call me?
* jmkasunich was busy
if you're bored and want a progrmaming project...
(running thru doom levels with god mode turned on and a crapload of rockets ;-)
something like that
I'm working on rigid tap - I wonder if you would want to work on the motion controller part of it - receive a message and call tpAddRigidTap
just call it? you make it work?
well, that's my hope
thats only about 15 mins
sending the message is a lot harder
one of us will have to figure out how to add interp support, then get it through task to motion
yeah all that hooey
not one of us having this conversation
at least not this one
wonder if I should make a branch that we can play on
I don't do NML, its against my religion
I could do it, but if we wait, maybe alex will :-)
might not be a bad idea
branching that is (also waiting for alex ;-)
ok, I'll do that, it's some nontrivial changes
I should stop farting around and work on the 5i20 driver
I seem to have a block about that for some reason
jmkasunich u still awake?
I have a ? on motion
what does it do if spindle-revs is not eual to spings-speed-out?
I don't know much about spindle
oh, who did that code?
I see it's in motion now
lemme see if I can figure it out
trying to decide how to handle the reeves pulley with air motor on the BP
was leaning towards just leaving it manual control, but I want EMC to be able to stop it and have a status input
I see spindle-speed-out, but not spindle-revs
hmm, I'm looking at the lates from the live CD
duh, there it is
ok, spindle-revs is where you hook the encoder for threading (and eventually rigid tapping)
it has nothing to do with spindle control - its the reference that the axes need to track for threading
yes, but how does motion control things if it doesn't match the command?
is it only used for tapping?
and ignored otherwise?
still looking at code...
or will motion wait until speed is correct to continue?
spindle-speed-out is the command
there is no closed loo
hmm, so it's only for tapping then?
probably 99% of machines have no spindle feedback of any kind
actually for lathe threading at this point
tapping is in the works (that is more complex because of reversing the spindle)
so it's just read and feeds adjusted accordingly?
(and the index pulse is used to sync successive passes)
so what's the best way to get EMC to wait until the spindle is on if under manual control?
the BP is a problem because u have to run the spindle to adjust the speed
thats a darned good question... lemme look some more
maybe I'll have to rely on the tool-changed input, but it would be nice to keep motion from going if the spindle isn't on
I thought at one time there was some sort of a handshake, but I'm not seeing it
yeah, I couldn't find anything
I'd suggest either asking alex when he's online, or posting to the dev list
I think alex did the original spindle stuff (when it was in iocontrol) and he knows more about the NML messages
I agree with you - there should be a handshake of some kind, even if 90% of people just "jumper it out"
yes, is the spindle-revs the raw encoder count?
or is it conditioned as a speed?
in fact, I remember when we cut the first part on the Mazak at the CNC workshop, we almost had a crash, because the mill starting moving into the cut while the spindle was spinning up
its the counts, scaled to a position
yeah, and some spindles take time to get up to speed
I _think_ you are supposed to scale it so it indicates revs, cradek would know for sure
the index enable is used so it normally counts from zero up to one rev, then resets
during threading, at the start of a pass it waits for a reset, then turns off index-enable
and the position counts up throughout the entire threading pass (multiple revs)
at the end of the pass, index-enable turns back on, and the position goes back to "sawtooth mode"
hmm, even if motion waited for proper speed indication, that wouldn't be so convenient to jumper without an external module to condition spindle-speed-out
I would not have motion checking speed - very few people actually have feedback devices
I'd have a bit input, called "spindle-at-speed" or something
yeah, a separate handshake would be easier
then you can just use a time-delayed copy of spindle-on
or you can get fancy and use a window comparator that compares command to feedback
or anything in between
I was looking at some of the comercial offerings, and many take a couple of secs to hit high speeds
for the BP, I would probably use a time delay from the contactor coil
at lot of VFDs can be configured to close a relay when they are at speed, that could also be used
yes, and they usually have a couple of digital outputs too
yeah, either a delay or a button that you press after manually winding the vari-speed handle to the right speed
I'd definitely suggest a posting to the dev list - either I'm missing something that alex can clear up, or we should add the at-speed input
unless the interp can be configured to use a cycle hold, something like that would be needed
oh, that reminds me - in the meantime, there is a feed-hold HAL pin that you could use
I missed that one
"if spindle-on and not delayed-spindle-on then feedhole = true"
right there in front of me
still not as nice as proper spindle handshaking
yes, I can condition something with ladder and a button press once at the right speed
well, its 2am here....
you said you want me to add some NML stuff
for rigid tapping?
I'm not sure the best way to do it - i think maybe it should have its own gcode, canon call RIGID_TAP, then its own motion message that will call tpAddRigidTap
if we (you:P) can come up with a number, I'll try to do it :)
is it similar to tpAddLine ? (same params)
yes except no 'type'
I checked it in (unfinished) on rigid_tap branch
I saw the commit
I'm a bit puzzled though.. never seen rigid tapping before
you set a spindle speed first.. right?
then it should work like lathe threading?
g28/g30 have a units issue -- they'll move to a location in the current units system, so a nonzero g28 "home" will go to a different location subject to the g20/g21 setting
alex_joni: yes the spindle should be turning before you issue the RT gcode
at least, that's what the docs say
"The parameter values are in terms of the absolute coordinate system, but are in unspecified length units."
jepler: I may have 'fixed' it when I 'fixed' the other crazy units things
OK I'll investigate
so that variable would always be in "machine units" if you "fixed" it?
yes I tried to make everything in the var file, that represents a distance or coordinate, in machine units
g21 / g28 moves to .3937 when I had assigned #5161=10
oh you have to assign it directly - I don't know how that should work
please figure it out and fix it :-)
I've heard that some other program lets you home with a gcode. seems like a terrible idea.
maybe a gcode for periodically rebooting windows in case something has gone wrong is needed too
watchdog takes care of that :P
alex_joni: with a scale and an offset, is the calculation usally 'position = (count + offset) / scale' or 'position = (count / scale) + offset'?
the first one I think
hm the hal manual gives this equation for canonical analog input: value = (hardware reading * scale) - offset
different than either of us said
look at encoder/position
though encoder doesn't have an offset
I'll go with (count+offset)/scale
I have (value-offset)*gain
for the DAC's in the stg driver
er, yes, -offset
*gain or /scale should be the same
which is easier for the user to specify, I wonder
usually I set the value at 0
then I measure the offset (write it down)
once subtracted it should be back at 09
once subtracted it should be back at 0
next set some value (e.g. 8V) then adjust gain untill it's right
this stupid digital joypad gives values 4, 512, and 1021
I can't turn that into exactly -1, 0 and 1 with gain and offset
how about with conv?
(because 4=512-508, 1021=512+509)
jepler: any idea how to turn -1,0,1 into 2 different 0..1's ?
I could use limits and s32 to bit converters..
you want out1 = in < 0 ? -in : 0; out2 = in > 0 ? in : 0; ?
hm but s32
you need s32 as your output?
the input is s32?
float or s32
if the input was float, sounds like two comparators to me
comp outputs bit?
comp.N.out bit out
Output of the comparator.
hm you'll need a 'not' in there
or you can hook the inputs up in a different order I guess
hmm.. setp doesn't do tab-completion
alex_joni: hm it works for me
halcmd: loadrt comp
halcmd: setp comp.0.
comp.0.hyst comp.0.in0 comp.0.in1 comp.0.tmax
hmm.. works now, must have been a PEBCAK
there was a bug nearby though
I think the TELEOP jogging might be interesting for trivkins too
or at least the same functionality in halui for jogging
jmkasunich: what do you feel about analog jogging inputs to halui
right now I'm too pissed at my computer to think about it
for a joystick jogging
yay.. halui analog pin works
this works soooo well
jepler: thanks for doing hal_input
alex_joni: it would have worked as well with hal_joystick, wouldn't it?
bet not for this USB gamepad
actually i have concerns about hal_joystick, that it doesn't call hal_ready unless I missed it in the source
* alex_joni cries silently
all that nice HAL work
[19:29:25] <alex_joni> http://pastebin.ca/380087
1 step forward and 2 steps back..
* skunkworks1 doesn't know what alex_joni is talking about though
skunkworks1: I made a 2page halfile to jog with this gamepad
now I added an analog input to halui for jogging..
and it's a 4 line halfile :D
cool.. that is what someone elde had done with the simencoder?
this is using hal_input
jepler: hal_joystick probably doesn't use hal_ready, because it is older than hal_ready is
jepler: it's not ready for 2_1, forget it..
there's some hidden flaw
alex_joni: hal_input has its own deadzone for analog controls (it's called .flat by the linux docs) though hal_joystick may not
alex_joni: oh -- subtle flaws are bad
guess I'll leave it in .. won't hurt
I get 2 jog events when starting up
can't understand where from
of course they fail, because machine is in ESTOP
that's why there's an extra printf in sendJogCont (not sure if that slipped through the commit)
but that one doesn't appear..
hmm.. think I know
a jogStop might get sent
the analogs are set at 0.. but when halui gets connected to the hal_input that might not be true
beeing different, but smalled than deadband, it sends a jogStop
certainly don't move it back before you're very confident in it
don't move it back if it's not useful without hal_input
I'll leave it for 2.2
ok I can agree with that as well
hmm.. wonder if it's a problem with hal_input while starting up
sendJogCont 0 100.000000
I get that on startup
axis X, speed = 100
hal_input is supposed to show 0 for position until it actually receives an event, but maybe it's not
(I can't seem to figure eout how to find the state of the joystick when I open it, I have to wait for a change)
what's the initial value?
bet it depends on scale & offset
e.g., if you have the stick pushed all the way to the right and then load hal_input, it'll show 0 (centered) until you move the stick again
alex_joni: if halui reads the pin before hal_joystick drives it with a value, it might read 0 then some other value
I don't see that I ever drive the pin with a value I don't expect
yeah, I think that's the problem
__setitem__ 0.abs-x-counts 511
__setitem__ 0.abs-x-position -0.000977517106549
__setitem__ 0.abs-x-position -0.000977517106549
this is what happens when the component starts up
0 -0.003922 0.000000
sendJogCont 1 -0.000000
command (EMC_AXIS_JOG) cannot be executed until the machine is out of E-stop and turned on
I don't get why sendJogCont gets called
maybe halui should not jog if it thinks the machine is in estop
the value read is way less than deadband
jepler: that feels like a nasty hack
how does AXIS do it?
checks it in AXIS; or lets emc take care of that?
you don't want error dialogs popping up just because the joystick gets bumped while in estop or running a program
axis checks most things to avoid getting the error dialogs
hmm.. you have a point there
hm the buttons on my joypad are all named inappropriately
same for me
I don't know how I'd have to hold this thing to press that button with my little finger...
I have one of those too
it's to the left of my btn-thumb :D
anyways.. would name a button "pinkie"
jepler: question: why isn't AXIS starting up in "P" view :
alex_joni: because it's always started up in Z view
the first thing I always do is switch to P
guess I should hack my .axisrc ;)
by typing "v" a half a dozen times, I suppose
I had 1-2 feedbacks from new users looking over my shoulder : "wow that's a nice interface, and you can see the part in XY"
then I had to tell them it's real 3D, .. and after switching to P the saw it too :)
yeah I recall corresponding with one user who was surprised to learn he could *rotate*
he had figured out the 4 preset view buttons, but not using the mouse to change the view
sooo -- maybe you're right
not sure it'd had helped in that case
jepler: that was me ;)
figuring out some left-over keys to choose the 4 preset views easily wouldn't hurt
never underestimate the inability of users to discover things
jepler: now it works as it should
jepler: want me to look at the vibrating thingie?
alex_joni: don't hurt yourself
jepler: where did you look?
alex_joni: ff.txt in linux-source/Documentation/input
* alex_joni reads
let me know if you can get it to work
or maybe I'll go buy a FF joystick
I think I can figure out FF
but this device I have has no real FF
it just vibrates
jepler: before you go
can you tell me where you do similar ioctl's to check for device capabilities?
in my defense - I only had a 2 button mouse to begin with when I started playing with axis.
hahahaha, that was you?
* skunkworks blushes
jepler: obviously I have no idea how to do this..
this is how far I got (very slowly I might add): http://pastebin.ca/380162
alex_joni: after those changes, I would expect self.device.get_bits('EV_FF') to return the FF features supported (like section 3.1 of that ff.txt doc)
alex_joni: do you get any return values?
yeah, me too.. how do I see those?
you'd get HAL pins for each one found, wouldn't you?
I don't get any error, but no new hal pins either
hmm.. I see some flat & fuzz
where those there before?
those are from the absolute axes
only abs- and btn-
* alex_joni adds 6 more FF effects
alex_joni: if they weren't listed in FF they'd appear as numbers
install input-event package and run input-events NR where NR is the number of your joystick
if it doesn't show EV_FF then there may be no linux support for the force feedback
is it input-event ?
apt-cache search doesn't find it
binary is called input-events
bits ev : EV_SYN EV_KEY EV_ABS
I guess that means no FF..
"At the moment, only I-Force devices are supported, and not officially."
I dunno if this line of the documentation is accurate, but it sounds like support is pretty limited
(that was in 2001 though)
a bit outdated?
there are lots of FF things in input.h
it does look like there's some EV_FF support in usb devices
usb/input/hid_input.c: set_bit(EV_FF, input->evbit)
so some USB FF devices must work
just not this one :)
are there other input debug thingies?
note the highly technical term "thingies"
input-events and input-kbd are really the only two I've found
ff.txt refers to fftest but apt-file doesn't find it
looks like it's in the source to the 'joystick' package, maybe you can get it to compile
Upload effects: Function not implemented
doesn't work for me
[21:17:22] <alex_joni> http://akustik.hfbk.net/sc/SuperColliderHelp/Linux/LID.html
what language is *that*?
I have nfc
but it has some register LID
with rumble :D
jepler: did you really mean compile?
alex_joni: yes, fftest doesn't seem to be included in the debian-built package, nfc why
so where did you get it from?
apt-get source joystick?
/bin/sh: sdl-config: command not found
ffmvforce.c:37:17: error: SDL.h: No such file or directory
and build-dep isn't helping :((
'gcc fftest.c -o fftest' worked for me
how did you run it?
I tried ./fftest /dev/input/event3
Open device file: No such file or directory
er, yes, then you're right
maybe it's looking specifically for a joystick
it's input-event that takes a number
doesn't find any effects
time to buy a new joystick
this ain't mine ;)
I might if I knew for sure which one to buy
but it's fairly new
ask chris to make you a custom LiveCD
so you can go the shop and try them out :P
or just drag your laptop along :)
* alex_joni rumbles
not on in the ubuntu kernel? doh!
wai ttill I tell chris I want to build new kernel packages to include FF for logitech gamepads
HID_FF is also not enabled (marked Experimental)
jepler: I guess don't bother for a new joystick yet..
there's no FF whatsoever in the Ubuntu kernel ;)
I'll make a new hid module
I forgot how long an i386 kernel with all modules takes :(
I'm jogging puma in teleop :D
[22:03:59] <alex_joni> http://imagebin.org/7470
[22:17:04] <alex_joni> http://imagebin.org/7471
alex_joni: looks like you're just a few bugs away from finishing the puma kins
who me? ;)
lol.. I just tossed a few PM_PI's here and there
actually I talked to a guy from germany
that started my interest
he got to look over it in more detail
jepler: guess a new module didn't help either..
* alex_joni needs a bit of help with kins ;)