#emc | Logs for 2006-07-05

[00:02:52] <jocarneiro> hi there
[00:03:20] <cradek> hi
[00:03:35] <ZZhung> hi
[00:04:02] <cradek> argh, I measured the washer on my thrust bearings and cut the hole accordingly, but the center bearing part is larger than the washers
[00:04:29] <jmkasunich> damn
[00:04:34] <fenn> otherwise it wouldnt work?
[00:04:51] <cradek> guess I'll have to try to bore the hole
[00:04:51] <jocarneiro> anybody familiar with EMC2 HAL?
[00:04:59] <cradek> it's not critical, but it has to be bigger
[00:05:00] <fenn> jocarneiro: shoot
[00:05:09] <jocarneiro> hey fenn
[00:05:13] <jmkasunich> we know a little about it
[00:05:20] <jocarneiro> i came here a couple of day's ago
[00:05:25] <fenn> eh i'll let jmk answer :P
[00:05:28] <jocarneiro> under the nick nulix
[00:05:44] <jocarneiro> but someone registered it so i changed
[00:05:46] <jocarneiro> lol
[00:06:08] <cradek> brb
[00:06:14] <jocarneiro> i have been digging in to emc
[00:06:54] <jocarneiro> i'm aiming to build some hardware that can free me from the paralell port
[00:07:18] <fenn> you mean, overcome the limitations of the parport while still using the parport?
[00:07:18] <jmkasunich> what do you have in mind?
[00:08:21] <jocarneiro> fenn: not quite, actually i was thinking in going rs232 and later usb
[00:08:31] <jmkasunich> cradek: tell me where I put my heatshrink tubing
[00:08:49] <fenn> check under the cat
[00:08:58] <jmkasunich> not there
[00:09:21] <jmkasunich> jocarneiro: serial and usb can be a bit of a pain to use for realtime control
[00:09:32] <ZZhung> ok guys, I got all the packages as recommended, any special instruction on which one to install first?
[00:09:48] <jocarneiro> as far as i dug up, i would had to build an interface like hal_parport
[00:10:43] <jocarneiro> jmkasunich: can you extend your comment on that please
[00:11:15] <CIA-8> 03jepler 07HEAD * 10axis/scripts/axis.py: fix grab error when nf_dialog is displayed while another application has grab; use same tcl code for the progress bar 'grab'
[00:11:15] <CIA-8> 03jepler 07HEAD * 10axis/thirdparty/dialog.tcl: fix grab error when nf_dialog is displayed while another application has grab; use same tcl code for the progress bar 'grab'
[00:11:44] <jmkasunich> the standard linux drivers for serial and usb (and parport) can't guarantee that data will be transferred _exactly_ when you want it
[00:11:45] <jepler> ZZhung: install them all at the same time. "dpkg -i *.deb" or something like that. The package manager should re-order them if necessary.
[00:12:14] <jmkasunich> if you are talking to a keyboard or terminal or printer, a delay of a few milliseconds does no harm
[00:12:15] <ZZhung> jepler: okay..
[00:12:33] <jmkasunich> but for CNC, things need to happen on time, within 10's of microseconds
[00:12:57] <ZZhung> GUYS!! thanks for the helps, I am off the cafe now and back to work. Will catch up later when things start working :)
[00:13:00] <jmkasunich> the parport is the easiest port to do that kind of realtime IO with
[00:13:08] <jepler> ZZhung: come back anytime
[00:13:16] <jocarneiro> what about if i took some control over to an external interface?
[00:13:51] <jmkasunich> that becomes a very complicated project
[00:13:59] <jocarneiro> :)
[00:15:24] <jocarneiro> i'm trying to see if it is 'makeable'
[00:16:07] <jmkasunich> anything is makeable, you can always start from scratch
[00:16:29] <jocarneiro> that is too big for me
[00:16:34] <jmkasunich> you are asking questions that have very complicated answers
[00:16:35] <jocarneiro> therefore
[00:16:57] <jmkasunich> is your goal to replace the parport with some other "standard" PC I/O device?
[00:17:05] <jocarneiro> i was trying to make some sense out of EMC to understant to what extent it could be extended
[00:17:17] <jocarneiro> jmkasunich: that was the idea
[00:17:30] <jmkasunich> there are already a number of boards (PCI, ISA, etc) that can be used to do more sophisticated I/O than the parport
[00:17:54] <jocarneiro> jmkasunich: but they are not homebrew
[00:18:10] <jocarneiro> by any simple guy with short budget
[00:18:14] <jocarneiro> that was my goul
[00:18:59] <jmkasunich> parport is perfect for homebrew
[00:19:04] <jmkasunich> why do you not like it?
[00:19:08] <jocarneiro> yes, but extintion arises
[00:19:48] <jmkasunich> extinction?
[00:19:59] <Dallur> jocarneiro: even if parport will not be onboard for most motherboards in the future I think most of us use pci cards in any case because of better quality
[00:20:36] <Dallur> jocarneiro: Parport will be around for a long time still, just not onboard
[00:21:33] <jocarneiro> Dallur: that is a valid argument
[00:21:36] <Dallur> which is fine with me, the last onboard parport I tried gave out a 3.4v high signal :P
[00:21:39] <fenn> jmkasunich: do you really think usb or rs232 is so bad if you are only sending velocity or torque commands?
[00:22:14] <fenn> * fenn could care less what voltage the parport uses
[00:22:33] <fenn> its the stupid cards designed to use 5V that are the problem
[00:22:51] <jocarneiro> Dallur: although i still wanted to take a crack at it
[00:23:11] <jocarneiro> it is a good way to get to know emc inside out
[00:23:54] <fenn> not really
[00:24:11] <fenn> you'd learn how to use the HAL API
[00:24:11] <jmkasunich> fenn: rs-232 isn't so bad, most boards use (or emulate) the same uart, so you can write a realtime driver
[00:24:23] <jmkasunich> but rs-232 will disappear sooner than parport IMO
[00:24:42] <jocarneiro> jmkasunich: rs232 is just a jump away from usb
[00:24:53] <fenn> the latency on USB is like 1ms tops, that is fine for low end stuff
[00:24:59] <jmkasunich> jocarneiro: no, not even close
[00:25:32] <fenn> of course the USB driver would probably be hell to write
[00:26:01] <jmkasunich> bad things about usb: 1) many differnet chipsets, you cannot write a driver for all of them 2) complex protocol, intended for a large number of non-realtime devices...
[00:26:14] <jmkasunich> both of those things make writing your own driver nearly impossible
[00:26:24] <jmkasunich> and using the linux driver means you don't have guaranteed timing
[00:26:38] <Dallur> I think the newer geckos all have usb and it is all vendor specific stuff
[00:27:00] <jmkasunich> geckos do _all_ the realtime stuff in the gecko, nothing in the PC
[00:27:12] <jmkasunich> if you go that way, that is up to you, but it is not emc
[00:27:16] <jmkasunich> you'll be starting from scratch
[00:27:27] <jmkasunich> emc does the realtime work in the pc
[00:28:04] <jocarneiro> jmkasunich: what is a gecko?
[00:28:15] <Dallur> jmkasunich: for the servo side of things yes but not when it comes to the step/dir signals
[00:28:31] <Dallur> jocarneiro: http://www.geckodrive.com
[00:28:43] <jocarneiro> thanks Dallur
[00:29:10] <jocarneiro> jmkasunich: i see what you mean
[00:29:15] <CIA-8> 03jepler 07HEAD * 10emc2/src/libnml/nml/nml.cc: cast pointer to size_t, not int, for arithmetic
[00:30:25] <fenn> what magic search words should i use to get statistics on usb latency?
[00:30:57] <Dallur> jmkasunich: I have never owned a gecko so I have not really dug into it but I think their main thing is emulating a step/dir (stepper) style interface for servos and than again stepper drivers
[00:31:38] <jmkasunich> I assumed since jocarneiro is talking about USB, he means the G-rex, not the gecko drives
[00:31:57] <jmkasunich> oh, that was you talking about geckos
[00:32:15] <jmkasunich> the only gecko stuff that uses USB is the g-rex, which is _not_ a drive, its a motion controller
[00:32:31] <CIA-8> 03jepler 07HEAD * 10axis/extensions/gcodemodule.cc: offsetof returns a size_t
[00:32:46] <Dallur> jmkasunich: ok, I thought the G-rex was just a gecko with a usb/ethernet interface
[00:32:57] <jmkasunich> no, it outputs step/dir
[00:33:01] <jmkasunich> gotta go
[00:33:32] <jocarneiro> jmkasunich: if i took it out to the interface, i mean a significant part of the control, and only used some signaling from 'emc' to the interface, then it wouldnt be emc because the 'real time control' was off the pc, is this what you mean?
[00:33:51] <jocarneiro> ok, thanks for the feedback :)
[00:43:31] <jocarneiro> fenn: do you have anithing to add to this?
[00:46:20] <jocarneiro> ok, i'll resume my reedings
[00:47:49] <fenn> that's what he meant i think
[00:49:02] <jocarneiro> he made some good points
[00:59:32] <cradek> there, fixed
[01:04:22] <cradek> jmkasunich: if my ream is .374, what's the ideal size for the hole before reaming?
[01:04:58] <cradek> 360?
[01:05:49] <SWPadnos> isn't it usually just a couple of thousandths you want to shave off?
[01:07:01] <cradek> I'm not sure what's ideal, I know people often drill 1/64th under, but I'm sure that's because they use whatever drill is available
[01:07:31] <cradek> but I'm milling so I can get any size I want
[01:12:10] <fenn> i doubt your mill is accurate to within a thousandth..
[01:12:27] <fenn> i'd say hole radius - tolerance
[01:12:30] <cradek> sure, that's why I'm reaming
[01:12:46] <fenn> however confident you are in your mill
[01:13:01] <fenn> (btw this is a good way to find out)
[01:13:03] <cradek> by cutting, measuring, setting tool radius, cutting again I can get darn close (+-.001)
[01:13:19] <fenn> nice
[01:14:37] <fenn> .375 seems too small for a ball bearing - is this a needle bearing?
[01:14:48] <cradek> no it's a small ball bearing
[01:14:54] <cradek> ID is .250
[01:18:56] <SWPadnos> hah!
[01:19:15] <SWPadnos> Haas says that a reamer should remove between 0.005 and 0.015 inch
[01:19:23] <SWPadnos> diameter
[01:19:29] <SWPadnos> http://www.haascnc.com/solutions_tooling.asp#reamer
[01:19:31] <cradek> ok so up to 1/64
[01:19:49] <cradek> I'll split the difference and do 10 then
[01:19:53] <SWPadnos> yep, though it's a very heavy spindle load, due to the straight or down-spiral flutes
[01:20:08] <cradek> ok 7? heh
[01:20:14] <SWPadnos> hey - it looks like it's fireworks time - bbia
[01:20:16] <SWPadnos> b
[01:20:18] <cradek> I want it to clean up any chattering
[01:20:19] <cradek> ok bye
[01:20:23] <cradek> thanks for doing my research
[01:20:34] <SWPadnos> straight flute or dosn-spiral?
[01:20:39] <SWPadnos> sure - I was curious
[01:20:43] <cradek> straight
[01:20:51] <SWPadnos> yep - that should be pretty har dto turn :)
[01:20:54] <SWPadnos> hard to
[01:21:22] <SWPadnos> interesting - they mention some lathe G-code in the next tip (G85 vs. G81)
[03:06:45] <CIA-8> 03jepler 07HEAD * 10axis/extensions/gcodemodule.cc: the May 8 fix for building axis for bdi4emc
[03:06:45] <CIA-8> 03jepler 07HEAD * 10axis/setup.py: the May 8 fix for building axis for bdi4emc
[03:18:25] <cradek> jepler: http://timeguy.com/cradek-files/emc/mount1.jpg
[03:18:27] <cradek> jepler: http://timeguy.com/cradek-files/emc/mount2.jpg
[03:29:44] <jepler> cradek: looks nice
[03:29:51] <jepler> that's using your slot subroutine??
[03:29:54] <jepler> s/??/?
[03:32:10] <jepler> pretty animations: http://www.mrl.nyu.edu/~ajsecord/fracture/ (work for me in mplayer)
[03:33:10] <jepler> g'night
[03:34:45] <cradek> jepler: yes
[03:34:57] <cradek> goodnight
[03:44:28] <asdfqwega> logger_aj, bookmark
[03:44:28] <asdfqwega> See
[04:33:28] <Jymmm> is anyone running steppers?
[08:36:41] <SWPadnos_> SWPadnos_ is now known as SWPadnos
[12:19:13] <les_w> morning
[12:20:46] <les_w> I'm getting an ever increasing number of "penny stock" spam. I need to find a way to filter those out...
[12:35:23] <^Eugenics> Hi les_w , (thunderbird has a quite OK working filter)
[12:44:05] <jepler> les_w: I've been using "spambayes" (http://spambayes.org) for a few years now, and I find it to be very effective after the initial training. I use it on a Linux machine, but it's supposed to run on Windows too.
[13:39:23] <cradek> jepler: and the helical hole milling subroutine
[13:45:06] <jepler> cradek: back in december I did some work on a "debugging format" for g-code which allowed for a stack trace to be included in a comment on each line. but now I can only find the "encoding" portion, not the "decoding" portion.
[13:46:00] <jepler> here's an example of a g-code file with debugging information: http://emergent.unpy.net/files/sandbox/debugging-info.ngc
[13:46:51] <cradek> eh?
[13:47:12] <jepler> sorry, it's a human-opaque format
[13:47:31] <cradek> what is it?
[13:47:51] <jepler> it's information needed to reconstruct the Python call stack at the time each line of output was produced
[13:48:25] <cradek> interesting
[13:48:27] <jepler> you were saying that when you load a .py file in axis it's too bad you can't see the line of python code that produced a particular motion
[13:48:36] <cradek> right
[13:48:48] <jepler> this does all that and more, except the user interface needs to be implemented
[13:48:57] <cradek> sounds very useful
[13:49:40] <cradek> I have to admit once I wrote my slot milling in python, it pained me to obfuscate it by changing it to gcode
[13:50:17] <cradek> I can really envision writing cnc programs in python instead
[13:50:36] <cradek> but I wonder if a better way would be to replace emc's interpreter
[13:50:36] <jepler> a much simpler debugging format would just give the innermost frame that happened to be in the "main file"
[13:51:11] <cradek> I'm not sure what our vision should be here
[13:56:29] <jepler> I dunno, I've been trying to figure that out too
[13:57:56] <jepler> another option is to choose a language that will let you (almost) write regular g-code: http://emergent.unpy.net/files/sandbox/g.tcl
[13:57:56] <jepler> I *think* that any file which doesn't use #-variables will "work" as a tcl program with the definitions of gcode and unknown in that file
[13:58:15] <jepler> but you can also use any of tcl's features (arithmetic, flow control, etc)
[13:59:18] <cradek> that's interesting, but I'm not sure how much better arithmetic in tcl is
[13:59:36] <jepler> for myself, I want to be able to write code for my CNC machine in a high-level language, and I'd rather refer to "low-level" things like "G1" or "M64" as rarely as possible.
[14:00:15] <cradek> I agree, but I also don't want to have to write radius compensation or tool offsets - I like that that's already done
[14:00:23] <jepler> tcl has named variables and named subroutines. It has lists and arrays.
[14:00:55] <SWPadnos_> SWPadnos_ is now known as SWPadnos
[14:01:12] <cradek> true, to me the numbered variables are the worst thing
[14:01:31] <cradek> it makes any gcode immediately opaque
[14:01:32] <jepler> that's why outputting g-code is attractive. but maybe we could find a way to expose offsets and compensation to other languages
[14:02:13] <jepler> i.e., move it to a layer between interp and canon, or into canon
[14:02:19] <cradek> yeah
[14:02:46] <cradek> but as soon as you say that, it seems like the most obvious abstraction layer is gcode
[14:04:10] <cradek> in the last couple days I made some write-only subroutines that do useful things, and if I could hide them behind (INCLUDE,"...") I might be happy enough
[14:11:36] <Dallur> jmkasunich: I been testing the minmax block this morning, and if I set reset == 1 emc locks up
[14:11:49] <Mess> APT is a HIGHER level languag that will allow cutter comp and caninical geometry creation
[14:12:40] <Mess> i have a dos ver if anyone cares to try it out
[14:17:04] <SWPadnos> Dallur, can you put the hal file that uses minmax on pastebin?
[14:17:18] <SWPadnos> I can't see anything in the minmax code that should do that
[14:17:38] <cradek> I don't either, it's very simple
[14:17:40] <Dallur> SwPadnos: I am just using halcmd to set the signal high
[14:17:54] <SWPadnos> I'd loke to see the connections
[14:17:56] <SWPadnos> lik
[14:17:57] <SWPadnos> like
[14:18:05] <Dallur> sure I will put it on pastebin, just a sec
[14:18:10] <SWPadnos> maybe I should get some coffee first
[14:18:12] <SWPadnos> :)
[14:18:29] <Dallur> but don't say I did not warn you :D
[14:18:38] <Dallur> it is large D:
[14:18:43] <SWPadnos> no problem
[14:19:53] <Dallur> http://pastebin.ca/79541
[14:21:04] <Dallur> SWPAdnos look towards the back, i don't have anything hooked up to the minmax.0.reset, for testing purposes I was doing that manually and setting minmax.0.reset to high constantly just locked everything up
[14:22:15] <SWPadnos> locked as in "need to press the reset switch"?
[14:22:24] <SWPadnos> or locked as in "stops working correctly?
[14:22:25] <Dallur> locked as in , UI does not respond
[14:22:42] <SWPadnos> hmmm
[14:25:44] <Dallur> After a bit the UI does actually come back to life, but I am unable to bring the machine out of estop
[14:25:54] <Dallur> even after resetting the minmax.0.reset to 0
[14:25:58] <les_w> thanks jeff I'll have a look at spambays.
[14:26:07] <cradek> Dallur: is there an oops in your dmesg?
[14:26:32] <cradek> or any other unusual error message
[14:26:41] <Dallur> nope, nothing I can see
[14:27:04] <Dallur> [ 5043.337550] Default Trap Handler: vector 14: Suspend RT task c333d800
[14:27:33] <Dallur> Not sure if that is normal for RT, but that is the only thing which looks a bit out of plce
[14:27:39] <Dallur> s/plce/place/
[14:27:43] <cradek> I'm not sure either
[14:28:35] <Dallur> halcmd still works and I can list pins and such so ...
[14:33:18] <jepler> vector 14 may refer to "page fault exception"
[14:34:28] <jepler> dereference of an invalid pointer
[14:38:02] <Dallur> just used the halui sample config, added a minmax and did the same thing and , 5774.108278] Default Trap Handler: vector 14: Suspend RT task c0b26000
[14:38:14] <Dallur> so it is a problem with minmax
[14:39:14] <cradek> this happens right when you set reset true?
[14:39:27] <cradek> do you know if minmax works properly otherwise?
[14:39:42] <Dallur> cradek: yes or if it is already running it happens right away
[14:39:55] <cradek> sorry if what is already running?
[14:41:34] <Dallur> a program
[14:41:45] <SWPadnos> hmmm -I wonder if there's some weird problem with name scope
[14:41:54] <SWPadnos> everything is called minmax
[14:42:06] <SWPadnos> the count parameter, the pointers in all the functions, etc
[14:42:52] <SWPadnos> (count parameter = number of minmaxes, the kernel parameter)
[14:43:07] <cradek> but it's C!
[14:43:14] <SWPadnos> right, you can do anything
[14:43:21] <SWPadnos> even if it's dangerous ;)
[14:43:44] <cradek> besides all the other blocks do the same don't they?
[14:43:54] <SWPadnos> could be
[14:49:15] <cradek> [1202772.194293] Default Trap Handler: vector 14: Suspend RT task ca9b1800
[14:51:05] <Rugludallur> did you guys get the message about how to reproduce before I got disconnected ?
[14:51:14] <cradek> I don't think so
[14:51:17] <Rugludallur> :(
[14:51:20] <cradek> but I reproduced it, I don't think reset is involved
[14:51:33] <Rugludallur> ok
[15:08:55] <Rugludallur> Rugludallur is now known as Dallur
[15:17:41] <cradek> I agree that minmax is broken, but I can't seem to spot the bug
[15:20:31] <Dallur> cradek: it seems that setting minmax.x.reset == 1 crashes the RT thread
[15:20:37] <Dallur> cradek: correct ?
[15:23:49] <cradek> no, it sometimes crashes whenever I connect a signal to any of the pins
[15:24:05] <Dallur> cradek: strange hmmm
[15:24:59] <SWPadnos> I don't think the problem is in the minmax_funct. I'm betting it's in the export, but I don't see it either
[15:25:25] <cradek> I also think it's in the export
[15:25:33] <cradek> I'll try to confirm that by not running the function
[15:26:05] <cradek> I also preprocessed it to make sure there wasn't a minmax define messing it up
[15:26:12] <SWPadnos> ok
[15:28:16] <cradek> it appears that we are wrong
[15:28:21] <SWPadnos> ok
[15:28:26] <cradek> it only traps when I addf it
[15:28:46] <SWPadnos> well, the function would need to run, with the bad pointers, to segfault
[15:29:05] <cradek> I guess
[15:29:18] <cradek> I don't have the big picture of hal internals
[15:29:34] <cradek> for example what hooking signals to pins does
[15:30:00] <SWPadnos> the signal connecting code dereferences one pointer, storing a pointer there
[15:30:33] <SWPadnos> the pin accessing code does a double dereference, reading/writing wherever the pointer stored by the signal code points
[15:31:00] <cradek> ok
[15:31:07] <SWPadnos> did that make sense?
[15:31:11] <cradek> I think so
[15:31:47] <SWPadnos> ok. so setting up signals writes into the minmax_t struct, and the minmax_funct writes wherever those pointers point, which is probably the problem
[15:32:17] <cradek> ok
[15:32:50] <SWPadnos> do the rest of the blocks still work?
[15:33:26] <cradek> I think so, for instance sim has a bunch of ddt in it
[15:33:32] <cradek> all hooked up to stuff
[15:33:34] <SWPadnos> ok
[15:39:17] <cradek> I confirmed ddt does work
[15:39:26] <SWPadnos> ok
[15:45:41] <SWPadnos> I wonder if removing RTAPI message suppression (in the export funct) would help
[15:52:31] <cradek> nope, looks normal
[15:52:52] <cradek> (I set it to ALL)
[16:05:25] <SWPadnos> argh. I need to send someone a CV, and it's been so long since I've written one, I can't remember what they're supposed to look like
[16:05:56] <cradek> they're supposed to look like microsoft word's CV template probably
[16:06:29] <Dallur> I recomend using VI, indenting it well and making extensive use of hyperlinks :D
[16:08:00] <SWPadnos> I wonder if OpenOffice has a Word lookalike CV template ;)
[16:09:18] <cradek> I'd use LaTeX with the nice computer-modern font
[16:09:24] <cradek> (seriously)
[16:09:38] <SWPadnos> I don't think that would be my best option
[16:09:56] <SWPadnos> since I have almost zero LaTeX experience
[16:09:56] <jepler> this website suggests that your CV could include ... Optional Personal information: Marital Status, Spouse's Name, Children
[16:10:02] <SWPadnos> heh
[16:10:05] <cradek> haha
[16:10:09] <jepler> why would you put your number of children on your resume?
[16:10:23] <cradek> so they can tell if you're a "family man" or not
[16:10:26] <SWPadnos> so they can gauge how many extra hours you can soend at work
[16:10:28] <cradek> duh
[16:11:01] <SWPadnos> just got an ad from IMService for a "closed loop servo CNC router"
[16:11:21] <SWPadnos> I highly doubt that DeskCNC has been made closed loop ...
[16:11:34] <cradek> http://www.duke.edu/~jrb11/cv/
[16:11:44] <Roguish> legally, you cannot be 'asked' any of that personal type information, so they try to get it from a CV or resume or whatever.
[16:11:53] <SWPadnos> cradek, cool - thanks
[16:12:13] <cradek> you should put on it that you're white too I guess
[16:12:18] <cradek> oh wait, they can ask that :-/
[16:12:33] <SWPadnos> oh christ - I'd have to remember all the honor societies I was in
[16:13:06] <jepler> cradek: that looks like a nice template
[16:13:07] <jepler> * jepler grabs
[16:13:23] <cradek> jepler: it's sure clean and simple
[16:15:09] <cradek> http://www.biostat.harvard.edu/~paciorek/computing/Latex_template_creating_CV_.html
[16:15:15] <cradek> I like the columns in this one better
[16:16:39] <SWPadnos> yeah - plus it looks longer due to the paragraph width
[16:16:43] <cradek> and after all this time, I think "computer modern" still beats everything else
[16:17:34] <cradek> big thumbs down on the AT in his email
[16:17:51] <cradek> and the missing http:// on the url
[16:18:27] <jepler> must be .. spam protection?
[16:18:27] <cradek> but I think the layout is excellent
[16:20:33] <cradek> looks like Paciorek fiddled with the output a lot to condense it
[16:21:08] <cradek> % RESUME DOCUMENT STYLE -- Released 23 Nov 1989
[16:21:09] <cradek> % for LaTeX version 2.09
[16:21:33] <cradek> that's the Paciorek layout
[16:23:18] <cradek> (and it builds fine on my rh9's latex)
[16:24:05] <SWPadnos> you know - this is really sad: http://www.sover.net/~swp/images/startmenu.png
[16:24:11] <SWPadnos> and still no latex (I think)
[16:24:31] <cradek> haha
[16:24:46] <SWPadnos> soon, the menu will spill over into the center monitor
[16:25:00] <cradek> sorry, I don't know how to use this OS you have
[16:25:07] <SWPadnos> me either
[16:25:55] <cradek> can you edit a text file with it?
[16:26:17] <cradek> if so, maybe you could process your markup on another machine
[16:26:40] <cradek> sorry, not helping
[16:26:43] <jepler> SWPadnos: holy crap
[16:27:06] <Rugludallur> Rugludallur is now known as Dallur
[16:27:14] <cradek> the start menu with no heirarchy (other than "Programs") is a bad idea
[16:27:34] <SWPadnos> there can be a hierarchy, it just doesn't happen by default
[16:27:58] <cradek> can you rearrange it and not break everything (like add/remove programs)?
[16:28:05] <jepler> cradek: hah!
[16:28:09] <SWPadnos> no - you'll bread the remove operation
[16:28:12] <SWPadnos> break, too
[16:28:30] <cradek> ok back to what I said earlier... :-)
[16:28:58] <cradek> I guess they "fixed" it with the magically-rearranging feature in modern windowses
[16:28:59] <jepler> I think I've seen a few installers that give you the opportunity to choose the start menu path
[16:29:17] <SWPadnos> you can choose it in most "modern" installers
[16:29:23] <cradek> ah ok
[16:29:44] <Dallur> If you are looking for a good template for OpenOffice I would recommend -> For me it saves me alot of work because they already have all the different languages
[16:29:49] <Dallur> http://europass.cedefop.europa.eu/europass/home/hornav/Downloads/EuropassCV/CVTemplate/navigate.action
[16:42:49] <jepler> cradek: that article on very old CNC: http://blog.modernmechanix.com/2006/04/05/an-automatic-machine-tool/
[16:42:52] <jepler> 1952
[16:44:28] <SWPadnos> they sure do make a mess of the base plate
[16:45:00] <jepler> yeah
[16:45:18] <SWPadnos> but I guess that's why they use base plates in the first place
[16:46:52] <cradek> wow that's wonderful
[16:49:11] <cradek> "SIGMA Sensitive Relays"
[16:52:25] <SWPadnos> woohoo - found my resume (from 2001)
[16:52:46] <SWPadnos> now I don't have to remember all the bullshit^Winformation I thought of back then
[18:04:41] <cradek> jepler: I think it's saying you calculate the 3 projections of your programmed lines yourself and punch them on the tape
[18:05:20] <cradek> so the arc must be done with "incremental straight-line segments"
[18:08:18] <Lerneaen_Hydra> hi
[18:09:13] <cradek> hi
[18:09:19] <Dallur> hello
[18:13:06] <Lerneaen_Hydra> so what happens in the wonderous world of EMC2?
[18:15:33] <jepler> cradek: hm, disappointing.
[18:16:12] <cradek> I think circular interpolation didn't come for another 25 years
[18:16:39] <SWPadnos> electronics probably needed a little bit more oomph for circles
[18:17:05] <SWPadnos> considering that the transistor wasn't an industrial device for another 15 years or so
[18:17:54] <cradek> the part they show in the photo could easily be made with a rotary table on a manual mill
[18:18:14] <cradek> I wonder if they ever made complex parts with that system
[18:18:46] <SWPadnos> probably
[18:19:04] <SWPadnos> just not as fast or as automated as today ;)
[18:19:18] <cradek> I mean with the system in the article
[18:20:52] <SWPadnos> ok - I think that similar systems have done a lot of useful work, not sure about that specific method
[19:06:16] <Rugludallur> Rugludallur is now known as Dallur
[19:15:49] <cradek> http://blog.modernmechanix.com/mags/qf/c/PopularScience/3-1941/med_glamour_bonnet.jpg
[19:20:21] <Dallur> cradek: This is why airline stewardesses look the way they do
[19:34:41] <A-L-P-H-A> that's retarded.
[19:35:08] <A-L-P-H-A> I wonder what actions we consider today as being good, as retarded in the future.
[19:35:37] <A-L-P-H-A> typing, condoms, pencils, botox, drugs?
[19:35:50] <cradek> botox surely
[19:36:09] <cradek> well, I think it's stupid now
[19:37:57] <Dallur> I think alot of people thought vacuum was stupid then to :D
[19:43:09] <jepler> I hope to live to see a future where there are no unwanted pregnancies and condoms are seen as a ridiculously primitive form of birth control
[19:43:41] <jepler> "those 20th century savages did *what* to avoid pregnancy?"
[19:44:39] <cradek> I hear the kids these days are supposed to be obstinate or something
[19:44:52] <cradek> the prezident says so
[19:46:19] <A-L-P-H-A> jepler, condoms are for both STD and pregnancy.
[19:46:41] <A-L-P-H-A> cradek. and that president isn't a monkey. :)
[20:11:04] <jepler> ... You can also configure the phone not to let you dial certain phone numbers if you're drunk. ...
[20:12:04] <A-L-P-H-A> jepler, where'd that come from?
[20:12:10] <A-L-P-H-A> I would definitely need that...
[20:12:21] <A-L-P-H-A> I've started talking to my exGF cause I was drunk one day.
[20:12:23] <A-L-P-H-A> :|
[20:12:26] <A-L-P-H-A> stupid me.
[20:13:49] <jepler> A-L-P-H-A: http://www.schneier.com/blog/archives/2006/07/cell_phone_secu.html
[20:22:09] <alex_joni> 'lo all
[20:25:07] <jepler> hi alex
[20:26:58] <alex_joni> what's up?
[20:27:08] <alex_joni> I finally managed to get to an area where I can get online ;)
[20:30:13] <jepler> where did you travel to this time?
[20:32:21] <alex_joni> hmm.. let me find a map ;)
[20:32:25] <alex_joni> it's inside romania
[20:33:42] <alex_joni> jepler: http://www.primariajibou.ro/parc/images/RomaniaMap.gif
[20:33:51] <alex_joni> Jibou is the town where I was the last two days
[20:34:40] <jepler> I see
[20:36:06] <alex_joni> now I am here: http://ro.wikipedia.org/wiki/Imagine:Bistrita_Nasaud.png
[20:36:55] <alex_joni> and this is where I'll hopefully be tomorrow night (back home): http://ro.wikipedia.org/wiki/Imagine:Timis.png
[20:38:00] <jepler> happy travels
[20:38:29] <jepler> when you get home we need you to spot the bug in the new 'minmax' block; SWPadnos, cradek and I all failed to find it
[20:39:13] <alex_joni> what's the problem?
[20:39:40] <jepler> when you hook signals up to it, you get a kernel error and then emc2 "stops working"
[20:39:50] <alex_joni> ohh...
[20:39:50] <jepler> 09:34:44 <Dallur> [ 5043.337550] Default Trap Handler: vector 14: Suspend RT task c333d800
[20:39:55] <jepler> 09:56:55 <cradek> [1202772.194293] Default Trap Handler: vector 14: Suspend RT task ca9b1800
[20:40:06] <alex_joni> I usually get that when I have an infinite loop in a module
[20:40:11] <SWPadnos> and it looks just fine
[20:40:25] <alex_joni> I had some issues in the stg driver, and got it too
[20:40:40] <alex_joni> that's the RT handler who figures out a deadlock, and prevents it
[20:40:54] <jepler> that's what "vector 14" means?
[20:40:57] <alex_joni> do you need to add min=# ?
[20:41:05] <alex_joni> or only insmod the blocks?
[20:41:09] <SWPadnos> well, this reads 4 pins, and writes two pins. there are only if statements in between
[20:41:23] <SWPadnos> no loops of any sort
[20:41:46] <Dallur> jmkasunich: you around ?
[20:41:51] <alex_joni> I see the parameter is called 'minmax'
[20:41:53] <SWPadnos> it's one block, minmax - it outputs both. there's an input, and a "reset" bit, which causes he min and max outputs to track the input
[20:42:04] <SWPadnos> s/he/the/
[20:42:11] <alex_joni> if you loadrt the blocks without any minmax components, does it still happen?
[20:42:15] <SWPadnos> no
[20:42:19] <SWPadnos> ddt works fine
[20:42:50] <SWPadnos> cradek did some testing, but I'm not sure if he tried running the function, but with no pins connected to signals
[20:43:10] <SWPadnos> the problem seemed to occur when a pin was connected to a signal
[20:43:21] <alex_joni> ok, so basicly if you add minmax=.. then it crashes?
[20:43:31] <SWPadnos> sort of
[20:43:45] <SWPadnos> (I haven't been able to test myself, so I'm just paraphrasing what cradek did)
[20:44:15] <SWPadnos> basically, if you connect signals to a minmax block, and start a thread that has the minmax_funct in it, you'll get the problem at some point
[20:44:19] <alex_joni> * alex_joni prods cradek
[20:44:33] <SWPadnos> I don't know if that's true if you *don't* connect any signals, and still run the function
[20:45:30] <alex_joni> was this discussed in here?
[20:45:35] <Dallur> yup
[20:45:40] <jepler> yeah I think it was here
[20:46:07] <SWPadnos> somewhere around 11:00 EST
[20:46:18] <SWPadnos> (it's just about 17:00 now)
[20:47:17] <alex_joni> ok.. reading back
[20:48:11] <jepler> if ( in < *(minmax->min) ) {
[20:48:18] <jepler> is minmax->min initialized to something?
[20:48:22] <jepler> er, *(minmax->min)
[20:49:03] <SWPadnos> the pin creation and signal connecting code should initialize that
[20:49:20] <SWPadnos> well, the signal code changes it, the pin creator initializes it
[20:49:40] <alex_joni> default values are usually 0
[20:49:48] <SWPadnos> not for the pointers ;)
[20:49:50] <alex_joni> and when you reset it should be set to in
[20:50:01] <alex_joni> no, I meant for pin values
[20:50:04] <SWPadnos> right
[20:50:11] <alex_joni> HAL default, not C-language
[20:50:44] <SWPadnos> sure - the pin struct has a "default value" element, which the pointer is initialized to point at
[20:51:39] <alex_joni> jepler: do you have access to test changes?
[20:52:12] <alex_joni> my RT machine is at home..
[20:53:37] <jepler> alex_joni: sure, I can .. do you think you've spotted a problem?
[20:54:21] <jepler> brb
[20:54:50] <alex_joni> jepler: not really, but I was wondering what happens if you comment out the contents of the function
[20:55:07] <SWPadnos> the problem only occurs when the function is run
[20:55:16] <SWPadnos> cradek tested that
[20:55:21] <alex_joni> SWPadnos: that's why I was asking this
[20:55:27] <SWPadnos> err - ok
[20:55:32] <alex_joni> leave the function there, but have it void
[20:55:54] <SWPadnos> ok. checking to see if the function address is somehow borked in the export_funct call
[20:56:04] <alex_joni> static void minmax_funct(void *arg, long period) { ; }
[20:56:04] <SWPadnos> (that test, not me right now ;) )
[20:56:14] <alex_joni> right
[20:56:57] <alex_joni> I do have a hunch.. might be farfetched, but the code looks perfect
[20:57:07] <alex_joni> so I rather suspect there's a problem with calling the function
[20:57:58] <SWPadnos> I was thinking that it could be a problem with pin addresses, like if the pointer just isn't dereferenced correctly (or the correct address doesn't get put in the right place:) )
[20:58:47] <alex_joni> well, that test above will tell us ;)
[20:59:18] <SWPadnos> yep, and the next test would be to read the individual pins from the function
[21:00:14] <alex_joni> I rather expect it to fail too
[21:00:49] <SWPadnos> why?
[21:01:17] <alex_joni> just a hunch
[21:01:22] <SWPadnos> ok :)
[21:01:59] <jepler> with no function body, I added the function to servo-thread and then attached signals to in, min, and max
[21:02:02] <jepler> no errors yet
[21:02:11] <alex_joni> OK
[21:02:19] <jepler> in 'halcmd show pin' the min and max showed as 0.00000 at all times
[21:02:20] <alex_joni> can you start uncommenting stuf?
[21:02:32] <SWPadnos> hmmm. unrelated, but the match8 funct can be tagged as not needing FP
[21:03:05] <alex_joni> so 0,0 on the export function
[21:03:08] <SWPadnos> yep
[21:04:49] <alex_joni> jepler: leave it only up to:
[21:04:51] <alex_joni> minmax = (minmax_t *) arg;
[21:04:51] <alex_joni> /* get input to local */
[21:04:51] <alex_joni> in = *(minmax->in);
[21:05:08] <alex_joni> }
[21:05:25] <SWPadnos> it may be useful to keep the declaration of in though ;)
[21:06:09] <jepler> I did that and also unconditionally did
[21:06:09] <jepler> *(minmax->min) = in;
[21:06:14] <alex_joni> OK
[21:06:20] <jepler> now, "min" tracks "in" according to 'watch halcmd show pin minmax.0.'
[21:07:41] <alex_joni> now make it conditioned by minmax->reset
[21:07:54] <alex_joni> so it only tracks if you have the reset pin set
[21:10:10] <alex_joni> the only thing I see (which would be a very STUPID thing if it were true, is the order in which the pins get exported): RD, WR, WR, RD
[21:11:02] <alex_joni> while all other things have it RD,RD,WR,WR
[21:13:04] <jepler> um .. I uncommented everything and it works fine for me
[21:13:21] <jepler> (I didn't try to reproduce the bug earlier, during the first go-round)
[21:13:33] <alex_joni> umm :)
[21:13:57] <alex_joni> don't you hate it when that happens?
[21:14:00] <alex_joni> :D
[21:17:01] <jepler> here's the .hal I used for testing: http://pastebin.ca/79907
[21:17:10] <jepler> I jogged around and turned mist on/off to test the 'reset' input
[21:19:04] <jepler> I see the spammers have found pastebin: http://pastebin.ca/ 79896
[21:23:30] <jepler> see you guys later
[21:23:31] <jepler> * jepler goes home
[21:23:58] <alex_joni> later jeff
[21:30:13] <Lerneaen_Hydra> g'night
[21:45:13] <robin_sz> meep?
[21:46:59] <Dallur> beep ?
[21:48:28] <giacus> deep
[21:50:32] <A-L-P-H-A> shiet.
[21:50:40] <A-L-P-H-A> :D
[21:50:50] <A-L-P-H-A> 'sup folks?
[21:52:15] <Dallur> not much
[21:57:49] <robin_sz> last night I managed to set the focus on my CCTV camera atr work
[21:57:56] <robin_sz> amazing huh?
[21:58:28] <A-L-P-H-A> robin_sz. no.
[21:58:37] <robin_sz> well, I thought it was
[21:58:52] <A-L-P-H-A> robin_sz, unless you got to catch a hot 20 something women having sex on the CCTV... lets not bring up the CCTV network again.
[21:58:57] <giacus> why ? :)
[22:00:01] <robin_sz> ever tried working on a camera 5m up the side of a building, standing on the forks of a fork lift truck, while your wife wathces the output on the PC inside and communicates with a mobile phone .. "getttign better better .. no back a bit"
[22:00:10] <anonimasu> yeah
[22:00:11] <anonimasu> I have :D
[22:00:13] <anonimasu> it sucks
[22:00:27] <robin_sz> worse, I had to do it in the dark
[22:00:31] <A-L-P-H-A> robin_sz... similar... satellite dish.
[22:00:33] <robin_sz> cant be done in the day
[22:00:44] <Dallur> microwave antenna here :P
[22:00:47] <A-L-P-H-A> forklift? stupid... that's dangerous.
[22:00:54] <A-L-P-H-A> you're old... you can't take a fall like that.
[22:00:59] <A-L-P-H-A> ;)
[22:01:03] <robin_sz> hah!
[22:01:04] <A-L-P-H-A> <--- PURE ass today.
[22:01:51] <Dallur> that's what I was smelling
[22:02:43] <robin_sz> you were smelling his ass?
[22:02:54] <robin_sz> weirdo ;)
[22:02:58] <Dallur> robin_sz: thats what dogs do
[22:03:08] <A-L-P-H-A> Dallur, does that mean you're a bitch?
[22:03:45] <robin_sz> Dallur, it may be, but generally speaking, you should not use "thats what dogs do" as a measure of good/bad in your life
[22:04:17] <Dallur> hmm thats what I was told when I had supper
[22:05:00] <robin_sz> old joke ...
[22:05:24] <Dallur> sorry, trying to talk while watching movie :P
[22:05:36] <robin_sz> young man visits some girls house and has tea with the parents, the family dog sits in the middle of the room and begins licking its balls.
[22:06:01] <robin_sz> the young man is embarrassed and tries to break the silence .. "umm, I wish I could do that"
[22:06:15] <robin_sz> "well, give him a biscuit and he might let you ..."
[22:06:38] <Dallur> næs
[22:06:47] <robin_sz> sorry, crap joke
[22:07:04] <Dallur> :D
[22:08:35] <robin_sz> actually, I had to fix the forklift today
[22:08:43] <robin_sz> one of the wheels fell off.
[22:08:51] <robin_sz> they dont work with 3 wheels.
[22:09:35] <robin_sz> regular maintenance wold help, infact ANY maintencnace would help"
[22:47:20] <K4ts> hello
[23:30:36] <A-L-P-H-A> goodbye
[23:50:53] <A-L-P-H-A> hey Mess.
[23:51:32] <A-L-P-H-A> yikes... Easlink is expensive.