#emc-devel | Logs for 2007-09-14

[00:50:51] <Guest638> Guest638 is now known as skunkworks
[01:02:35] <skunkworks> woo whoo - let the bidding begin :)
[01:02:47] <skunkworks> or woo hoo
[01:12:47] <SWPadnos> how's that going?
[01:13:11] <skunkworks> one bid :)
[01:13:21] <SWPadnos> woohoo!
[01:13:27] <skunkworks> yes :)
[01:13:40] <SWPadnos> at least you started it at $999, so you're sure to not get piddly squat
[01:13:45] <skunkworks> goes out sunday night - so this should be fun. Next best thing to gambling.
[01:13:50] <SWPadnos> heh
[02:14:56] <cradek> except you come out ahead instead of behind!
[02:16:08] <SWPadnos> it's like gambling ... from the casinos point of view :)
[02:16:16] <cradek> right
[02:31:57] <skunkworks> :)
[12:35:37] <skunkworks_> http://download.gna.org/tuxcnc/design_notes.pdf
[12:35:44] <skunkworks_> Hi paul.
[12:40:34] <skunkworks_> He has an interesting take on the mesa card..
[12:43:00] <skunkworks_> seems inflexible..
[12:51:19] <skunkworks_> morning ray - how is it going?
[12:59:14] <skunkworks_> doesn't anyone want to talk to me? ;)
[13:08:16] <rayh> sorry phone
[13:08:26] <rayh> hi skunk
[13:08:31] <skunkworks_> heh - hi :)
[13:09:07] <skunkworks_> rayh: have you seen this? http://download.gna.org/tuxcnc/design_notes.pdf
[13:09:19] <skunkworks_> it is an interesting read
[13:10:39] <rayh> no
[13:29:40] <rayh> Now that I got it, do I want to read it.
[13:30:04] <rayh> I was talking to a guy that has been looking at tuxcnc.
[13:30:25] <rayh> He said there were some good ideas but the implementation wasn't there.
[13:31:07] <SWPadnos> plus it's hard to read through the bullshit when you actually know about EMC2/HAL
[13:31:17] <skunkworks_> I said earlier - (to my self) it seems inflexible.
[13:31:21] <SWPadnos> I agree that there are some interesting ideas there though
[13:31:38] <SWPadnos> it's super-flexible. you have the source code
[13:32:01] <SWPadnos> or, you would if there is ever a release ...
[13:32:11] <skunkworks_> cough - seem inflexible to someone like me..
[13:33:36] <rayh> I really like HAL at the hardware level.
[13:33:52] <rayh> For either rt or user paced stuff.
[13:34:40] <rayh> I just wish that we could build some of that flexibility into the rest of the EMC
[13:35:13] <skunkworks_> rayh: did you jlmjv hooked up his encoders on his stepping machine and now is able to detect following error. That is flexible. :)
[13:35:13] <rayh> Without turning all of EMC into a giant patch panel.
[13:36:00] <rayh> Yes. Nifty. Now invert that signal and use it to control dynamic feedrate.
[13:36:27] <skunkworks_> exactly - measure the following error and as it encreases - decrease the feedrate.
[13:36:45] <skunkworks_> it would be a cool experiment anyways..
[13:36:49] <rayh> Surface finish goes to hell if it happens during a cut but for rapids and such it would be great.
[13:38:06] <SWPadnos> I've thought about the "modularity without complexity" thing, and that's a hard problem :)
[13:38:51] <SWPadnos> one way to achieve part of it would be to have some concept of "bundles" of signals - several related signals that get connected as a group
[13:39:22] <SWPadnos> so motor velocity, enable and feedback all get connected as an "axis"
[13:39:26] <SWPadnos> (for example)
[13:40:53] <skunkworks_> then that is different 'plug' if it is steppers vs servos.
[13:41:16] <SWPadnos> yep
[13:41:31] <rayh> Right. That was the idea of lego blocks.
[13:41:42] <SWPadnos> well, acutally the connection between motion and the next level is the same
[13:41:45] <cradek> "Nothing should be committed until potential sources of memory leaks, segmentation faults, and other run time errors have been eliminated."
[13:41:56] <SWPadnos> heh
[13:42:00] <cradek> maybe this is why it's slow going...
[13:42:27] <rayh> 35 instances of the word "will.'
[13:42:28] <SWPadnos> unfortunately, source code is a potential source of memory leaks, segemntation faults, and other run-time errors
[13:43:39] <cradek> 'tool tables should be declared in the preamble of a gcode file'
[13:43:44] <cradek> interesting that we were recently talking about this
[13:43:52] <SWPadnos> heh
[13:44:02] <cradek> (I still don't know if it's a good idea)
[13:44:25] <SWPadnos> it's certainly more flexible that way, so it isn't strictly a bad idea
[13:44:55] <SWPadnos> especially if you can both define a tool (as you suggested) and load a tool table (as I suggested)
[13:45:07] <cradek> yeah
[13:45:39] <rayh> I do that now with comments in the gcode.
[13:45:53] <rayh> build a table, save and load it.
[13:46:19] <rayh> It's a custom post processor for synergy.
[13:46:55] <cradek> so I assume you feel doing it in the gcode interp would be a good change
[13:47:18] <rayh> I'm all for flexible.
[13:47:18] <cradek> (I think I'm on that side of the fence)
[13:47:45] <alex_joni> hi guys
[13:47:48] <jepler> hi alex
[13:47:50] <SWPadnos> hi Alex
[13:47:50] <cradek> hi
[13:48:00] <rayh> The mega machines with tool hives only use a single tool file.
[13:48:03] <alex_joni> work boring for you too?
[13:48:13] <SWPadnos> hahahahaha
[13:48:18] <SWPadnos> err - yeah, maybe
[13:48:24] <alex_joni> rayh: the ones I've seen had a robot to handle the tool hives
[13:48:36] <alex_joni> SWPadnos: not you, people doing actual work
[13:48:37] <rayh> Exactly
[13:48:39] <SWPadnos> oh, ok then
[13:48:58] <alex_joni> rayh: seen one with 4 hives & 4 robots on one DNC
[13:49:12] <alex_joni> they were building machines for rolling steel
[13:49:14] <rayh> Most of the shops I know have a tool file with the same name as the gcode file.
[13:49:28] <rayh> Wah! That would be something to watch.
[13:49:38] <alex_joni> rayh: definately
[13:50:01] <rayh> Mazak in Kentucky runs 24/7 with only a single shift of humans.
[13:50:01] <alex_joni> I was amazed at how they test the software & panels & all without having the actual hardware
[13:50:21] <alex_joni> they set up simulations of all devices (motors, switches, etc), and hook those up to the real panels
[13:50:26] <skunkworks_> the rest are monkeys?
[13:50:33] <SWPadnos> shhhhh
[13:50:39] <alex_joni> the final machine gets only mounted at the final customer
[13:50:45] <SWPadnos> don't tell anyone - the monkey union gets very annoyed
[13:50:48] <alex_joni> it's about 5-600m long
[13:51:10] <rayh> You know some of the original NIST stuff allowed for very similar testing.
[13:51:30] <SWPadnos> ok, a bit bigger than a large printing press
[13:51:42] <alex_joni> SWPadnos: and waaaay heavier
[13:51:45] <SWPadnos> heh
[13:52:00] <alex_joni> one roll of finished sheet is about 10-20t
[13:52:22] <SWPadnos> that's only about 2x the size of a paper roll for a large press :)
[13:52:36] <alex_joni> then I estimated it wrong :P
[13:52:42] <SWPadnos> 2x the weight, probably 1/4 the size ;)
[13:52:42] <alex_joni> it's human size in diameter
[13:52:53] <SWPadnos> how wide?
[13:53:02] <alex_joni> 1.5m I think
[13:53:22] <SWPadnos> ok, then you may be right. paper rolls can be ~20 feet wide
[13:53:32] <rayh> The paper mill I worked with built a 40' wide roll.
[13:54:28] <SWPadnos> what's funny is that I only know about the printing industry because a photographer I used to work with shot the catalog stuff for Heidelberg-Harris
[13:54:28] <rayh> 3000 feet a minute was max speed.
[13:54:52] <SWPadnos> it's very bad to shoot 300 foot long printing presses with your flash on - the web break sensors don't like it :)
[13:55:14] <alex_joni> haha
[13:55:16] <alex_joni> ouch
[13:55:21] <SWPadnos> s/flash/bank of high power strobes placed all around/ :)
[13:56:05] <SWPadnos> as one person said, "magazine printing is like painting on toilet paper with a squirt gun at 130 miles an hour"
[13:57:04] <skunkworks_> That seems like a quote I should remember
[13:57:17] <SWPadnos> heh. it's worked for me for about 10 years :)
[13:58:12] <alex_joni> lol
[13:59:25] <skunkworks_> I have sand http://www.electronicsam.com/images/house/garagesand.JPG
[13:59:34] <SWPadnos> I have coffee
[13:59:36] <SWPadnos> (no link)
[13:59:48] <skunkworks_> I am starting to not like black walnut trees.
[13:59:52] <SWPadnos> heh
[14:00:07] <SWPadnos> nice wood from those (if you're allowed to chop them down)
[14:00:40] <skunkworks_> yeh I actually got money for the one that used to be in the middle of where the garage is going to be.
[14:00:56] <skunkworks_> suprisingly - they don't normally like then from in town
[14:01:05] <skunkworks_> but it was bit.
[14:01:07] <skunkworks_> big
[14:04:38] <rayh> Nice pic, skunk.
[14:04:46] <skunkworks_> thanks
[14:05:11] <skunkworks_> this is the front of the house http://www.electronicsam.com/images/house/newhehhouse.JPG
[14:05:38] <rayh> Hey it took 10 minutes to get the last one!
[14:05:45] <skunkworks_> ouch - sorry
[14:05:50] <rayh> np
[14:05:57] <skunkworks_> it is only 640X480 - come on now..
[14:06:11] <jepler> skunkworks_: the first time I looked at that URL I thought it said "new hen house"
[14:06:19] <SWPadnos> woohoo! I finally have analog boards to test!
[14:06:23] <skunkworks_> heh
[14:06:24] <jepler> I thought, "I didn't know sam raised livestock"
[14:07:06] <skunkworks_> new to me I guess. It was built sometime in the early 1900.. We are not sure yet.
[14:07:25] <skunkworks_> SWPadnos: that was quick'
[14:07:36] <SWPadnos> err - yeah :/
[14:07:42] <skunkworks_> or.. not?
[14:07:48] <SWPadnos> NOT!
[14:08:10] <skunkworks_> seems like you had just drawn the circuit up.. or is this a different thing.
[14:08:21] <SWPadnos> it's been closer to 2-week turn than the 3-day turn I asked for
[14:08:22] <rayh> Our's was rebuilt after a fire. 1939. They used newspapers to stuff the space between framing and door frames.
[14:08:22] <skunkworks_> or have a lost track of some time..
[14:08:39] <SWPadnos> lost ttrack of time, I'm afraid
[14:09:01] <alex_joni> gotta go.. out of battery
[14:09:05] <skunkworks_> the house needs a little insulation yet.. and new fangled 'double pane' windows
[14:09:08] <alex_joni> see you tomorrow guys
[14:09:11] <skunkworks_> bye alex_joni
[14:09:18] <rayh> see you alex.
[14:09:21] <SWPadnos> see you Alex
[14:54:04] <cradek> I sure wish emc would spit out nothing but the hal error in cases like ljm's
[14:54:18] <cradek> those are buried in so much crap that they're invisible
[15:04:39] <SWPadnos> indeed
[15:08:11] <cradek> I guess the real question is what to do with the other messages
[15:08:21] <cradek> I wonder if they're always noise, or sometimes useful
[15:10:26] <SWPadnos> heh - ideally, the "useful" mesasge would be printed and the others suppressed :)
[15:10:41] <SWPadnos> I wonder about using color (like dircolors)
[15:11:07] <SWPadnos> or bold - that should even be available on a monochrome terminal
[15:18:54] <cradek> hm I'm still waiting for you to say "just kidding"
[15:20:44] <SWPadnos> oh. just kidding
[15:21:37] <rayh> Bold is good!
[15:22:05] <SWPadnos> *bold* is good :)
[15:44:09] <jepler> all that is needed is for someone to identify the useless messages and remove the lines that print them
[15:45:54] <SWPadnos> I'm not sure the useless messages are always useless though
[15:46:07] <SWPadnos> I'd say that most of the ones from the run script aren't needed any more
[18:33:16] <Guest539> Guest539 is now known as skunkworks_
[18:50:49] <jepler> cradek: first thing I notice is that there are at least 5 static msg_levels
[18:52:28] <cradek> I got it to act more like I expect... but yeah, there's a bunch of stuff I don't quite get
[18:52:41] <cradek> I think some of my tree wasn't building, it shaped up after I cleaned
[18:54:51] <cradek> err, no. I still don't understand.
[18:55:25] <jepler> are you on sim or rtai?
[18:55:34] <cradek> rtai
[18:55:51] <cradek> I figured I'd try to tackle it first
[18:56:15] <cradek> extra messages from sim aren't as much of a prblem.
[18:56:15] <jepler> so you changed rtai_rtapi.c and rtai_ulapi.c
[18:56:20] <cradek> yes
[18:56:30] <jepler> -static int msg_level = RTAPI_MSG_INFO;/* message printing level */
[18:56:30] <jepler> +static int msg_level = RTAPI_MSG_WARN;/* message printing level */
[18:56:32] <jepler> something like this
[18:56:37] <cradek> + _ERR
[18:56:41] <cradek> yeah
[19:00:47] <cradek> oh fascinating, rtapi_proc.h has a bunch of code in it
[19:00:50] <cradek> it gets included
[19:01:00] <cradek> some of it messes with msg_level
[19:02:24] <jepler> proc_write_debug() ?
[19:02:33] <cradek> yeah
[19:02:56] <cradek> [14194.584326] new msg_level from proc: 3
[19:03:02] <cradek> ok then
[19:03:17] <jepler> scripts/realtime: if [ "$DEBUG" != "" ] && [ -w /proc/rtapi/debug ] ; then
[19:03:20] <jepler> scripts/realtime: echo "$DEBUG" > /proc/rtapi/debug
[19:03:37] <jepler>
[19:03:37] <jepler> # Sets the default DEBUG level
[19:03:37] <jepler> DEBUG='3'
[19:04:32] <cradek> * cradek grumbles
[19:11:15] <cradek> yuck, I can't change the HAL:123:ERROR: except by changing every damn line
[19:11:28] <cradek> maybe that could have been in a function or something.
[19:13:11] <jepler> yeah unfortunately
[19:13:18] <jepler> :%s ?
[19:14:00] <cradek> "HAL:%d: ERROR: pin '%s' not found\n", linenumber, first_pin_name);
[19:14:08] <cradek> there are lots of variations
[19:14:12] <jepler> f course
[19:15:11] <cradek> I think I'd like something like ERROR IN HAL FILE \"%s\" ON LINE %d:
[19:15:27] <cradek> *nobody* recognizes HAL:123: as a line number, and you still don't know which file to check if you do recognize that
[19:17:54] <jepler> I think one wrinkle is that a filename isn't available there
[19:18:03] <jepler> I don't remember exactly *why* that was the case..
[19:18:58] <cradek> strange I get the error on stdout, I thought it went to dmesg
[19:19:19] <cradek> Starting EMC2...
[19:19:19] <cradek> HAL: ERROR: pin 'hypot.0.in9' not found
[19:19:19] <cradek> HAL:65: link failed
[19:19:19] <cradek> HAL config file /home/chris/emc2.trunk/configs/sim/core_sim.hal failed.
[19:19:19] <cradek> Shutting down and cleaning up EMC2...
[19:19:21] <jepler> userspace stuff goes to stdout or stderr, kernel stuff goes to dmesg
[19:19:36] <cradek> this is actually pretty good
[19:22:42] <cradek> ok this is better now...
[19:36:04] <skunkworks_> join ubuntu
[20:12:42] <jepler> HAL: ERROR: function 'ddt.9' not found
[20:12:42] <jepler> core_sim.hal:20: addf failed
[20:13:14] <cradek> oh did you do something better after I checked in my crap?
[20:13:27] <cradek> that's great if so.
[20:13:49] <jepler> well .. during
[20:20:46] <jepler> hopefully I didn't pork anything up too bad..
[20:20:48] <skunkworks_> core_sim:9: addf failed <- 9 is the line number right?
[20:20:56] <jepler> skunkworks_: yes
[20:21:03] <skunkworks_> no way to say that?
[20:21:05] <skunkworks_> easy
[20:21:06] <skunkworks_> ?
[20:21:16] <jepler> welllllll
[20:21:24] <skunkworks_> heh
[20:21:25] <jepler> filename:number:message is a standard unix way of reporting errors
[20:21:44] <cradek> yes all programmers will understand that format
[20:21:55] <jepler> and programmers are the target audience of emc after all
[20:22:28] <skunkworks_> :) I guess normal people will figure it out after a bit..
[22:30:08] <jmkasunich__> jmkasunich__ is now known as jmkasunich