#emc | Logs for 2005-11-15

[00:00:12] <SWPadnos> OK - I can resize horizontally as much as I want, but vertical resize of the section Display kills it
[00:01:46] <SWPadnos> OK - it's only if you resize such that the window is taller than the rung display needs that it goes south
[00:02:36] <SWPadnos> you can increase size a little, then reduce size again, but if the scrollbar goes away, it's dead
[00:03:55] <petev> well, I guess I'm not surprised as the GUI code is a mess
[00:04:18] <petev> I cleaned it up a lot and fixed a bunch of stuff, but I'm not really a gtk or gui guy
[00:04:28] <SWPadnos> ok - at least we now know the problem case
[00:04:31] <petev> I spent most of the time making sure the RT part worked right
[00:04:48] <petev> the default windo shows what CL calls a rung
[00:04:59] <petev> I think it's 8x8 grid
[00:06:07] <petev> when you go into edit mode, you should see the grid
[00:06:13] <petev> are you able to get that far?
[00:06:24] <SWPadnos> I ca, as long as I don't expand the window too far
[00:06:26] <SWPadnos> can
[00:07:02] <petev> then just click a ladder symbol from the edit window then click in hte grid
[00:07:57] <SWPadnos> the grid is 10x6 (just fyi)
[00:08:34] <petev> ok, when you place symbols, you should see a properties box
[00:08:51] <SWPadnos> yep - fill in properties, then click :)
[00:08:54] <petev> that's where you can change the contacts/coils to be external pins
[00:09:17] <petev> the external I/Os are I0, Q0, etc.
[00:09:43] <petev> you should see some of them in the var window
[00:09:57] <SWPadnos> yep - I see a bunch of them
[00:10:24] <petev> to run the logic, just press the run button and it changes the state of the RT component
[00:10:47] <petev> then you can use halcmd or something to change the signals and see what happens
[00:10:59] <SWPadnos> ok. I see you can offset the bit columns in the vars window as well
[00:11:21] <petev> the bits and words are internal
[00:11:27] <petev> they don't go to the HAL
[00:11:50] <SWPadnos> OK - I have Bnn, Inn, and Qnn columns
[00:11:56] <petev> these are what the modbus or NML connector would use or for internal vars
[00:12:14] <petev> you should also have Wn at the bottom
[00:12:25] <SWPadnos> B is a variable, I should be the inputs from HAL, and Q the outputs to HAL - right?
[00:12:28] <SWPadnos> yes
[00:12:49] <petev> no, In is bit input from HAL, Qn is bit output to HAL
[00:12:59] <petev> Wn and Bn are internal word and bit vars
[00:13:06] <SWPadnos> ok
[00:16:50] <petev> SWP: have you tried axis?
[00:17:47] <alex_joni> petev: AXIS
[00:17:51] <alex_joni> * alex_joni has
[00:18:10] <petev> when I try to load gcode, it just hangs
[00:18:19] <petev> can't seem to figure out what is going on
[00:18:39] <alex_joni> ask cradek or jepler .. not sure
[00:18:42] <alex_joni> what version?
[00:18:55] <petev> I think it was 1.1rc?
[00:19:01] <petev> just built it this morning
[00:19:08] <petev> not the latest from CVS
[00:19:59] <alex_joni> get the latest
[00:20:11] <petev> ok, I'll try that
[00:20:25] <petev> do you know what happened to the conversational stuff from EMC1?
[00:20:33] <tomp> tutorial for CL http://users.teledisnet.be/web/rlo05343/umanual/umanual_for_classicladder.html
[00:20:41] <petev> I think it would be nice to integrate something like that to axis
[00:21:05] <alex_joni> conversational ?
[00:21:26] <petev> yes, there was a conversational GUI that could do pocketing, hole drilling, etc.
[00:21:30] <SWPadnos> re: AXIS, not really - I have a ccrappy machine for EMC, and I'm looking this on Cygwin right now ;)
[00:21:36] <petev> then it would generate gcode
[00:21:45] <tomp> cp1 is still available , Ray did this I think ( conversational : dialogs ask you Q's, & write Gcode )
[00:21:57] <petev> yes, that's it
[00:22:07] <petev> would be nice to integrate it into axis
[00:22:11] <alex_joni> cool.. never seen that
[00:23:20] <tomp> easy to extend/change. TclTk, I changed it to emul8 Heidenhain front end on some EDM's
[00:25:45] <alex_joni> tomp: could you send some pics?
[00:26:55] <SWPadnos> lerman was also talking about a conversational interface, and I have an interest in developing that as well
[00:27:16] <tomp> I can send the code, it's really stupid pet tricks compare dto your stuff
[00:27:48] <alex_joni> * alex_joni would like to see those stupid interfaces
[00:27:54] <alex_joni> where you select some basic figures
[00:27:57] <alex_joni> and enter sizes
[00:28:04] <tomp> going into the archives now...
[00:28:05] <alex_joni> and the machine cuts them
[00:28:14] <Imperator_> SWPadnos: look into the Haidenhain manuals, they are known for there implementation
[00:28:59] <tomp> yep, it's just macros... like in asm, you say tomato, & I say ... 100 lines of gcode
[00:31:45] <SWPadnos> I can't read manuals - that would be heresy for a programmer :)
[00:32:23] <tomp> it'll be a while, i cant find the GTKtalog data base of my archives... which computer is that on?
[00:36:01] <SWPadnos> time for me to go do stuff in the real world. catch you later
[00:36:10] <SWPadnos> SWPadnos is now known as SWP_Away
[00:37:02] <Imperator_> time to sleep
[00:37:10] <Imperator_> cu
[00:44:07] <jmkasunich> * jmkasunich is back
[00:45:30] <Jymmm> * Jymmm hands jmkasunich a beer
[00:45:39] <jmkasunich> * jmkasunich needs one (or two)
[00:45:40] <Jymmm> jmkasunich helps digestion =)
[00:45:45] <jmkasunich> I'm very frazzled today
[00:45:58] <alex_joni> jmkasunich: almost working now ;)
[00:46:03] <alex_joni> * alex_joni figured cl stuff out
[00:46:05] <jmkasunich> I hate traveling, lately it seems I either traveling, getting ready to travel, or returning from travel
[00:46:09] <alex_joni> thanks to petev
[00:46:28] <alex_joni> one question though...
[00:46:39] <Jymmm> jmkasunich: Can't you loose your passport or get n the no-fly list or something?
[00:46:45] <jmkasunich> why doesn't sudo scripts/emc.run configs/emc.ini work?
[00:46:47] <alex_joni> to have that autosustain in CL, I need to connect output from Q0 to input I0 ?
[00:46:58] <alex_joni> jmkasunich: sudo scripts/emc.run emc.ini should work
[00:47:02] <jmkasunich> you mean the latch?
[00:47:07] <alex_joni> not sure about configs/emc.ini
[00:47:10] <alex_joni> yes the latch
[00:47:53] <jmkasunich> ---| I1 (aka A) |-------| I2 (aka B) |-------| Q1 (aka C) |---------( Q1 )-------
[00:48:04] <jmkasunich> you can use a Q as a contact
[00:48:39] <jmkasunich> it works without config/ in front, but not with
[00:48:52] <alex_joni> yup.. emc.run needs messing with it
[00:48:56] <alex_joni> but I want to remove it
[00:49:01] <petev> I just had that problem today
[00:49:06] <alex_joni> and replace it with the current install.run :/
[00:49:08] <petev> either full path or nothing
[00:49:15] <alex_joni> as that gets modified by configure..
[00:49:24] <alex_joni> petev: sorry about that.. my mistake
[00:49:39] <Jymmm> anybody every use "raster" path clearing (as opposed to conventional or climbing)?
[00:49:41] <petev> no problem
[00:49:43] <jmkasunich> realtive paths don't work, sounds like it is running from a diffrent directory than the one it was invoked in
[00:49:55] <alex_joni> it runs from the configs/ dir
[00:50:11] <alex_joni> like that it's easier to find the files for make install systems
[00:50:13] <jmkasunich> why's it do that?
[00:50:35] <alex_joni> simplyfies the -ini files (no more configs/emc.var)
[00:50:39] <alex_joni> only emc.var
[00:50:51] <alex_joni> on installed systems configs/emc.var won't mean anything
[00:50:58] <jmkasunich> true
[00:51:13] <alex_joni> also doing cd emc2/src && sudo ../scripts/emc.run, didn't work till now
[00:51:21] <alex_joni> because of the same reason
[00:51:35] <jmkasunich> yeah
[00:51:56] <jmkasunich> ok, I'll forgive you ;-)
[00:52:09] <jmkasunich> what can I do to help out? still need a rung?
[00:53:04] <alex_joni> nah.. rung is working now
[00:53:09] <alex_joni> give me a few minutes to commit
[00:53:14] <alex_joni> after that you can test ;)
[00:53:41] <jmkasunich> ok
[00:54:33] <alex_joni> btw, had to change HAL_LENGTH something
[00:54:38] <alex_joni> pin name was too long :)
[00:57:46] <alex_joni> ok.. working as promised now
[00:57:57] <alex_joni> iocontrol & CL & you name it ;)
[00:58:11] <alex_joni> only EMC_AUX_ESTOP_RESET doesn't
[00:58:34] <jmkasunich> because nobody is sending the NML message?
[00:59:07] <alex_joni> because I added it to task
[00:59:13] <alex_joni> but that broke somehting
[00:59:30] <alex_joni> and I didn't have the nerve to debug it.. it's still a stupid thing
[00:59:39] <alex_joni> I had a function sending both messages
[00:59:58] <alex_joni> first EMC_ESTOP_OFF, then EMC_ESTOP_RESET
[01:00:02] <alex_joni> so no need for that
[01:00:18] <alex_joni> if / when we rework task the EMC_ESTOP_RESET needs to come from GUI
[01:01:13] <alex_joni> ok, diffing now, cleaning up and commiting soon
[01:01:23] <alex_joni> 5 mins.. I guess
[01:01:28] <jmkasunich> ok
[01:01:41] <alex_joni> step_cl works very nicely :D
[01:01:49] <alex_joni> just like ray would want it :P
[01:01:58] <alex_joni> * alex_joni didn't touch mazak though
[01:04:17] <CIA-5> 03alex_joni * 10emc2/src/hal/hal.h: increased the max length for HAL_NAME_LEN , seems 31 was a bit short
[01:06:30] <CIA-5> 03alex_joni * 10emc2/src/emc/ (iotask/ioControl.cc task/emctask.cc task/iotaskintf.cc): some fixes to the enable/estop HAL pins and logic, should work now. needs testing
[01:07:38] <CIA-5> 03alex_joni * 10emc2/configs/ (5 files): further fixing to work with the new iocontrol HAL enable pins
[01:07:57] <alex_joni> ok.. that should be it
[01:08:00] <alex_joni> can you test?
[01:08:11] <jmkasunich> ok
[01:08:24] <jmkasunich> cvs up now
[01:08:27] <alex_joni> you need to recompile the hal part
[01:08:33] <alex_joni> probably safest to recompile all
[01:09:01] <jmkasunich> that's what I'm doing
[01:09:08] <alex_joni> great ;)
[01:09:30] <petev> jmk: what do you think of adding an encoder and decoder logic components?
[01:09:39] <petev> would be nice for run level
[01:09:53] <alex_joni> petev: how about an FPGA? *grin*
[01:10:04] <petev> that would be slick
[01:10:16] <jmkasunich> encode and decode what?
[01:10:29] <jmkasunich> you mean int to bits or vice/versa?
[01:10:34] <petev> level pre-conditions and level-enables
[01:10:42] <petev> yes, for HAL bits
[01:10:48] <petev> like the stuff in blocks
[01:11:18] <petev> encode the pre-conditions, decode the enables
[01:11:28] <petev> intermediate signal is the run level
[01:12:12] <petev> of course getting any of this connected to the GUI is the real word
[01:12:19] <jmkasunich> yep
[01:12:25] <petev> word/work
[01:13:02] <jmkasunich> we are close to having highly configurable machine logic, but the GUI and more importantly the messaging between GUI and machine logic isn't very configurable at all
[01:13:09] <petev> is the idea for the giu to just create a bunch of widgets that the integrator can use?
[01:13:22] <alex_joni> jmkasunich: does it run?
[01:13:30] <jmkasunich> be patient alex
[01:14:03] <alex_joni> * alex_joni is patient..
[01:14:19] <alex_joni> yet.. I'm a sleepy patient
[01:14:27] <alex_joni> *g*
[01:15:28] <jmkasunich> F1 works right
[01:15:33] <jmkasunich> but clicking doesn't
[01:16:01] <alex_joni> what did you click?
[01:16:08] <jmkasunich> correction, F1 and clicking work right, but didn't seem to the very first time
[01:16:09] <alex_joni> Estop Off?
[01:16:13] <alex_joni> :P
[01:16:14] <jmkasunich> let me restart and try again
[01:16:16] <alex_joni> ok then
[01:16:40] <alex_joni> you're running emc.ini ? or step_cl.ini ?
[01:16:52] <jmkasunich> stepcl
[01:17:02] <alex_joni> ok.. like the rung?
[01:17:08] <jmkasunich> I must admit it is cool to see the ladders doing their thing
[01:17:13] <alex_joni> yeah ;)
[01:17:22] <alex_joni> clutters the desktop though
[01:17:24] <jmkasunich> yes, but why is there an I3 contact hangin there doing nothing
[01:17:32] <alex_joni> try jogging X-
[01:17:38] <alex_joni> that's ray's CL test :D
[01:18:10] <alex_joni> petev: one question
[01:18:14] <petev> sure
[01:18:16] <jmkasunich> hmm, something;s making Q0 drop out
[01:18:17] <alex_joni> as you did the cl stuff
[01:18:30] <alex_joni> jmkasunich: maybe somehting on your parport?
[01:18:44] <alex_joni> I1 is connected to parport
[01:18:56] <alex_joni> petev: would it be possible to display only the Section Display?
[01:19:19] <petev> you mean have a special GUI mode?
[01:19:21] <alex_joni> without the section manager, editor & vars?
[01:19:38] <jmkasunich> "view only mode"
[01:19:43] <alex_joni> petev: a minimal GUI mode that can be run all the time, and an extended for editing
[01:19:45] <petev> yeah, that probably wouldn't be too hard
[01:19:56] <alex_joni> coo.. that would be usefull I reckon
[01:20:05] <petev> I'm not really a GUI/GTK guy, but that's pretty easy
[01:20:17] <petev> would take off some of the buttons at the bottom of the section display as well
[01:21:52] <fenn> * fenn wants a "blinkenlights" mode
[01:22:24] <alex_joni> fenn: right
[01:22:35] <alex_joni> run it through lib-ascii
[01:22:44] <alex_joni> or better build an text mode X server :D
[01:23:06] <fenn> huh? blinkenlights is like a lamp array
[01:23:20] <alex_joni> thought you refer to smthg else
[01:23:30] <fenn> an ascii ladder display would be cool too
[01:23:54] <alex_joni> try: telnet towel.blinkenlights.nl
[01:24:22] <jmkasunich> ok alex, looks like the unexpected clearing of Q0 is noise on my parport
[01:25:08] <jmkasunich> much better once I unpluged the cable from the pico USC card ;-)
[01:25:12] <alex_joni> noisy estop ?
[01:25:12] <alex_joni> :D
[01:26:05] <tomp> remember scsi terminators? ( scsi is just fancy parport )
[01:26:16] <jmkasunich> so what is I3 being driven from anyway
[01:26:28] <alex_joni> X-dir I think
[01:26:42] <CIA-5> 03alex_joni * 10emc2/scripts/emc.run: changed emc.run so that it accepts foo.ini configs/foo.ini, basicly it strips the path from the inifile, and converts it to an absolute path
[01:27:00] <jmkasunich> yep, Xdir
[01:27:01] <tomp> yep. I3 on;y viz when u jog x MINUS
[01:27:12] <alex_joni> jmkasunich: can you look at the other .hal's ?
[01:27:19] <jmkasunich> gonna redo the ladder to get rid of that
[01:27:30] <jmkasunich> which ones in particular
[01:27:42] <alex_joni> n/m
[01:27:56] <alex_joni> easier for me to do.. I know which ones I touched already
[01:29:51] <jmkasunich> thats strange: cvs [update aborted]: end of file from server (consult above messages if any)
[01:30:01] <alex_joni> yeah.. that's frequent recently
[01:30:03] <jmkasunich> ssh_exchange_identification: Connection closed by remote host
[01:30:07] <alex_joni> try again a few times
[01:30:13] <alex_joni> it works eventually
[01:30:31] <jmkasunich> tried 4 times, failed 3, then worked
[01:30:37] <jmkasunich> first time I've ever seen that
[01:30:54] <alex_joni> I've been seeing it for a week or so
[01:31:06] <CIA-5> 03alex_joni * 10emc2/configs/xylotex_pinout.hal: changed the pin name for enable/estop, also cleaned up a bit using linkpp
[01:32:05] <tomp> fenn, use another parport, and an led bar graph for array, and CL to make ur custom blinkenlights
[01:32:09] <fenn> alex_joni: this ascii-wars is insane.. they did the whole movie word for word
[01:32:12] <CIA-5> 03alex_joni * 10emc2/configs/stg_io.hal: changed the pin name for enable/estop, also cleaned up a bit using linkpp
[01:32:28] <alex_joni> fenn: nice, isn't it :D
[01:32:43] <alex_joni> I think they used libascii
[01:32:52] <alex_joni> there's a newer version that does even colours
[01:33:02] <jmkasunich> petev still around?
[01:33:20] <jmkasunich> found another annoying CL bug (I suppose I should fix it myself)
[01:33:30] <jmkasunich> lame file save
[01:33:32] <alex_joni> IPv6 version is in colour :D
[01:33:41] <alex_joni> jmkasunich: it did work for me..
[01:33:43] <petev> yes
[01:33:45] <alex_joni> but only save as
[01:33:51] <jmkasunich> saves one file per rung into a temp dir, then concatenates them into one file
[01:33:54] <tomp> i never could save files, i just hacked existing ones
[01:34:02] <jmkasunich> problem is the temp dir is owned by root
[01:34:20] <alex_joni> yeah, and cl should run as sudo for that to work ;)
[01:34:27] <jmkasunich> cl not running as root can't create the temp files, but prints no error message, just blindly continues
[01:34:45] <jmkasunich> that whole save method is just plain fscked
[01:34:48] <jmkasunich> no errorhandling at all
[01:35:05] <petev> what do you suggest? fix the file mess or a hack?
[01:35:08] <alex_joni> fenn: I take that back, it's done by hand :/
[01:35:19] <jmkasunich> at rolands place I chmoded the temp dir ;-)
[01:35:21] <alex_joni> fix .. but not tonight :)
[01:35:41] <alex_joni> jmkasunich: just remembered something..
[01:35:44] <jmkasunich> but every new user will have the same problem
[01:35:50] <alex_joni> actually 2 things (before I go to bed)
[01:35:55] <jmkasunich> ok
[01:36:12] <alex_joni> 1. do you remember when I hunted down that flag in the motion controller?
[01:36:21] <alex_joni> related to mode switching locking up?
[01:36:32] <alex_joni> a few months ago?
[01:36:34] <jmkasunich> just barely
[01:36:42] <alex_joni> I wondered what happened of that...
[01:36:43] <tomp> pete, where were the individual file skept before getting cat'd?
[01:36:51] <jmkasunich> if there is a quiz, I will fail
[01:37:03] <alex_joni> ok.. so probably the same..
[01:37:09] <petev> tomp: this is baggage from the old CL file format
[01:37:19] <petev> used to be a whole dir of individual files
[01:37:26] <alex_joni> 2. I issued a bug-report a while back about HOMING if there is a HOME value in the axis sections
[01:37:30] <petev> all the ladder is sotred in SHMEM
[01:37:41] <alex_joni> back then I think some accel/decel was set wrong..
[01:37:42] <jmkasunich> /tmp/classicladder_tmp is the dir
[01:37:43] <petev> so the RT component can see it
[01:37:52] <alex_joni> but the strangest thing happened
[01:37:54] <tomp> yeh, i used them to keep my changes recorded ( copied to my own dir ), forgot where..
[01:38:25] <tomp> thanks jmk
[01:38:58] <petev> tomp: the tmp dir is only used when loading or saving
[01:39:08] <petev> it's isolated to the file handling stuff
[01:39:18] <petev> the internal data structures are in SHMEM
[01:43:58] <alex_joni> ok.. going to bed now
[01:44:06] <alex_joni> it's past 3am :/
[01:44:06] <jmkasunich> night
[01:44:13] <alex_joni> jmkasunich: seen my /msg?
[01:44:22] <jmkasunich> no
[01:44:34] <jmkasunich> when was it?
[01:44:43] <alex_joni> just now
[01:44:51] <jmkasunich> nothing
[01:44:55] <jmkasunich> try again
[01:44:59] <alex_joni> [02:59] <alex_joni> I'll write off channel
[01:44:59] <alex_joni> [02:59] <alex_joni> not that cluttered
[01:44:59] <alex_joni> [02:59] <alex_joni> try this:
[01:44:59] <alex_joni> [02:59] <alex_joni> edit the ini file, and add a HOME position to the axes
[01:44:59] <alex_joni> [02:59] <alex_joni> then home them repeatedly
[01:44:59] <alex_joni> [03:00] <alex_joni> it happened to me, that a axis got a following error, but the cmd-set kept increasing
[01:45:01] <alex_joni> [03:00] <alex_joni> even if emc was in estop_reset mode
[01:45:03] <alex_joni> [03:03] <alex_joni> I get an joint 1 following error
[01:45:05] <alex_joni> [03:03] <alex_joni> taskintf.cc 786: Error on axis 1, command number 149
[01:45:07] <alex_joni> [03:03] <alex_joni> then emc runs away
[01:45:40] <jmkasunich> I'll just pretend I didn't see that
[01:45:49] <alex_joni> ok :)
[01:45:57] <jmkasunich> I've been trying to save the edited rungs so I can commit them
[01:46:09] <jmkasunich> keep getting the original rungs back, the changes won't stick
[01:46:16] <alex_joni> want me to change?
[01:46:31] <jmkasunich> no, I want to figure out what the fsck is going on and fix it
[01:46:35] <alex_joni> right ;)
[01:46:40] <jmkasunich> you sleep
[01:46:46] <alex_joni> I just saved from the CL that pops up
[01:46:55] <jmkasunich> exactly
[01:46:55] <alex_joni> it's run from halcmd, so it's sudo
[01:47:02] <alex_joni> at least over here
[01:47:23] <alex_joni> but that run-away is a bit worrysome ;)
[01:47:31] <jmkasunich> start emc, CL pops up, I edit the rung, click OK, save, shutdown, and restart, and it's back
[01:47:53] <jmkasunich> put it in an email and I'll look at it if I have time after I settle this CL mess
[01:48:10] <alex_joni> will do.. but not tonight
[01:48:20] <alex_joni> have fun guys
[01:48:20] <alex_joni> * alex_joni crashes
[01:48:21] <jmkasunich> I have to catch a plane at 7am, that means I have to get up before 5, so no late night for me
[01:48:40] <alex_joni> ok.. safe trip
[01:48:45] <jmkasunich> thanks
[01:48:50] <alex_joni> night all
[01:52:20] <CIA-5> 03jmkasunich * 10emc2/ (3 files in 3 dirs): removed an unneeded contact from the ladder program
[01:54:25] <Jacky^> Jacky^ is now known as Jacky^afk
[01:57:40] <CIA-5> 03jmkasunich * 10emc2/src/ (Makefile.inc.in hal/drivers/Makefile): oops, that last commit was only supposed to be in the configs dir, committed some Makefile changes that aren't finished yet
[02:35:23] <fenn> * fenn wonders about typecasting in hal
[02:35:45] <jmkasunich> you mean connecting bit signals to int pins or something?
[02:35:56] <fenn> yes but more than just that
[02:36:12] <fenn> like i want to take a u32 and cut it into u8's, and vice-versa
[02:36:22] <jmkasunich> need a splitter component
[02:36:33] <fenn> is that practical to do every servo cycle?
[02:36:49] <fenn> as far as computation efficiency
[02:36:51] <jmkasunich> sure, its a lot cheaper than some other things we do every cycle
[02:37:14] <fenn> guess i'll write a splitter block
[02:37:26] <jmkasunich> but to be honest I've seen very few places where that would be appropriate
[02:37:31] <jmkasunich> what are you trying to do?
[02:37:45] <fenn> represent the epp protocol in hal
[02:37:56] <jmkasunich> you shouldn't
[02:38:02] <jmkasunich> * jmkasunich is being blunt
[02:38:18] <fenn> i'm not going to use the hal_parport driver
[02:38:39] <jmkasunich> I understand that, and you certainly should not use the hal pport driver if you have an EPP device
[02:38:52] <jmkasunich> what is your device?
[02:39:15] <fenn> well, it doesn't exist yet, but..
[02:39:57] <fenn> basically any microcontroller that wants to talk epp to hal
[02:40:27] <jmkasunich> that is a lousy fit to HAL
[02:40:34] <fenn> specifically two micro's per axis talking to each other, one watching encoder and telling the "master" and the other talking to the computer
[02:41:35] <fenn> that way each micro only has one interrupt to worry about
[02:41:45] <jmkasunich> HAL deals with signals - things that have values and are sampled at some time interval
[02:41:58] <jmkasunich> the encoder counts qualify
[02:42:29] <jmkasunich> but the driver should know that "read 4 bytes, assemble into a word, and call it "encoder-count"
[02:42:42] <fenn> ok, but say i have some digital IO piggybacking on the protocol
[02:42:47] <CIA-5> 03petev * 10emc2/src/hal/classicladder/ (classicladder.c classicladder_gtk.h classicladder_gtk.c): Added "--readonly" command line option.
[02:43:05] <jmkasunich> the driver should be aware of the protocol, and split/assemble the data as needed
[02:43:35] <jmkasunich> you are trying to be able to change the protocol without changing the driver?
[02:43:44] <fenn> more or less
[02:44:11] <jmkasunich> given that changing the protocol means changing the micro code, changing the PC driver code to match shouldn't be hard
[02:44:15] <CIA-5> 03petev * 10emc2/configs/ (motenc_io.hal m5i20_io.hal): Fixed pin names to match changes in iocontroller.
[02:44:43] <jmkasunich> and would avoid filling HAL up with lots of confusing blocks
[02:45:31] <jmkasunich> say you have 3 encoders and 16 digital ins
[02:46:01] <jmkasunich> assuming 32 bit encoder counts, the protocol would need 3*4+2 bytes, 14 total
[02:46:13] <jmkasunich> your port driver would have to export 14 hal_u8s
[02:46:36] <jmkasunich> then you'd need three u8 to u32 converters, and two u8 to bit converters
[02:47:08] <jmkasunich> that is 14 signals and 5 blocks that will confuse the living heck out of anybody looking at your hal file
[02:47:17] <jmkasunich> better to put the split and merge code in your driver
[02:47:36] <jmkasunich> and have the driver export 3 u32 and 16 bits
[02:50:53] <fenn> does it make any sense to update one axis more than once per servo update?
[02:51:24] <fenn> i mean relative to the motion planner
[02:51:36] <fenn> erf, interpolator i mean :)
[02:51:40] <jmkasunich> I don't think so
[02:52:32] <jmkasunich> the commands coming out of the motion controller won't change, so why send them to the hardware twice
[02:52:58] <fenn> does it always read the feedback at the start of the cycle?
[02:53:07] <fenn> or does it just read whenever it feels like it
[02:53:13] <jmkasunich> what is "it"
[02:53:17] <fenn> the motion interpolator
[02:53:30] <jmkasunich> yes, it expects to see new feedback
[02:53:54] <fenn> does it read halfway through?
[02:54:17] <fenn> i guess i'll forget about that line of though
[02:54:23] <jmkasunich> the motion controller is a HAL function in a thread, just like the code that reads inputs, and writes outputs
[02:54:36] <jmkasunich> first the read funct is called , then the motoon funct, then the write functs
[02:54:51] <SWP_Away> fenn, are you a yahoo groups subscriber?
[02:54:55] <SWP_Away> SWP_Away is now known as SWPadnos
[02:54:57] <jmkasunich> (assuming you have the functs loaded into the thread in the proper order, do bin/halcmd show thread to see)
[02:55:00] <fenn> SWP yeah i'm in a few
[02:55:10] <SWPadnos> OK - CAD_CAM_EDM_DRO?
[02:55:24] <fenn> yeah but i don't get messages delivered
[02:55:32] <jmkasunich> petev: you still here?
[02:55:40] <jmkasunich> I figured out why save doesn't work
[02:55:44] <SWPadnos> OK - look at the threads over the past few days titled "Axis Stall Problems"
[02:55:44] <petev> yes
[02:55:54] <SWPadnos> cool - I was going to ask you about that :)
[02:56:01] <petev> ok, still a few issues to finish with --readonly
[02:56:04] <SWPadnos> (you=jmk)
[02:56:11] <petev> what was save issue?
[02:56:21] <jmkasunich> when you load the program into shmem using the --nogui option, the name of the program disappears when the user part exits
[02:56:32] <jmkasunich> later you load the user part again, it has no idea what the name is
[02:56:48] <jmkasunich> "save" tried to save with an empty string for the name
[02:56:52] <petev> the file name you mean?
[02:56:57] <jmkasunich> yes
[02:57:15] <jmkasunich> I'm gonna hack save so that if the name string is empty, it works like saveas
[02:57:16] <petev> ok, so the problem is save should do a save as in that case
[02:57:22] <petev> agreed
[02:57:27] <jmkasunich> right now, it saves to ".clp"
[02:57:35] <jmkasunich> which is a hidden file ;-)
[02:58:26] <jmkasunich> in the long run it might be nice if the image in shmem contains a filename, but that could get ugly
[02:58:45] <jmkasunich> pathlength are in general unknown, makes it hard to store them
[02:59:07] <petev> yes, this is the same issue with the comments and what not
[02:59:14] <jmkasunich> in fact, CL has many places where you could get buffer overruns with pathalogically long filenames
[02:59:29] <jmkasunich> it uses a 300 byte buffer for full path/file names
[02:59:37] <petev> if you get config from SHMEM any comments from the original file would be gone
[03:00:03] <jmkasunich> rung titles seem to be preserved though
[03:00:36] <petev> if you look in classicladder.h, you can see what gets put into SHMEM
[03:00:51] <petev> it's the infosgene thing
[03:01:31] <petev> there really isn't any other global data structure in the program which is what is causing me problems now
[03:02:35] <petev> I don't want to just add more global vars (there's enough of that already), but various parts of the program need to know about --readonly for refresh, etc.
[03:02:38] <jmkasunich> does StrRung go in shmem?
[03:03:14] <jmkasunich> --readonly doesn't need to go in shmem, it is global to a single instance of the user space part
[03:03:16] <petev> yeah, it does and there is a comment field in it
[03:03:22] <jmkasunich> right
[03:03:53] <petev> agreed, and there is no real global data structure, other than the one I made for SHMEM
[03:04:10] <petev> the code is pretty much just global var here, there, or wherever needed
[03:04:27] <jmkasunich> OK, I was confused (was mixing my question about SHMEM with your comment about global)
[03:05:00] <jmkasunich> I bet CL barfs in spectacular fashion if you start two copies of the user space part and try editing rungs with both
[03:05:02] <petev> I wanted to give alex the viewer quickly, and it's mostly done except for this last issue
[03:05:11] <fenn> SWP i dont know why i never thought about this method: "If the current is too high, I turn the H-Bridge off and if the current is too low, I turn it on.
[03:05:48] <petev> never tried it, but it might not be that bad since it doesn't really use lists or anything
[03:06:07] <petev> there is a header in the SHMEM struct that the RT part fills in with the size of things
[03:06:21] <petev> so the user space part can't do too much damage
[03:06:29] <fenn> swp much easier than trying to do PID.. just gotta be careful it's not too fast for the mosfets
[03:07:33] <SWPadnos> it won't be - note the last message from the original poster - "the PIC A/D isn't fast enough"
[03:07:39] <SWPadnos> the AVR A/D is about the same
[03:08:04] <fenn> poop.. what about an external a/d
[03:08:49] <SWPadnos> heh - it might work, but since you can buy a nice op-amp for about $0.70, it seems overkill to use a PIC :)
[03:09:16] <fenn> how would you use an op-amp?
[03:09:24] <SWPadnos> you still wouldn't be able to read the values fast enough, unless you used a many-pin PIC and a parallel data interface
[03:09:29] <jmkasunich> comparator, not opamp (I think)
[03:09:46] <SWPadnos> yes - comparator for the current sense cutof
[03:10:22] <SWPadnos> or op-amp to go from voltage out from PC level to current in motor (ie, make an analog servo amp :) )
[03:10:46] <fenn> uh, no thanks
[03:10:52] <jmkasunich> pretty small motor if a $0.70 op amp can do it
[03:10:59] <SWPadnos> realize that that guy was making a stepper drive, so things are a little different.
[03:11:04] <SWPadnos> (yes - I know)
[03:11:23] <SWPadnos> I just thought you might want to read through the thread, since it's related to your project
[03:12:00] <fenn> the avr's a/d is 16khz.. is that not fast enough for a cheap servo?
[03:12:06] <SWPadnos> same as the PIC
[03:12:20] <fenn> but i dont need to hold current as tightly as in a stepper
[03:12:45] <SWPadnos> I'm not so sure about that - John, any comment there?
[03:12:54] <jmkasunich> huh?
[03:13:09] <SWPadnos> about not needing to control current in a servo as accurately as in a stepper
[03:13:23] <fenn> * fenn gets schooled again
[03:13:27] <SWPadnos> heh
[03:13:30] <SWPadnos> (me, too)
[03:13:36] <jmkasunich> I'd want good current control in both cases
[03:13:56] <jmkasunich> but servo is more sensitive I would think
[03:14:13] <jmkasunich> with servo, torque = current
[03:14:18] <SWPadnos> I'd think it would be more important in a servo, since current is proportional to torque (and therefore at some level velocity), whereas a stepper just holds or moves to the next step "more aggressively"
[03:14:34] <jmkasunich> with stepper, torque = current * sin(displacement from pole angle)
[03:14:42] <jmkasunich> right
[03:15:22] <jmkasunich> for microstepping, the ratio of the two currents determines the target position, so it is somewhat important, but still not critical
[03:15:33] <jmkasunich> for fullstepping, not critical at all
[03:16:17] <SWPadnos> OK - someone just noted in that thread that the PIC [and also the AVR)] has a built-in comparator, so you could turn off the H-Bridge with a comparator interrupt
[03:16:37] <SWPadnos> but you'd still have to set the level in analog-land somehow
[03:16:39] <fenn> that comparator uses the same a/d
[03:16:47] <SWPadnos> not on the AVR
[03:17:03] <SWPadnos> at least, not by architecture.
[03:17:08] <SWPadnos> some of the chips may share the pins
[03:17:37] <SWPadnos> and you don't need the A/D if you're using the comaprator for current shutoff
[03:17:44] <SWPadnos> comparator
[03:18:45] <jmkasunich> what are you comparing TO? an analog value, or do you need a dac
[03:18:52] <fenn> you need a dac
[03:18:56] <SWPadnos> you need an analog reference
[03:19:18] <fenn> the "reference" is the command going into the micro
[03:19:33] <jmkasunich> so you either sample the current with the ADC, and compare to a digital reference, or you generage an analog reference with a DAC, and compare to the analog feedback
[03:19:46] <SWPadnos> you need an analog reference, so the micro can use a DAC, but it's got to be connected externally to the comparator
[03:19:57] <jmkasunich> the second approach offloads the CPU
[03:20:09] <fenn> hmm good point jmk
[03:20:12] <SWPadnos> and the sampling method can't run faster than about 16 KHz (probably closer to 10)
[03:20:33] <jmkasunich> the analog method depends on the response time of the comparator
[03:20:41] <SWPadnos> sub-microsecond
[03:20:46] <jmkasunich> a couple uS for a LM339, 10s of nS for a LM311
[03:21:03] <fenn> is there a way to fine-tune the response time? like with a filter network or someting?
[03:21:19] <fenn> so i can match the PWM output to my fet's
[03:21:46] <jmkasunich> exactly what kind of PWM are you trying to make?
[03:22:16] <jmkasunich> fixed frequency? fixed on time? fixed off time? hystersis?
[03:22:39] <fenn> i'd think fixed frequency but i really dont know
[03:23:12] <jmkasunich> fixed freq: turn on based on a clock, turn off when current feedback goes greater than command
[03:23:47] <jmkasunich> hysteresis: turn on when feedback goes less than say command-10%, turn off when it goes above command+10%
[03:24:09] <jmkasunich> hystersis takes less hardware (comparator, couple resistors)
[03:24:20] <jmkasunich> fixed freq needs comparator and a flip-flop
[03:24:21] <SWPadnos> (but more software)
[03:24:23] <fenn> i guess it will sorta tune itself, since the comparator won't increase any current in the coils until the fet turns all the way on
[03:24:57] <SWPadnos> make sure you implement e-stop first ;)
[03:25:02] <jmkasunich> hyst doesn't take more software - both simply need a current reference
[03:25:21] <SWPadnos> it does if the PWM is software in a microcontroller
[03:25:30] <SWPadnos> fixed freq is the simplest in an AVR or PIC
[03:26:18] <SWPadnos> use a periodic interrupt to turn on, comparator interrupt to turn off
[03:26:33] <fenn> dont want to mess with too many interrupts
[03:26:35] <jmkasunich> IOW the micro is an expensive flipflop
[03:26:40] <SWPadnos> yes
[03:26:44] <SWPadnos> and interface to the PC
[03:26:51] <jmkasunich> what a waste
[03:26:54] <SWPadnos> heh
[03:27:04] <jmkasunich> actually I could do fixed freq with a comparator and some Rs and Cs
[03:27:10] <SWPadnos> but probably less expensive than a flip-flop these days
[03:27:21] <jmkasunich> maybe
[03:27:23] <jmkasunich> slower though
[03:27:45] <SWPadnos> 5 uS propagation delay in an AVR
[03:27:57] <SWPadnos> at 1 MHz
[03:28:07] <jmkasunich> from interrupt to code executing and writing to the PWM output to turn it off?
[03:28:12] <SWPadnos> yep
[03:28:25] <jmkasunich> so one micro - one channel
[03:28:34] <SWPadnos> possibly as long as 7 or 8, if you write unoptimized code
[03:28:42] <SWPadnos> yes
[03:28:52] <jmkasunich> comparator + FF, sub microsecond
[03:29:02] <SWPadnos> fenn/s plan was actually for two micros per channel, one for encoder reading, athe other for motor current control
[03:29:13] <jmkasunich> I think you could use a comparator with a crapload of hystersis and eliminate the FF
[03:30:01] <SWPadnos> you can do some interesting overcurrent stuff with the AVR
[03:30:15] <fenn> can't i just use the built-in hysteresis in the drive transistors?
[03:30:19] <SWPadnos> the comparator can be set to gate a counter, so you can trip on a certain amount of time overcurrent
[03:30:20] <jmkasunich> no
[03:30:38] <jmkasunich> does the AVR have a PWM generator in HW?
[03:30:44] <SWPadnos> yes, several types
[03:30:52] <SWPadnos> all phase-correct and glitch-free
[03:31:00] <SWPadnos> (according to the manual :) )
[03:31:22] <jmkasunich> so you could do voltage control (with PWM controller) and pulse by pulse current limit (with the comparator)
[03:31:38] <SWPadnos> the ATMEGA162 is a pretty good motor control IC, actually
[03:31:51] <SWPadnos> I'mnot sure about that. changing which peripheral owns a pin can be a pain
[03:32:21] <jmkasunich> ok
[03:32:22] <icee> on the avr parts?
[03:32:27] <SWPadnos> yeah
[03:32:30] <icee> it's just a bit in a register
[03:32:35] <jmkasunich> I need to work on CL anyway, you guys are distracting me ;-)
[03:32:41] <fenn> * fenn flees in terror from icee
[03:32:47] <SWPadnos> yes, but changing the owner doesn't guarantee a pin status change
[03:32:54] <SWPadnos> sorry about that
[03:33:09] <icee> you program the PORT to the 'disabled' status, and then change the owner
[03:33:24] <icee> the output gate structure/multiplexers are well documented
[03:33:55] <SWPadnos> right, but the objective is to have one peripheral turn the output on and off (PWM), and another to turn it off if necessary (comparator)
[03:34:49] <icee> you have the PWM do it; you have an interrupt trigger on the comparator; then you clear the register bit, and when the output compare interrupt fires
[03:34:57] <icee> you enable the register bits, handing control back to the pwm peripheral
[03:35:10] <icee> or vice versa, depending on which event you want to be low latency
[03:35:31] <SWPadnos> comparator, not output compare, or are you talking about the end of the PWM cycle (TOP)?
[03:35:42] <icee> output compare, for the end of the pwm cycle
[03:36:06] <icee> once the pwm decides it would rather have the switch off, you hand pwm back control of it
[03:36:38] <icee> then pwm turns it on, comparator trips, you override pwm, wait for pwm to want to turn it off, hand pwm control back
[03:37:06] <SWPadnos> yep - you have to manually set the pin to the correct state somewhere in there - the PWM and such only strobe the pin to the correct state on the cycle in which it's supposed to change (in my experience)
[03:37:20] <icee> You program the PORT/DDR registers to what you want at power up time
[03:37:22] <icee> the PWM doesn't change them
[03:37:34] <SWPadnos> of course, that project was on the ATMEGA103, so things may have changed since then ;)
[03:37:43] <icee> about a dozen cycles per pwm cycle, and you only pay the dozen cycle penalty when the comparator trips
[03:39:05] <fenn> well that sounds nice and all but if you only have 5 or 10 mips, it's no good for me 'cause i'll run over the EPP timeout limit
[03:39:27] <fenn> (10 usec)
[03:39:28] <icee> fenn: I keep telling you, use a CPLD
[03:39:31] <SWPadnos> run it at 16 MHz, and you'll have close to 16 mips
[03:39:39] <SWPadnos> and I agree - use programmable logic
[03:40:41] <icee> a CPLD is probably not quite sufficient to speak the parallel port protocol but may be
[03:41:22] <fenn> i dont think i'm quite sufficient to speak the parallel port protocol in logic
[03:41:36] <icee> fenn: even the dspic that we're using is very marginal and will require good code to do everything we ask of it
[03:42:17] <icee> and that's at 30 mips with hardware quadrature decoding
[03:42:32] <fenn> you're asking a lot more of it
[03:42:39] <icee> not really.
[03:42:44] <fenn> i only have to keep track of one phase and 100khz encoder pulses
[03:42:50] <icee> One table lookup per PWM cycle, pretty much
[03:42:53] <SWPadnos> and SPI communications
[03:42:55] <icee> to figure out the angles
[03:43:15] <icee> yah, you understand the SPI thing, right fenn?
[03:43:24] <icee> you have from the end of a SPI cycle, to the first clock edge on the next one
[03:43:31] <icee> to read the byte from the SPI register and write whatever you want to write
[03:43:38] <icee> at 1MHz SPI, that is not very long
[03:43:42] <fenn> i got a spi tutorial but i havent read it yet
[03:44:14] <icee> your SPI slave needs to be able to keep up with that, else what the SPI master reads back is nondeterministic, and the spi slave may lose bytes
[03:44:15] <SWPadnos> I think the AVRs have a 1-byte buffer (ie, one byte in the shift register, one in the write register)
[03:44:46] <icee> swp: yah, that's true. so if your protocol is properly pipelined, you get a -little- while longer
[03:45:20] <CIA-5> 03jmkasunich * 10emc2/src/hal/classicladder/classicladder_gtk.c: fixed CL 'save' command: before if no name was available (first time for example) it would save to '.clp' without warning, now it does 'save as' to get a name
[03:45:29] <SWPadnos> btw icee, you're right - it would be nice if the AT90PWM parts were available
[03:49:20] <icee> f: the dspic does everything in a 40-dip and is $11.65 for the 20MHz (instruction cycle) part
[03:49:32] <icee> if you're going to use multiple microcontrollers, it's hard to imagine how you'll do it cheaper
[03:49:59] <fenn> yeah i keep thinking that
[03:50:10] <SWPadnos> I wish the FPSLICs weren't so damned expensive
[03:50:36] <SWPadnos> though they're about the same as the dsPic in 100 qty ($12.40 @ digikey
[03:50:38] <icee> there's also tms320f24x or 28x
[03:51:16] <icee> though the packages are a little more exotic
[03:51:26] <jmkasunich> jeez guys,,, just put a dac on the EPP bus, do the current loop in analog HW with a comparator and ff, and be done with it ;-)
[03:51:31] <SWPadnos> as are the supply voltages :)
[03:52:00] <SWPadnos> how about a ComputerBoards analog I/O card, and servo amps?
[03:52:15] <SWPadnos> sorry - measurement computing
[03:52:26] <jmkasunich> order of magnitude more cash
[03:52:31] <jmkasunich> two orders less time
[03:52:37] <SWPadnos> how about using the sound card
[03:52:37] <CIA-5> 03petev * 10emc2/src/hal/classicladder/ (classicladder_gtk.c classicladder.c global.h):
[03:52:37] <CIA-5> Finished changes for "--readonly" command line argument. Too painfull to
[03:52:37] <CIA-5> do right, added a global (readOnly) to control widget updates.
[03:52:45] <SWPadnos> * SWPadnos hides
[03:52:59] <fenn> hey you can get 20khz or more out of that thing :)
[03:53:09] <jmkasunich> pete succumbed to the lure of the global
[03:53:21] <SWPadnos> splurge - go for an M-audio 8-channel 24 bit / 192 KHz card
[03:53:22] <jmkasunich> or course in that code, who would notice
[03:53:41] <fenn> so i can play music for the bats?
[03:53:51] <SWPadnos> yes, and the dogs and elephants
[03:54:00] <SWPadnos> (and quite possibly hippos)
[03:54:57] <petev> just one more global in a whole pile that need fixing
[03:55:00] <fenn> is there any reason a sound card is less ideal than an analog io?
[03:55:05] <icee> f: if you used dspic and helped us adapt it for brushed DC, we'd wub you forever
[03:55:10] <icee> f: yah, lots of reasons
[03:55:10] <jmkasunich> AC coupled for starters
[03:55:13] <petev> at least I cleaned up the RT stuff :)
[03:55:22] <icee> f: it's ac coupled, it's latent because of how the scatter/gather DMA works, etc
[03:55:29] <fenn> ok
[03:55:35] <SWPadnos> OK - I'm oing to clean my desk so I can actually use my spiffy new computer
[03:55:50] <SWPadnos> going
[03:55:53] <SWPadnos> gotta run - it's been fun :)
[03:55:58] <icee> cya swp
[03:55:59] <SWPadnos> SWPadnos is now known as SWP_Away
[03:56:06] <SWP_Away> damned desks
[03:56:49] <jmkasunich> our make system has holes in it when it comes to dependencies
[03:57:12] <jmkasunich> you can change a header and it doesn't always compile every file that uses the header
[03:57:21] <SWP_Away> yes - try renaming the directory after compiling, then run emc again
[03:57:31] <jmkasunich> petev: got an error compiling the latest CL
[03:57:39] <petev> what error?
[03:57:44] <jmkasunich> classicladder_gtk.c:934: conflicting types for `InitGtkWindows'
[03:57:44] <jmkasunich> classicladder_gtk.h:12: previous declaration of `InitGtkWindows'
[03:57:50] <petev> compiled ok here
[03:58:02] <petev> ok, let me check it out
[03:58:27] <jmkasunich> I found it
[03:58:30] <jmkasunich> commit in a sec
[03:59:04] <petev> Ah, I didn't commit the .h
[03:59:17] <jmkasunich> you want to, or shall I?
[03:59:24] <petev> I'll do it
[03:59:29] <jmkasunich> ok
[04:01:04] <CIA-5> 03petev * 10emc2/src/hal/classicladder/classicladder_gtk.h: Finished changes for "--readonly" command line argument.
[04:02:07] <jmkasunich> compiles ok now
[04:02:49] <petev> I kept the readonly really minimal with only the section display window
[04:02:56] <petev> I think that's what alex wanted
[04:03:55] <jmkasunich> works nice
[04:04:11] <petev> I got my 8" monitor working with touch screen and pen
[04:04:24] <jmkasunich> time for bed, gotta catch a plane early tomorrow
[04:04:44] <petev> now if we can just make some nice gui blocks to get the jog wheel etc, up there the BP will be looking nice
[04:09:11] <bigdog1_> bigdog1_ is now known as bigdog1
[11:43:43] <alex_joni_busy> 'lo
[12:27:29] <A-L-P-H-A> 'ola
[12:53:19] <A-L-P-H-A> how do I make a comment in emc / gcode again?
[13:10:20] <fenn> (comment)
[13:14:48] <fenn> anyone know where to get cheap mxl timing belts?
[13:38:38] <fenn> "stock drive products" doesn't seem to have anything in stock!
[14:58:09] <fenn> les got any suggestions on timing belts re: urethane vs rubber, kevlar vs poly?
[14:59:44] <fenn> i'll be experimenting with pulley ratios, and i'll be using this servo/pulley: http://pico-systems.com/japservo.html
[15:02:58] <les_w> generally glass reinforced belts are fine
[15:03:06] <les_w> suggest Gates GT
[15:04:58] <les_w> It has the best registration accuracy, and virtulally zero backlash
[15:05:07] <SWP_Away> SWP_Away is now known as SWPadnos
[15:05:28] <SWPadnos> hi, folks
[15:05:34] <les_w> Hi SWP
[15:05:34] <alex_joni_busy> howdy
[15:05:41] <fenn> the motors have a weird shaft size and i'd rather stick with mxl
[15:05:54] <les_w> let me look
[15:06:11] <fenn> or is .229" a normal size??
[15:06:12] <SWPadnos> the motor is 58 oz-in, I don't think the belt type will have significant impact
[15:07:11] <Jacky^afk> Jacky^afk is now known as Jacky^
[15:07:25] <Jacky^> morning all
[15:07:37] <SWPadnos> hi Jacky^
[15:08:10] <les_w> hmm.229 is neither imperial or metric standard size as far as I can see
[15:08:12] <Jacky^> hello guys
[15:08:29] <SWPadnos> it's probably som wire or drill size
[15:08:32] <SWPadnos> soem
[15:08:34] <SWPadnos> some
[15:08:48] <alex_joni_busy> SWPadnos: keep trying, you'll get it right eventually :D
[15:09:11] <les_w> you could bore out a 5 mm pulley if you need to
[15:09:30] <SWPadnos> -ENOCAFFEIENE
[15:09:51] <SWPadnos> it's 1 mil over a size 1 drill
[15:10:42] <alex_joni_busy> what's NOCAFFEIENE? :D
[15:10:53] <SWPadnos> my current error state :)
[15:11:26] <alex_joni_busy> then do something against it ;)
[15:11:39] <SWPadnos> -EBUSYONTHAT
[15:12:30] <les_w> well, off to mill some protos
[15:12:50] <SWPadnos> SDP-SI seems to have *some* mxl belts in stock (probably nowhere near the size you want)
[15:13:10] <fenn> mcmaster has a pretty good selection of belts, msc has a lot of really cheap pulleys
[15:13:26] <fenn> i'm pretty disappointed with sdp-si's website
[15:13:31] <SWPadnos> I think it's normal to get a pulley with an undersized hole, and bore it out on your lathe
[15:13:39] <SWPadnos> (whih is easier when you actually have a lathe)
[15:13:43] <SWPadnos> which
[15:13:44] <les_w> I have a bunch of 3mm gates GT belts left over from a project
[15:13:58] <fenn> how many is a bunch?
[15:14:02] <les_w> 10
[15:14:21] <fenn> how long?
[15:14:26] <SWPadnos> next question: what size? :)
[15:14:28] <les_w> let's see..
[15:14:35] <fenn> roughly
[15:15:04] <SWPadnos> don't you have the specs immediately available in your inventory management system?
[15:15:08] <SWPadnos> ;)
[15:15:36] <fenn> SWPadnos: some of us actually _do_ have an inventory management system
[15:15:48] <les_w> Gates PGGT2MR252
[15:15:54] <SWPadnos> yep - I'm familiar with them :)
[15:16:02] <SWPadnos> (IMS, not the gates belts)
[15:16:05] <fenn> 252*3mm right?
[15:16:20] <les_w> yeah
[15:16:29] <les_w> you can hunt it up
[15:16:34] <les_w> SDP
[15:16:58] <les_w> however the pulleys are expensive
[15:17:00] <les_w> but good
[15:17:06] <SWPadnos> I haven't seen any GT2 stuff at SDP-SI - is it in some special section?
[15:17:22] <fenn> i think those are too long.. thanks anyway
[15:17:32] <les_w> yeah I think so
[15:17:59] <les_w> I ordered about a kilobuck of pulleys and belts for this project
[15:18:06] <fenn> crikey
[15:18:12] <fenn> i bet that was easier to do than you thought :)
[15:18:18] <SWPadnos> 1K$
[15:18:26] <les_w> yeah
[15:18:34] <Jacky^> les_w: im tryng to understand how to compare the inertia data you gave me to find the appropriate dc motor for my machine, but ive some difficult
[15:18:59] <les_w> used a NEMA 17 stepper to test my encoder product
[15:19:43] <les_w> jacky, we may have to select a higher inertia higher torque motor if you are havibg trouble
[15:20:20] <fenn> can't you just change the pitch on the ballscrew with a higher inertia motor?
[15:20:47] <Jacky^> for ex., ive, 10^-7 kg m^2 and im looking at pdf table of a low inertia motors: in the colum I see values like: 0,22 - 0,36 - 1,2 (Kgcm2)
[15:20:59] <Jacky^> should I convert the value ? how ?
[15:21:04] <Jacky^> to compare it
[15:21:21] <alex_joni_busy> you know how to convert cm to m ?
[15:21:27] <Jacky^> nope
[15:21:27] <alex_joni_busy> alex_joni_busy is now known as alex_joni
[15:21:33] <alex_joni> 100 cm = 1 m
[15:21:33] <fenn> there's 100^2 cm in a m^2
[15:21:45] <alex_joni> fenn: almost ;) not quite..
[15:21:54] <alex_joni> Jacky^: 1 m = 100 cm
[15:21:56] <les_w> 10^4 conversion factor
[15:21:59] <SWPadnos> 100^2 cm^2 in a m^2
[15:22:11] <fenn> that's what i meant :)
[15:22:13] <alex_joni> 1m^2 = 1m * 1m = 100cm * 100cm = 10000 cm^2
[15:22:14] <SWPadnos> heh :)
[15:22:30] <les_w> so 2.2-3.6 x 10^-5
[15:23:01] <alex_joni> 220-260 10^-7 kg m^2
[15:23:10] <les_w> still high
[15:23:33] <les_w> but we can be off on inertia matching up to about a factor of 5 and be ok
[15:23:46] <Jacky^> ok, thanks :)
[15:24:05] <les_w> I am going to look at your motioneering project file again here jacky
[15:24:25] <Jacky^> les_w: ok, thanks
[15:24:53] <Jacky^> I was looking here http://www.gerit.it/servomotori.html (theres no english page..)
[15:25:14] <Jacky^> and here too : http://www.doweb.it/deltaline/standard/DPI1_02_servo_cc_bi.asp
[15:25:32] <Jacky^> they should be low inertia motors ..
[15:28:17] <Jacky^> http://www.delta-line.it/italy/products_det.asp?macrogruppo=22&pagina=Products&titolo_Macrogruppo=MICROMOTORI%20A%20CORRENTE%20CONTINUA%20BASSA%20INERZIA
[15:28:29] <les_w> ok just checking the factors for your x axis...check me on these numbers
[15:29:36] <les_w> leadscrew...10 mm lead...20mm diameter...2.6 meters length (2 1.3 meter tandem)
[15:29:39] <Jacky^> for X , 3.5 torque cont. , .000593 Kg M^2 inertia
[15:29:52] <les_w> Axis mass 50 KG
[15:29:57] <Jacky^> yeah
[15:30:46] <les_w> yeah still get 3.5 and 5.9 x 10_4 kg m^2
[15:31:14] <les_w> and that's a 0.8 inertia match
[15:31:14] <Jacky^> right
[15:31:27] <Jacky^> oh, well ok
[15:31:55] <les_w> jl/jm=0.76
[15:33:56] <Jacky^> Y is 1 nm torque 10^-7 kgm^2 inertia
[15:34:17] <les_w> the motor selected id Danaher U16M4H
[15:34:32] <fenn> heh i wonder how much they paid to get that suggestion in there
[15:34:35] <les_w> 0.89 kW
[15:34:49] <Jacky^> les_w: for X right ?
[15:34:49] <SWPadnos> marketing asked engineering to put it in :)
[15:35:24] <les_w> That's why it's free...but I just work backwards from the motors it selects...
[15:35:40] <les_w> at least they are real world examples
[15:35:47] <les_w> right for x jacky
[15:36:41] <les_w> that is not a small motor
[15:36:45] <les_w> 8.5 kg
[15:36:50] <Jacky^> do you remember the 80V limit for 1000 rpm ?
[15:37:18] <les_w> right
[15:37:41] <Jacky^> les_w: that ok, we sayd the motor is big, but its simple to assembly the machine with no pinion ..
[15:38:08] <les_w> exactly
[15:38:17] <Jacky^> just brake o Z
[15:38:23] <Jacky^> on*
[15:39:04] <les_w> now there is the issue of twin screws for the gantry
[15:39:19] <les_w> the numbers are right if the motor drives both
[15:39:19] <Jacky^> les_w: why ?
[15:39:43] <les_w> if two motors, they can be half the torque and inertia
[15:39:53] <les_w> but as we know emc can't do that...
[15:39:59] <Jacky^> uhmm no ..
[15:40:02] <SWPadnos> emc2 can
[15:40:02] <Jacky^> right
[15:40:15] <alex_joni> emc2 could
[15:40:22] <Jacky^> i dont like 2 motors on X, I prefer only one
[15:40:37] <les_w> oh you have tandem axis in huh?
[15:40:39] <Jacky^> biggest but one
[15:41:02] <Jacky^> we sayd tu use strap gt2 if I remember well ?
[15:41:19] <SWPadnos> drop in two PID blocks and/or an extra stepgen, connect two blocks to axis.X.out (or whatever)
[15:41:31] <les_w> ok...with one motor you will need a jackshaft of dual timing belt
[15:41:51] <Jacky^> les_w: thats not a prob. I prefer that way
[15:41:52] <les_w> yeah gt2 timing belts to the screws is lightest
[15:43:34] <Jacky^> SWPadnos: how simple is the setup of 2 separate drivers G340 in the same axis ?
[15:43:45] <Jacky^> i think is not form me ..
[15:43:46] <Jacky^> for
[15:43:56] <SWPadnos> It sounds simple, but I can't say for sure - I haven't done it :)
[15:44:39] <SWPadnos> conceptually, you just use two stepgen outputs, and connect their inputs to the X axis output from motion
[15:44:58] <Jacky^> thats ok for the software
[15:45:06] <Jacky^> but what about the drivers ?
[15:45:09] <les_w> this is full servo.
[15:45:19] <SWPadnos> hardware-wise, you would use a separate gecko for each motor
[15:45:34] <Jacky^> yeah, fine tuning on each ..
[15:45:36] <SWPadnos> you could also just connect both geckos to the same step/dir outputs
[15:45:57] <Jacky^> not sure i can get it work, im a newbie
[15:45:58] <SWPadnos> though you'd need to be sure your parport or breakout board can drive both LEDS fully on
[15:46:31] <alex_joni> SWPadnos: usually that's not a problem
[15:46:44] <alex_joni> the problem is if the geckos aren't tuned the same
[15:46:48] <alex_joni> and one lags behind..
[15:46:54] <Jacky^> that what i meant
[15:46:59] <les_w> I think gecko for dual drive would not be a good idea because of that
[15:47:01] <SWPadnos> ok - so (looking at inertia), a NEMA42 motor with 15.82 kg-cm^2 isn't too bad
[15:47:12] <alex_joni> but the mechanics to do that.. is even harder imho ;)
[15:47:18] <SWPadnos> yeah - as I said, it sounds simple, but I've never done it :)
[15:47:19] <alex_joni> * alex_joni is not a mechanic guy
[15:48:30] <les_w> Well dual drive really needs a master/slave setup with two pidff loops rather than just sending both the same command
[15:48:51] <SWPadnos> you send the same command from motion, and use multiple PID blocks, yes
[15:49:06] <SWPadnos> then (for the Geckos), run the oiutput of that through separate stepgen blocks
[15:49:24] <les_w> well, actual position of master is commanded position of slave
[15:49:38] <alex_joni> SWPadnos: you need feedback from joint1 driving joint2
[15:49:39] <SWPadnos> that would guarantee some lag
[15:49:48] <alex_joni> with pidff no..
[15:49:57] <alex_joni> the ff part should be the same ff as for joint1
[15:49:58] <SWPadnos> ah - true
[15:50:00] <les_w> yes it has some lag...but not much
[15:50:19] <alex_joni> I think...
[15:50:28] <SWPadnos> of course, the master should change depending on which has the higher load
[15:50:39] <les_w> If you send the two the same command...following error will invariably bee opposite at times
[15:50:52] <les_w> so a lot of twisting
[15:51:01] <SWPadnos> sure - depends on dithering at that point
[15:51:07] <SWPadnos> (which way they start out)
[15:51:27] <les_w> yeah, and the pahse response
[15:51:30] <les_w> phase
[15:51:37] <SWPadnos> I'm glad I didn't have to go through any of this (since I bought a Bridgeport, and the motors from a Bridgeport retrofit :) )
[15:51:53] <Jacky^> ok guys, thanks, now studing these motors param..
[15:51:54] <les_w> which changes on the two driven points of x with y position
[15:52:08] <Jacky^> les_w: thanks i will disturb you later :/
[15:52:15] <les_w> haha ok jacky
[15:52:18] <Jacky^> :)
[15:52:20] <SWPadnos> heh
[15:52:50] <les_w> yeah SWP it gets more critical with very high speed motion like routers
[15:53:01] <SWPadnos> I'd imagine so
[15:53:06] <les_w> On a BP, not such a big deal.
[15:53:13] <fenn> bah just use linear motors
[15:53:21] <les_w> heheh
[15:53:22] <les_w> ok
[15:53:23] <fenn> * fenn throws money at it
[15:53:26] <SWPadnos> all the inertia matching was also unnecessary for me to go through :)
[15:53:47] <les_w> can jacky borrow $10,000?
[15:53:48] <SWPadnos> (though I might want to know what that's about some day)
[15:53:50] <les_w> heh
[15:53:57] <SWPadnos> yes, just not from me
[15:54:03] <les_w> hahaha
[15:54:11] <fenn> this is a "no compromise" design right?
[15:54:39] <SWPadnos> no such thing :)
[15:54:44] <fenn> right
[15:54:52] <fenn> engineering is the science of compromises
[15:54:58] <Jacky^> yes, I can
[15:55:07] <les_w> yeah. If he is going to go through the trouble, and wants a commercial machine..
[15:55:12] <Jacky^> * Jacky^ try to sell his blood
[15:55:16] <les_w> yes always compromise
[15:55:29] <Jacky^> E. 100 /liter
[15:55:33] <Jacky^> :D
[15:55:34] <les_w> I hope you have expensive blood jacky
[15:55:54] <fenn> if you were a bull, you could sell other bodily fluids
[15:55:56] <Jacky^> haha
[15:56:25] <SWPadnos> bullsh*t ;)
[15:56:32] <les_w> What we are going for is just good up to date commercial performance
[15:56:45] <les_w> which is 1g 400ipm cutting
[15:58:00] <les_w> many large commercial machines can go 1000 ipm+....with a 25 hp spindle.
[15:58:01] <SWPadnos> for a router, I assume (that's very high performance for a metalcutting milling machine)
[15:58:37] <les_w> But for jacky's ixi meter machine 400 is plenty
[15:58:47] <les_w> yeah for a wood router specifically
[15:58:51] <SWPadnos> phew
[15:59:04] <SWPadnos> I was starting to wonder about my 180IPM max rapids :)
[15:59:18] <fenn> that's plenty swp
[15:59:23] <SWPadnos> (not that I'd want to move a Bridgeport that fast anyway)
[15:59:38] <fenn> yeah what if it bonks you
[15:59:45] <les_w> Well it's fine...you are spindle power/rpm limited?
[16:00:01] <SWPadnos> yep - 1.5HP, eventually to be 3HP
[16:00:07] <les_w> rpm?
[16:00:13] <SWPadnos> 4k
[16:00:24] <SWPadnos> maybe higher - it's a 2J head
[16:00:28] <SWPadnos> varispeed
[16:00:33] <les_w> ok. So you don't need real high feeds
[16:00:39] <SWPadnos> I plan to replace it with a 3HP motor on a VFD
[16:00:57] <SWPadnos> yeah, and cutting mostly aluminum and copper
[16:01:03] <les_w> right
[16:01:56] <les_w> Similar to the VMC I will get....old, low spindle speed, slow, but fine for making a few prototypes
[16:02:30] <SWPadnos> I've been looking at the "drill speeders" that appear on eBay from time to time
[16:02:41] <les_w> ?
[16:02:45] <les_w> gear up?
[16:02:45] <SWPadnos> Tapmatic has one that's 6x, I think
[16:02:48] <SWPadnos> yeah
[16:03:22] <SWPadnos> not meant for super-powerful heads, but should be fine in the 1-3 HP range
[16:03:32] <SWPadnos> roughly 20K RPM max output
[16:03:35] <SWPadnos> speed
[16:03:35] <les_w> ha, this morning I am milling delrin at about 2500 rpm
[16:03:51] <fenn> are closed-loop controlled air powered spindles used much?
[16:03:53] <les_w> on the manual mill
[16:04:19] <fenn> i mean with airmotors instead of electric
[16:04:25] <fenn> or maybe hydraulic
[16:04:36] <les_w> used a lot on pcb machines
[16:05:53] <les_w> oh, I was looking for some shielded hi flex 3 conductor power cable for my new spindle
[16:06:14] <les_w> code is 8 gage
[16:06:26] <les_w> which seems silly to me for 4 kW
[16:06:41] <SWPadnos> VFD?
[16:06:45] <les_w> er..at 240v
[16:06:49] <les_w> yeah
[16:06:57] <SWPadnos> 240V, 3 phase even :)
[16:07:02] <les_w> right
[16:07:06] <les_w> 400 hz
[16:07:08] <les_w> max
[16:07:40] <les_w> I think I will use 12 g though
[16:07:47] <les_w> 8 seems ridiculous
[16:08:00] <SWPadnos> 8Ga is rated at 40A, I think
[16:08:08] <les_w> yeah
[16:08:23] <les_w> well this is just a 5 hp motor
[16:08:29] <les_w> what...15 amp
[16:08:32] <SWPadnos> 12 is closer to 18A, which is plenty, but will probably screw up the waveforms from the VFD
[16:08:48] <SWPadnos> 2A / HP for 24v/3ph
[16:08:54] <SWPadnos> 240V
[16:09:26] <les_w> yeah seems 12 would be fine.
[16:09:29] <les_w> way fine.
[16:09:38] <les_w> They list 8 though
[16:09:39] <SWPadnos> 1.7mOhm / ft
[16:09:47] <SWPadnos> vs 0.67 for 8ga
[16:11:03] <les_w> i'll use 12.
[16:11:39] <SWPadnos> 12Ga is rated for 25A in 3-conductor (3 current-carrying) applications
[16:11:57] <les_w> should be fine
[16:12:09] <SWPadnos> use 10 - go for middle ground :)
[16:12:19] <les_w> have to run 240 60hz separate line for the cooling fan too
[16:12:37] <alex_joni> les_w: run that through the machine ;)
[16:12:44] <SWPadnos> heh - how many hp is the fan? :)
[16:12:49] <alex_joni> ground on one side, voltage on the other :D
[16:12:57] <alex_joni> just isolate the two halfs :D
[16:13:00] <les_w> just a little box fan...nothing
[16:13:07] <alex_joni> and use copper grease on the bearings :D
[16:13:10] <les_w> alex..ha
[16:13:56] <les_w> also...I am upping the estop and home switches to 24v
[16:14:02] <les_w> used 5
[16:14:06] <les_w> a mistake.
[16:14:59] <les_w> prob ought to use 24v diff rally
[16:15:19] <les_w> wires laying right next to that vfd power cable
[16:15:33] <les_w> in the igus energy chain
[16:15:50] <les_w> and 3 axes of 20 servo lines too
[16:15:59] <les_w> 20 amp
[16:16:32] <les_w> well...back to the shop. need to chew up more delrin.
[16:17:16] <SWPadnos> mmmm - delrin
[16:28:39] <alex_joni> * alex_joni goes home..
[16:28:41] <alex_joni> later guys
[16:29:11] <alex_joni> alex_joni is now known as alex_joni_
[16:45:09] <Jymmm> Morning les_w
[16:47:11] <Jymmm> les_w: I ran some controlled tests yesterday. It seems that if I DONT use raster (default) clearing that I dont get toolmarks in the Y axis.
[17:04:25] <Jacky^> hey Jymmm
[17:04:40] <Jymmm> hi Jacky^
[17:05:41] <Jacky^> les_w: is the Danaher U16M4H a servodisc motor type ? right ?
[17:06:43] <Jacky^> just found it on a pdf catalogue, not in the searche engine on the webpage
[17:23:46] <les_w> I think it is a kollmorgen jacky
[17:23:54] <les_w> hey jymmm
[17:26:48] <Jymmm> les_w howdy
[17:27:28] <Jymmm> les_w: You said PU isn't outdoor safe, alternative?
[17:28:11] <les_w> I use spar varnish
[17:28:35] <Jymmm> les_w thick stuff?
[18:05:42] <Jacky^> hi rayh
[18:05:44] <Jacky^> :)
[18:05:47] <SWPadnos> hey Ray
[18:05:52] <rayh> Hi guys.
[18:06:16] <SWPadnos> did you get anywhere with the interp testing?
[18:06:19] <rayh> Got a dialup to my lan but missing a few services.
[18:06:27] <rayh> I get a compile error.
[18:06:34] <SWPadnos> that's somewhere :)
[18:06:51] <Jacky^> rayh: to share connection ?
[18:06:53] <SWPadnos> not an ideal somewhere, though
[18:07:02] <rayh> make[2]: Entering directory `/home/rayh/Desktop/interp/src/emc/rs274ngc'
[18:07:04] <rayh> make[2]: *** No rule to make target `/home/rayh/Desktop/interp/src/.tmp/interp_o_word.o', needed by `all'. Stop.
[18:07:47] <rayh> Yes. I'm sharing stuff between boxes and with SWIMBO
[18:08:20] <Jymmm> SWIMBO? You mean SAMBA?
[18:08:29] <SWPadnos> SWMBO!
[18:08:30] <rayh> no the wife.
[18:08:36] <Jymmm> oh, heh... LOL
[18:08:38] <SWPadnos> Racquel Welch
[18:08:39] <Jacky^> :D
[18:09:04] <Jymmm> Yeah... sharing dialup across two computers is a BITCH!
[18:09:18] <Jymmm> "Are you downloading anything right now?"
[18:09:18] <rayh> try 5
[18:09:23] <rayh> no.
[18:09:46] <Jymmm> rayh: No, I mena that's what me and the gf yell back and fourth to each other
[18:10:03] <SWPadnos> much easier on the relationship to have DSL
[18:10:05] <rayh> Oh. That. Right
[18:10:11] <rayh> If only.
[18:10:13] <SWPadnos> (unless it adds $300/mo the the phone bill)
[18:10:27] <rayh> It is an impossible here.
[18:10:39] <Jymmm> SWPadnos: Oh, my gf just FREAKS OUT when DSL or the websites are down.
[18:10:42] <Jacky^> i just want dsl connection an skype !
[18:10:49] <SWPadnos> T1 would be available, probably for $450/mo (with a long-term contract) :)
[18:11:05] <rayh> got any clues about the interp_o_word.o error.
[18:11:13] <Jacky^> the only issue skype get not skypein work on italy yet ..
[18:11:20] <Jacky^> i'm losting the hope :(
[18:11:35] <Jymmm> SWPadnos: You don't know how many times I've been on the phone to .au
[18:11:36] <SWPadnos> rayh, not really - I'd check, but I made a mistake and unplugged my EMC box last night :(
[18:11:37] <rayh> and the installation of t1 was a fortune
[18:11:52] <Jymmm> rayh I'd think the loop would be the most costly part.
[18:11:57] <SWPadnos> I haven't been brave enough to reboot and fsck yet
[18:12:19] <SWPadnos> shouldn't be more than $3k + $5/foot ;)
[18:12:33] <SWPadnos> (to the CO)
[18:12:35] <Jymmm> SWPadnos and your credit card number is: __________________________________
[18:12:40] <rayh> I know that feeling. I've got it right now on one of the boxes. Tried to undo some emc upgrades.
[18:12:53] <rayh> My guess is that it will fail on reboot.
[18:13:00] <SWPadnos> 1234 5678 9012 3456 exp 00/99, security code 987
[18:13:30] <Jymmm> SWPadnos:Invalid, please try again. Insert credit card here --> [ ]
[18:13:43] <SWPadnos> * SWPadnos isn't inserting anything in this forum
[18:14:09] <Jymmm> SWPadnos: A lot better here, than other places.
[18:14:15] <SWPadnos> I wouldn't know
[18:14:27] <SWPadnos> well - just plugged in the EMC box - let's see how long it takes
[18:14:48] <Jacky^> mmm
[18:14:59] <Jacky^> SWPadnos: sure there are money up ?
[18:15:18] <SWPadnos> uh - what?
[18:15:31] <Jacky^> banks have not gold more, to print money
[18:15:39] <Jacky^> they just print paper
[18:15:42] <Jacky^> :))
[18:15:54] <SWPadnos> yeah - the current motto is "need more, print more"
[18:15:55] <Jymmm> Just got the shit scarred out of me.... went ot open a folder and it wasn't there.... the folder has over a million files in it!!!
[18:16:02] <SWPadnos> had
[18:16:13] <Jacky^> theyre printing money with debits :P
[18:17:06] <Jacky^> thats what is happening here
[18:17:06] <SWPadnos> hmmm - I don't know which is worse, waiting a long time for fsck to finish, or having the system not to run fsck when it was obviously not shut down properly
[18:17:40] <SWPadnos> I think the US is way ahead when it comes to national debt :(
[18:17:54] <Jacky^> guiness is in italy
[18:18:18] <Jacky^> us may is following ..
[18:18:21] <Jacky^> :)
[18:18:57] <Jacky^> SWPadnos: fsck in a mounted partition ?
[18:19:07] <SWPadnos> no thanks
[18:19:21] <Jacky^> :P
[18:20:12] <SWPadnos> it seems to be working
[18:20:30] <SWPadnos> the only stuff I have that isn't easily replaced is the touchscreen driver configuration
[18:20:43] <rayh> does a cvs up include all the sub dirs?
[18:21:15] <SWPadnos> not sure about the default - hold on
[18:23:00] <SWPadnos> yes- recursive update is default
[18:23:14] <rayh> thanks.
[18:23:28] <SWPadnos> you should also use -dP, which will create new directories and prune deleted ones
[18:24:08] <SWPadnos> I'll be compiling for a minute - I'll let you know if I get the error
[18:24:19] <SWPadnos> (slow-ass celeron 500 machine)
[18:31:51] <SWPadnos> ok - same problem here
[18:33:01] <SWPadnos> which I suppose makes sense, since there's no interp_o_word.cc file
[18:33:49] <rayh_> that crash was a lot of fun.
[18:34:00] <SWPadnos> here's a repeat:
[18:34:02] <SWPadnos> ok - same problem here
[18:34:03] <SWPadnos> which I suppose makes sense, since there's no interp_o_word.cc file
[18:34:35] <rayh_> oh that's what it means.
[18:34:36] <SWPadnos> did emc crash the machine?
[18:35:17] <rayh_> Well. that is a bit hard to tell
[18:35:39] <rayh_> might have been a updatedb still going when something else interposed.
[18:36:27] <SWPadnos> I removed "interp_o_word.cc" from the Makefile, and make gives no errors in the rs274ncg directory
[18:36:35] <SWPadnos> I'm trying a make from the src directory now
[18:37:22] <SWPadnos> nope - the file is needed - I'll look around a bit
[18:38:22] <rayh_> Thanks. I suppose we could just file a bug report or try to get lerman's attention.
[18:38:51] <SWPadnos> maybe lerman if we lerman_ say lerman a lot lerman will lerman notice
[18:39:00] <rayh_> rayh_ is now known as rayh
[18:41:04] <rayh> Tried a querry but it answers that he is away.
[18:41:07] <SWPadnos> hold on - I may have made a stupid error in the Makefile
[18:41:40] <SWPadnos> well - that wasn't it
[18:44:14] <SWPadnos> ok - there's definitely a file missing - we'll have to wait for Alex or Ken to join the fun
[18:45:03] <rayh> np
[18:45:26] <rayh> btw the box that crashed lost its keyboard on reboot.
[18:45:42] <SWPadnos> did a re-plug bring it back?
[18:46:34] <Jymmm> If PS/2 kybd, power off, reseat kybd, power back on.
[18:47:00] <SWPadnos> it sometimes works just re-plugging them, but the PS/2 interface is one of the worst for that
[18:47:24] <Jymmm> Can perf damamge mobo too
[18:47:26] <Jymmm> perm
[18:47:59] <SWPadnos> I suppose
[18:48:06] <SWPadnos> but hey - it doesn't work anyway ;)
[18:49:38] <rayh> switch the kvm a few times and it went.
[18:49:53] <SWPadnos> ah
[18:49:54] <lerman> Lerman, lerman, lerman. How may I be of service?
[18:49:59] <SWPadnos> heh
[18:50:12] <SWPadnos> there's a slight "missing file" problem
[18:50:23] <SWPadnos> like - interp_o_word.cc
[18:52:16] <lerman> Well, as far as I can tell, I did the command that alex_joni suggested. Does someone else want to tell me how to check in / update this stuff?
[18:52:17] <lerman> Clearly I am not a CVS person.
[18:53:37] <lerman> I did:
[18:53:38] <lerman> cvs commit -m "Change interpreter to support flow of control, subroutines, and relational operators."
[18:53:40] <lerman> I'm not sure what directory I was in at the time (where should I have been).
[18:53:52] <SWPadnos> you need to specify the files to commit
[18:54:05] <SWPadnos> (I think)
[18:54:18] <lerman> It doesn't do the whole directory/ directory tree?
[18:55:12] <SWPadnos> did you ever cvs add that file?
[18:55:31] <rayh> Don't you also need to add the file first.
[18:55:36] <SWPadnos> you need to explicitly add the file to cvs, then it'll update (that's how it keeps tack of which files shouldn't be uploaded)
[18:55:41] <SWPadnos> track
[18:55:45] <lerman> No... (How would I do that).
[18:55:56] <SWPadnos> cvs add interp_o_word.cc
[18:56:05] <SWPadnos> (possibly with a comment - I'm not sure)
[18:56:13] <rayh> from the directory that it is in
[18:56:28] <rayh> you can put the message in the commit
[18:57:42] <CIA-5> 03lerman 07lerman-interp * 10emc2/src/emc/rs274ngc/interp_o_word.cc: Add the interp_o_word.cc which handles subroutines...
[18:57:44] <lerman> Done.
[18:57:50] <SWPadnos> thank you
[18:58:08] <lerman> Sorry about that. (And your welcome.)
[18:58:35] <lerman> Whoops:S/B: you're welcome.
[18:58:37] <SWPadnos> no problem - as you can see, I know about || <- this much moret han you about CVS :)
[18:59:22] <SWPadnos> (but not about typing, apparently)
[19:00:38] <SWPadnos> yay - a compile with no errors
[19:01:51] <rayh> got the file but getting some sort of goofy compile here.
[19:01:56] <rayh> will watch for a bit.
[19:02:44] <SWPadnos> are you doing this from the rs274ngc dir, or the src dir?
[19:03:17] <rayh> src but something seems to be borked with rtapi.
[19:03:23] <SWPadnos> hmmm
[19:03:24] <rayh> probably a bad checkout.
[19:03:48] <SWPadnos> you did ./configure, right? :)
[19:04:36] <rayh> Yup.
[19:04:43] <SWPadnos> thought so
[19:05:43] <rayh> Thanks for the reminder though.
[19:06:13] <SWPadnos> heh. too bad this brnach doesn't have the stuff recently added to HEAD (or vice versa)
[19:06:16] <SWPadnos> branch
[19:07:08] <rayh> ?
[19:07:24] <SWPadnos> stop stuff, linkpp, etc
[19:09:06] <SWPadnos> hmm - I don't see AXIS in this branch
[19:09:10] <SWPadnos> odd
[19:09:27] <SWPadnos> where is it normally?
[19:09:30] <SWPadnos> (AXIS)
[19:10:05] <rayh> I don't believe the axis code has made it into sf
[19:10:12] <SWPadnos> or is that a separate checkout
[19:10:27] <SWPadnos> I think it is, but it may only be in the BDI branch, come to think of it
[19:10:29] <rayh> I think it resides on the axis website.
[19:10:51] <SWPadnos> ah - so it is.
[19:10:53] <SWPadnos> no wonder :)
[19:11:07] <Jymmm> I thought Paul brought it into the build
[19:11:07] <SWPadnos> I wanted to see if it would work via Cygwin-X
[19:11:23] <SWPadnos> it is, but still only from their site if you want to download it for non-BDI builds
[19:13:24] <SWPadnos> I suppose there should be some test nc files along with this branch
[19:16:26] <rayh> If it is soon going to be merged into head, but then is there any reason not to.
[19:16:39] <SWPadnos> ?
[19:17:31] <SWPadnos> theoretically, there should be test files that let you do regression testing of the interpreter (I say theoretically, because I definitely lack the knowledge to make appropriate test files)
[19:19:37] <SWPadnos> hmm. should I need to do anything other than change DISPLAY from 'tkemc' to 'mini' to get mini to run?
[19:19:59] <Jymmm> restart
[19:20:01] <Jymmm> ?
[19:20:13] <SWPadnos> between runs :)
[19:20:51] <Jymmm> I think you need to restart emc for the change to take effect.
[19:21:07] <SWPadnos> yes - I meant that I change the .ini file between runs of emc
[19:21:43] <Jymmm> ok. Well, are you sure you edited the correct file?
[19:21:54] <SWPadnos> yes
[19:21:54] <Jymmm> it SHOULD work.
[19:22:27] <SWPadnos> /Project/interp/tcl/mini.tcl: line 3: /Project/interp/configs/bin/emcsh: No such file or directory
[19:22:29] <SWPadnos> /Project/interp/tcl/mini.tcl: line 3: exec: /Project/interp/configs/bin/emcsh: cannot execute: No such file or directory
[19:22:36] <SWPadnos> I know it's trying
[19:22:43] <Jymmm> try changing it to keystick and see at least if the change is registered.
[19:22:56] <SWPadnos> it is - it works fine with tkemc
[19:23:06] <SWPadnos> I just wanted to try a different backplot
[19:23:08] <Jymmm> I meant to a different GUI
[19:23:27] <SWPadnos> it is - it works with tkemc, and it gives me errors in mini.tcl when I change it
[19:23:36] <Jymmm> ah, ok.
[19:23:41] <SWPadnos> so it's definitely looking at mini.tcl
[19:24:01] <Jymmm> and it exists?
[19:24:24] <rayh> There were a couple problems created for mini when aj added the make install stuff.
[19:24:27] <SWPadnos> yes - the error I pasted is in mini.tcl
[19:24:31] <rayh> I don't remember what his fix is.
[19:24:46] <SWPadnos> it's not looking in the correct directory - it's trying under the configs/bin dir
[19:25:02] <SWPadnos> this has to do with the make install stuff that alex is doing, I bet
[19:25:19] <rayh> It wouldn't be configs/bin
[19:25:36] <SWPadnos> it shouldn't be, but that's where it's looking
[19:25:36] <rayh> looks like a bad path on line three of mini
[19:25:47] <SWPadnos> /Project/interp/tcl/mini.tcl: line 3: /Project/interp/configs/bin/emcsh: No such file or directory
[19:26:03] <SWPadnos> so it does :)
[19:26:24] <Jymmm> iirc... AJ was mucking with paths on some stuff, you just might want to search your filesystem fo rhte files.
[19:26:26] <SWPadnos> but it's getting it from an environment variable, which is set to (xxx)/configs/
[19:26:49] <SWPadnos> it's not that big a deal - I can change it if I need to - this was just for curiosity's sake
[19:30:37] <Jymmm> okey dockey
[19:30:40] <Jymmm> -c
[19:35:19] <SWPadnos> OK - you add "export $EMC2_TCL_DIR", and change bin/emcsh to $EMC_EMCSH on line 3 (or 5, once you copy the export and comment from tkemc.tcl :) )
[19:47:35] <rayh> That you, Mike?
[19:47:45] <tbl> indeed it is ray, how are you?
[19:47:59] <rayh> Well and you?
[19:48:09] <tbl> very good, indeed!
[19:48:17] <rayh> What's happening in your life these days?
[19:48:28] <tbl> work work work!
[19:48:36] <tbl> =)
[19:48:46] <rayh> I know that feeling
[19:49:00] <tbl> i put on an old jacket this weekend and found fred proctors business card in it.
[19:49:17] <rayh> Working with emc at all?
[19:49:31] <tbl> nope. and in fact i miss it
[19:49:46] <tbl> been doing unix app development
[19:50:15] <rayh> EMC2 is progressing rapidly with lots of additional options for io and such.
[19:50:25] <tbl> thats cool
[19:50:30] <rayh> unix app?
[19:50:44] <tbl> yeah, perl / ruby / mysql stuff
[19:51:12] <rayh> Ah. That makes sense.
[19:51:24] <tbl> like, bots that scale google / yahoo / msn / alexia and track keyword performance over time
[19:51:45] <tbl> im working for a marketing co, go figure.
[19:51:45] <SWPadnos> ick - too "high-level" for my tastes :)
[19:52:06] <tbl> i wrote some low level optimization for freebsd jails
[19:52:17] <tbl> thats pretty low level =)
[19:52:23] <SWPadnos> "keyword performance" - there's a buzzword-compliant phrase if I've ever seen one
[19:52:27] <tbl> haha
[19:52:50] <lerman> SWPadnosI suppose there should be some test nc files along with this branch
[19:52:51] <lerman> rayhIf it is soon going to be merged into head, but then is there any reason not to.
[19:52:53] <lerman> SWPadnos?
[19:52:54] <lerman> SWPadnostheoretically, there should be test files that let you do regression testing of the interpreter (I say theoretically, because I definitely lack the knowledge to make appropriate test files)
[19:52:56] <lerman> So, who wants some test files? [You didn't think I wrote this stuff without testing it, did you?] Where should I put them?
[19:53:06] <SWPadnos> how about in the nc_files dir?
[19:53:21] <rayh> I don't see any reason not to add the stuff to your branch.
[19:53:37] <tbl> like, if you seaardh for "emc" it will show up in google in position X - it tracks how well that search does over time, very usefull to track your seo performance, esp when you have thousands of domains to track
[19:53:42] <rayh> If it isn't changed, the merge will have no problem.
[19:54:23] <rayh> speaking of thousands of domains. I'm being hammered right now.
[19:54:43] <tbl> haha
[19:54:44] <SWPadnos> over dialup?
[19:54:49] <tbl> got hosting?
[19:54:53] <rayh> all kinds of services trying to connect
[19:55:12] <rayh> I'd bet tbl is behind half of em!
[19:55:17] <tbl> if you guys need hosting btw, let me know
[19:55:21] <tbl> haha
[19:55:39] <rayh> You've got space?
[19:55:40] <SWPadnos> for "regular" hosting, DreamHost seems pretty good
[19:56:00] <tbl> rayh, comeon now - who do you think i am? ;P
[19:56:30] <rayh> It's not a question of think... I know.
[19:56:36] <lerman> I could do that. I have four files: if.ngc, loop.ngc, operator.ngc, and sub.ngc. I will rename them to interp_test_xxx.ngc so that it is self evident what they are.
[19:57:00] <SWPadnos> that sounds good. just remember the cvs add :)
[19:57:18] <tbl> ./dev/ad0s1h 158G 98G 47G 68% /home
[19:57:27] <SWPadnos> what's your pipe?
[19:57:32] <tbl> ds3
[19:57:42] <SWPadnos> oooh - that sounds nice :)
[19:57:45] <tbl> thats the computer that hosts obstinate.org
[19:58:03] <SWPadnos> heh
[19:58:26] <tbl> but i don't know how i feel about hosting iso's for joe.
[19:58:39] <tbl> i think that may be asking for trouble.
[19:59:04] <rayh> Wouldn't ask you to do that.
[19:59:19] <tbl> id be happy to host non-sherline related stuff
[19:59:35] <rayh> k we'll keep you in mind.
[20:00:16] <tbl> speaking off - how are the sherline machines doing? as much as i dislike joe i still hold a special place for those things!
[20:00:32] <tbl> i hope matt is able to keep up with everything
[20:00:39] <rayh> we've got 2/3 deb download sites
[20:01:13] <rayh> Not heard from sherline-matt in some time.
[20:01:38] <tbl> i got an email from an old friend of mine that was hosting sherline.com (and the iso's) a long time ago as a favor to me saying that he couldn't do it anymore... it was costing him big bucks to host the isos for them.
[20:02:38] <rayh> I've heard that it is very difficult to get a download from there these days.
[20:02:57] <tbl> i can;t blame them, hosting iso's for download is expensive
[20:03:42] <tbl> how was emc-fest this last april? i wish i could of made it out there for that.
[20:04:02] <rayh> some of the guys are looking at puppy linux for a stripped out version.
[20:04:12] <rayh> It was great.
[20:04:55] <rayh> Fred, as Fred does, cut through the crap and kept things moving.
[20:05:02] <tbl> haha
[20:05:24] <rayh> He put up a wiki page that lists what we were supposed to accomplish.
[20:06:03] <rayh> wiki.linuxcnc.org under the future link
[20:07:44] <tbl> how are the smithy machines doing>
[20:08:01] <rayh> okay making the lerman version now.
[20:08:56] <SWPadnos> hmm - looking at my logs, it seems that the BDI isos are only aroung 20-30G per month
[20:09:02] <SWPadnos> around
[20:09:09] <rayh> Okay. They have a few issues with mfg and support
[20:09:23] <SWPadnos> I can't see the timeframe when there were 2 updates / day though
[20:09:43] <tbl> SWPadnos iirc - when i was hosting them i was seeing 600gb+ / mo
[20:10:01] <SWPadnos> wow - maybe the sherline people just don't use my site :)
[20:10:08] <tbl> yeah
[20:10:12] <tbl> it was linked on sherline.com
[20:10:24] <CIA-5> 03lerman 07lerman-interp * 10emc2/nc_files/ (4 files): Add tests for the interpreter.
[20:10:29] <SWPadnos> ok - mine's only linked from the linuxcnc.org mirrors page
[20:11:58] <tbl> rayh - i heard from kerry a few months ago and i helped him debug a thing or two - but that was about it
[20:12:08] <rayh> Darn branching. The configs/step_cl.* files are all wrong now.
[20:12:29] <SWPadnos> heh - some path updates there, I gather
[20:12:53] <rayh> They are switching to athalon64 boxes
[20:12:59] <SWPadnos> or are you trying to use your spiffy new files that use linkpp?
[20:13:13] <tbl> yummy, athalon64 boxes are sweet
[20:13:18] <rayh> vapor files right now
[20:13:34] <SWPadnos> I just wish I could install BDI under VMWare on my dual Opteron :)
[20:13:42] <SWPadnos> comppiles would be a lot faster
[20:14:00] <tbl> do you guys still see the need for real-time os with the ever increasing system speeds?
[20:14:06] <SWPadnos> yes
[20:14:08] <rayh> that crash and reboot a bit ago borked kdm.
[20:14:17] <tbl> or are the interupts still not reliable as speeds increase?
[20:14:28] <SWPadnos> modern processors (and chipsets) are optimized for throughput, not latency
[20:14:46] <rayh> We are seeing more and more of a problem running rtai with the new hardware.
[20:14:58] <SWPadnos> "low latency" means that you won't hear clicks in your mp3's, and you won't miss frames in your videos
[20:15:07] <tbl> well i would be concered as things are moving away from x86
[20:15:48] <SWPadnos> I was just about to ask if it made sense to start thinking about testing and possibly making an a64 and / or PPC distro (BDI-style)
[20:16:20] <tbl> does rtai / rtlinux support the new dual core / x86-64 stuff?
[20:16:36] <SWPadnos> I was looking for that info. I think it supports SMP (and has for a while)
[20:16:41] <tbl> i think ppc would be a waste considering apple move to intel soon
[20:16:44] <rayh> I've got some of the debian a64 disks here -- thanks to Paul_c
[20:16:51] <SWPadnos> there are also changes for A64 that are more recent, but they may only be in the Fusion branch
[20:17:14] <rayh> I wonder if you'd gain anything with it.
[20:17:18] <tbl> what would be cool is sparc / ultrasparc suppoer
[20:17:22] <SWPadnos> lower power
[20:17:52] <tbl> that new 8 corw 64 bit ultrasparc looks neat
[20:18:11] <SWPadnos> the other troubling move in recent computers is one away from "direct" peripheral interfaces (such as serial and parallel) to "protocol -based" ones, such as USB and FireWire
[20:18:46] <tbl> i think that serial will be around foe awhile
[20:18:54] <tbl> however parallel may be gone soon
[20:19:15] <tbl> every EE in the world needs serial interfaces
[20:19:15] <SWPadnos> yeah - serial will persevers, but not necessarily built in
[20:19:20] <rayh> lerman: Got a sample g-code program I can try?
[20:19:25] <SWPadnos> heh - all my programmers are either serial or parallel
[20:19:42] <SWPadnos> rayh, update the nc_filles dir
[20:19:51] <SWPadnos> files, not frencl girls :)
[20:19:54] <SWPadnos> french
[20:20:00] <SWPadnos> gah - more coffee time
[20:20:42] <tbl> ray, you might be interested to know that i made the switch to mac.
[20:20:54] <tbl> i no longer own any pcs! (other than servers)
[20:21:26] <rayh> got em thanks
[20:21:42] <etla> tbl: how do you drive your cnc machines then ? :)
[20:22:43] <tbl> i don;t own a cnc machine! never did =)
[20:23:08] <etla> ah..
[20:23:23] <rayh> interp_test_loop.ngc But Unknown Operation.
[20:23:33] <lerman> rayh: I checked in some test programs. (to the nc_files directory). Each runs some tests and finishes by doing a g0 to some x, y, z. DO NOT RUN THESE ON ENABLED REAL HARDWARE. Comments in the code tell what the x, y, z values on success will be.
[20:23:41] <etla> a dsp card that could hang off usb or ethernet would be really nice as a motion controller...
[20:25:24] <etla> lerman: how do I get the lerman-interp fork from cvs ?
[20:25:35] <lerman> BTW: I have NOT run those tests with the current source. (I had forgotten I had them).
[20:25:52] <rayh> dropped emc into estop-reset and x went off toward 20 inches.
[20:25:58] <lerman> You're asking me? I just did what alex joni told me to.
[20:26:06] <etla> ok :)
[20:26:56] <rayh> I used swp's command from the dev list this morning.
[20:26:59] <lerman> They say that ignorance is bliss. Think of me as very blissfull. ;-)
[20:28:44] <rayh> Do we need to set an inivar in order to run your new features?
[20:29:26] <SWPadnos> cvs -d:ext:*yourname*@cvs.sourceforge.net:/cvsroot/emc checkout -Pr lerman-interp -d interp emc2
[20:30:19] <SWPadnos> if you're not registered at sourceforge, it'll be a little different
[20:30:32] <etla> ok, yes, I use anonymous
[20:30:45] <etla> and not command line, tortoiseCVS on windoze...
[20:31:08] <SWPadnos> ah - even easier. just select "specific version" and update the list (on the second tab)
[20:31:35] <SWPadnos> "revision" tab
[20:32:52] <etla> I get it to do -q checkout -r lerman-interp -P interp
[20:32:55] <etla> that fails...
[20:33:38] <SWPadnos> you need to checkout emc2, not interp.
[20:34:02] <SWPadnos> that last "-d interp" was there to create a directory named interp for the checkout
[20:34:42] <SWPadnos> (which you'd do on the third tab of Tortoise)
[20:35:25] <etla> ok, now I think it's working... but it's overwriting my HEAD fork... need to check that third tab setting...
[20:35:54] <SWPadnos> "Enter your own folder name" :)
[20:36:38] <etla> yeah, now it's working. thanks.
[20:37:04] <SWPadnos> sure. (glad I'm not the only one with tortoise / WIN) :)
[20:38:15] <etla> woud "-P ." be the same thing as HEAD ?
[20:38:19] <etla> would
[20:38:57] <SWPadnos> I think it would end up with HEAD, yes
[20:39:23] <alex_joni> -P means prune any empty dirs..
[20:39:27] <alex_joni> not very relevant to tag
[20:39:46] <SWPadnos> also not relevant to checkout, unless you're replacing a previous checkout
[20:39:49] <rayh> Hi alex
[20:39:53] <alex_joni> hello rayh
[20:39:56] <SWPadnos> (I thought about that slightly after sending my email)
[20:40:49] <rayh> Got your mods running. Looks good.
[20:41:00] <rayh> Trying ken's interpreter now.
[20:41:07] <rayh> but I get errors.
[20:41:39] <SWPadnos> you did note lerman's admonition to not run on actual hardware, right?
[20:42:02] <rayh> Uh. Yep.
[20:42:04] <alex_joni> rayh: what errors?
[20:42:09] <rayh> I'm running it on the basement.
[20:42:17] <SWPadnos> ok :)
[20:42:19] <rayh> Hang on a sec.
[20:42:23] <alex_joni> remember that his stuff is off an older HEAD..
[20:42:42] <alex_joni> so it won't work with the latest.. should have it's own dir & everything
[20:43:05] <SWPadnos> etla, re: dsp card off USB - have you seen the G-Rex from Geckodrive?
[20:43:15] <SWPadnos> it's an FPGA based unit
[20:43:54] <etla> SWPadnos: I've seen it... but I'm not sure what it can do
[20:43:59] <rayh> Bug Unknown Operation
[20:44:30] <rayh> Wasn't ken going to read an ini variable that would enable his stuff?
[20:44:43] <etla> SWP: I've been dreaming of a card that would do both the postion PID loop and commutation for AC servos.
[20:44:56] <etla> would need only external power amp stage
[20:45:03] <SWPadnos> 6-axis (stepper or geckodrive, with encoder feedback) interpolation, lookahead, constant velocity contouring, 4xanalog ins and outs, 16x digital ins and outs
[20:45:21] <SWPadnos> step and dir, I meant to say
[20:45:37] <SWPadnos> USB or ethernet interface
[20:45:44] <etla> I don't think I want any more of step/dir. I've seen that on two machines already.
[20:45:56] <etla> PWM+dir for servo amps would be good.
[20:45:57] <SWPadnos> heh - the Geckos seem pretty good, but I hear you
[20:46:24] <SWPadnos> it's an FPGA, so you can have whatever you like (reprogrammable via USB, ethernet, or a programming cable)
[20:46:28] <lerman> Ken is considering adding an ini variable -- but after RUMs general change with a whole bunch of ini variables.
[20:47:03] <etla> yeah. so are the mesa electronics cards... but I'm not sure if I want to go into FPGA programming...
[20:47:05] <SWPadnos> what purpose would an ini var serve?
[20:47:21] <SWPadnos> heh - that's what people like me are for :)
[20:47:48] <lerman> Regarding errors: look at the file emc_log (I think it now gets put in configs) to see what's happening in the interpreter.
[20:47:57] <etla> SWP: have you got experience with the mesa card ?
[20:48:05] <etla> or g-rex ?
[20:48:19] <SWPadnos> I have both, but sadly, not any real experience
[20:48:24] <etla> and how many general purpose I/O lines does the g-rex have ?
[20:48:33] <rayh> I've used the mesa
[20:48:43] <SWPadnos> 16 in, 16 out, plus the 6 limit inputs
[20:48:48] <rayh> Running s Sherline with Pittman motors.
[20:48:59] <lerman> The reason for an ini var is that some (inherently evil :-) ) people want the interpreter to work the way it has always worked. (We used to call them 'conservative'.)
[20:49:12] <SWPadnos> oh - crusty old farts? ;)
[20:49:22] <alex_joni> lerman: is it bad to keep compatibility?
[20:49:31] <alex_joni> look at the 386 stuff ;)
[20:49:32] <rayh> I resemble that remark.
[20:49:39] <SWPadnos> heh - I said nothing :)
[20:49:44] <rayh> What's the var that I need to add.
[20:49:52] <alex_joni> rayh: SWPadnos was refering to himself
[20:49:57] <etla> hmmm... so would the g-rex be reconfigurable for driving AC servos with sinusoidal commutation using three pwm's per motor ?
[20:49:59] <SWPadnos> is there a switch that allows the interpreter to act old and dumb?
[20:50:12] <SWPadnos> alex_joni, yeah -just leave out the "old" part ;)
[20:50:17] <alex_joni> etla: sure, as long as you do it..
[20:50:18] <SWPadnos> (eeewww)
[20:50:22] <lerman> Not necessarily bad. You don't need to add a var. I have not implemented that, yet. No, there is no switch yet.
[20:50:29] <alex_joni> etla: the g-rex is kinda.. yound
[20:50:31] <alex_joni> etla: the g-rex is kinda.. young
[20:50:53] <rayh> So the error I"m getting is cause of something internal.
[20:51:08] <SWPadnos> I'm sure Mariss will be happy that his website is down (again) while he's in Hawai'i
[20:51:10] <alex_joni> lerman: your chages do have some common sense
[20:51:29] <alex_joni> but the stuff changed by RUM just changes a lot
[20:51:31] <lerman> Look at emc_log. The last line in it will tell what the last thing it saw was.
[20:51:32] <rayh> Mesa could do that many pwm's out but we'd have to get Pete there to write the code.
[20:51:33] <etla> a_j: ok... well if you guys can convince me that emc is getting better by the minute and the mesa card gives a good enough servo update rate with emc then I'll probably choose the mesa
[20:51:41] <alex_joni> to suit his own needs / feelings
[20:51:59] <etla> rayh: yes, have been talking to Pete W, wery friendly and quick replies.
[20:52:01] <alex_joni> etla: I'm not saying that the mesa is better than the g-rex
[20:52:05] <SWPadnos> the trouble with the mesa card is the interface - it's basically direct FPGA pins on those headers
[20:52:09] <alex_joni> etla: well actually I am ;)
[20:52:15] <SWPadnos> the G-Rex has buffering
[20:52:24] <alex_joni> etla: the trouble with the g-rex is that it's pretty alpha, imho
[20:52:34] <SWPadnos> not any more (as of about a week ago)
[20:52:41] <alex_joni> etla: although work on it started a few years ago... it has mutated a lot
[20:52:41] <SWPadnos> but there's still the USB communication problem
[20:52:54] <lerman> Yes, but some of RUMs stuff was harmless and useful. I'd like to have the semicolon comments back (I use them in my code), and the placing of some parameters in the .ini file instead of in the code makes sense.
[20:52:55] <alex_joni> etla: and the last version is only half a year old or so
[20:53:14] <alex_joni> lerman: see.. that's why you need to commit them one by one
[20:53:16] <SWPadnos> alex_joni, are you talking about the G-Rex or the mesa?
[20:53:19] <alex_joni> not as a bunch
[20:53:22] <alex_joni> SWPadnos: g-rex
[20:53:52] <alex_joni> * alex_joni sees double
[20:53:54] <SWPadnos> ah - there is an interpreter (not ready for the masses though) that allows you to send ASCII commands to it, and get full motion functionality from it
[20:54:33] <rayh_> 20051114-13:43:40.379 00(10832):interp_o_word.cc:99 -- Unknown oword number: 130
[20:54:56] <SWPadnos> read inputs, write outputs, do multi-axis coordinated moves (including separate coordinated moves on different sets of axes), etc
[20:55:28] <alex_joni> rayh: O_o
[20:55:36] <rayh_> alex_joni: Got my network working. Rayh is one happy old man.
[20:55:50] <alex_joni> glad you are ;) (happy that is..)
[20:56:02] <lerman> I don't disagree. But suppose he had done them one at a time. And then committed them one at a time. And then merged them one at a time. I suspect unmerging something from the middle of that would still be a mess. The issue is that you either need some form of concensus, or you need the change to be pretty much benign (like semicolon comments), or you have chaos. The recent Yabo Sucks...
[20:56:03] <lerman> ...episode is an example.
[20:56:17] <lerman> Sucks -> Suks.
[20:56:29] <SWPadnos> close enough :)
[20:56:56] <lerman> Sometimes my fingers say what I mean rather than what is proper.
[20:56:59] <SWPadnos> actually, CVS allows you to get diffs from any version to any version
[20:57:06] <alex_joni> lerman: it's not that difficult as it seems
[20:57:16] <alex_joni> lerman: with CVS you can pull out any version
[20:57:17] <SWPadnos> you can create patches to remove or add things to a specific version
[20:57:30] <alex_joni> then you might skip one revision, and apply the later diff to it
[20:57:31] <lerman> Sure, but getting the diffs isn't the same as merging them out.
[20:57:49] <alex_joni> lerman: you don't need to merge them out
[20:57:55] <SWPadnos> and it's much easier if you can ask for a patch to add change 1, 2, 3, and 6 (but not 5), rather than having to wade through a single large change for what you want
[20:57:56] <rayh_> crap. emc.log is owned by root.
[20:58:00] <alex_joni> do you know how CVS keeps it's files internally?
[20:58:12] <lerman> I DO agree though, that having separate commits is easier.
[20:58:14] <alex_joni> lerman: there is no current file.. it's the initial file + diff's
[20:58:44] <alex_joni> so when you check out the current version, it basicly diffs all the commits one after the other :D
[20:59:00] <SWPadnos> (or patches, as the case may be :) )
[20:59:29] <alex_joni> yeah. whatever..
[21:00:22] <lerman> Yes, I know. But there is a current virtual file. Getting it to skip one of the diffs isn't so easy, though. It requires a person to do a merge (or unmerge). If the diffs are isolated from each other (in different areas of the code), the tools can do that pretty much automatically. But if they overlap, it's a pita.
[21:01:10] <alex_joni> say you have revisions 10,11,12,13,14
[21:01:16] <alex_joni> and you want to take out the changes of 12
[21:01:32] <alex_joni> all you need to do is get out revision 11
[21:02:16] <alex_joni> then get the diff from 12-14
[21:02:17] <rayh_> I see that the programs file in the new interp points to configs rather than nc_files
[21:02:19] <alex_joni> and apply that to 11
[21:02:36] <alex_joni> rayh_: that might not be interp related..
[21:02:47] <alex_joni> think the branch was in the middle of me finishing something..
[21:03:26] <lerman> I hope it isn't interp related -- I didn't change anything in that area. (More precisely, didn't *purposely* change anything in that area).
[21:03:28] <alex_joni> lerman: I agree that it's not trivial, but a LOT easier than if it were only one BIG commit
[21:03:33] <SWPadnos> yep - I had to modify mini to get it to run, and both mini and tkemc complain when I run the editor
[21:03:36] <alex_joni> lerman: it's not..
[21:03:44] <lerman> Then we are in agreement.
[21:03:45] <alex_joni> SWPadnos: I hope not with the latest HEAD
[21:03:53] <SWPadnos> no - with lerman-interp
[21:04:07] <SWPadnos> HEAD is fine, unless I rename the directory ;)
[21:04:08] <alex_joni> lerman: if you worked a bit with CVS then it gets to be trivial ;)
[21:04:09] <alex_joni> or so I've heard
[21:04:21] <alex_joni> SWPadnos: you're gonna get smacked
[21:04:29] <SWPadnos> we should start using git
[21:04:38] <SWPadnos> * SWPadnos blocks
[21:04:38] <alex_joni> you should ;)
[21:05:42] <alex_joni> bleah.. git is like gut
[21:05:42] <alex_joni> :/
[21:05:43] <rayh_> Ran the if.ngc again. It does kick up the error message but doesn't show it in emc_log
[21:05:50] <etla> SWP: is all the g-rex code opensource ? where would I find it ?
[21:06:08] <alex_joni> etla: best to get a yahoo account
[21:06:15] <SWPadnos> Robin_sz made a sourceforge project some time ago
[21:06:21] <SWPadnos> G200x, I thikn
[21:06:22] <alex_joni> and join groups.yahoo.com/geckosmthg..
[21:06:23] <SWPadnos> think
[21:06:41] <SWPadnos> Mariss' stuff is open source (of a sort), but the FPGA code isn't.
[21:06:56] <alex_joni> lerman: I'll have to postpone the overview of code to tomorrow..
[21:07:02] <alex_joni> only slept 4h last night :(
[21:07:09] <SWPadnos> I've been bugging him (a little) to release the pin connections of the FPGA (to the rabbit and the I/O), but that hasn't been done yet, AFAIK
[21:07:16] <alex_joni> and it's 22:30 already
[21:08:27] <alex_joni> * alex_joni yawns
[21:10:06] <SWPadnos> here it is: http://sourceforge.net/projects/g200x
[21:10:33] <SWPadnos> there are more files on the Geckodrive Yahoo group
[21:10:48] <etla> do you know which parts are 'hard-coded' in the fpga ? (I guess you could throw out Mariss' code from the fpga also?)
[21:11:23] <SWPadnos> it's all hard-coded
[21:11:35] <SWPadnos> but you can change the coding, since it's loaded into the FPGA by the Rabbit
[21:11:50] <SWPadnos> the only thing you need is the pinout :)
[21:12:16] <SWPadnos> (and the Xilinx fpga tools, which are freely downloadable)
[21:13:22] <etla> so the outputs are not as earmarked as the pictures would let us know... they basically just all connect to the fpga ?
[21:13:53] <SWPadnos> the buffer circuitry is probably different, but otherwise, yes, it's totally up to you
[21:14:16] <SWPadnos> the step/dir outputs may not have the same ULN2803 buffers as the other outputs
[21:14:24] <etla> seems the latest version has only USB, not ethernet
[21:14:29] <SWPadnos> and the encoder inputs probably din't have all the transient protection
[21:14:36] <rayh_> We need to up all of the hal stuff in the lerman branch. No linkpp.
[21:14:52] <SWPadnos> you can get a different rabbit module - the 3720 or 3750 (for 10/100)
[21:15:05] <SWPadnos> the 3720 is 10base-T only
[21:15:32] <etla> so it's not Mariss' design at all ?
[21:16:12] <SWPadnos> there is a separate processor module, which you get from Rabbit Semiconductor right now
[21:16:31] <SWPadnos> presumably, people who sell this with software will povide their own programmed micro
[21:16:47] <SWPadnos> and I may make an ARM-based one, just for the heck of it (which could probably run Linux)
[21:16:58] <etla> oh hell... right now emc+mesa+DIY servodrive seems the most realistic
[21:17:18] <SWPadnos> it is right now, but remember the outboard buffering / protection
[21:17:42] <etla> what do you mean ?
[21:18:00] <SWPadnos> static can fry the mesa card - there's no protection
[21:18:14] <SWPadnos> also, you can't connect a 24V switch to the inputs
[21:18:19] <SWPadnos> you can with the G-Rex
[21:18:31] <etla> so need to build an optoislotator card myself also
[21:18:50] <SWPadnos> yes, and a current driver card for the outputs (the G-Rex can drive 100 mA per output)
[21:18:57] <SWPadnos> or was that 200mA
[21:19:02] <etla> and, I was worried about the servo update rate with emc, but apparently people are doing 10kHz which is ok ?
[21:19:20] <SWPadnos> only with somewhat smart hardware, I'd imagine
[21:19:23] <rayh_> Oh wait. Mesa makes a breakout for analog servos that is protected.
[21:19:39] <rayh_> they also make a 16 in 8 out 24 volt interface card.
[21:19:46] <SWPadnos> yes, and they have the motion programs available as well
[21:20:26] <etla> well, from looking at the mesa softdmc, it will not do advanced stuff like lookahead etc.
[21:20:36] <SWPadnos> but you definitely get into some cost and complexity when adding 3 or 4 cards together, plus programming the FPGA
[21:20:44] <etla> so would still operate in hostmot mode with emc doing the traj planning
[21:20:44] <rayh_> It isn't an interpreter...
[21:20:50] <SWPadnos> you also get a PCI interface, instead of USB, which is a good thing
[21:21:56] <etla> unless you want to do it all from a laptop...
[21:22:06] <SWPadnos> true
[21:22:20] <etla> well, emc+mesa in hostmot mode+ homemade drive seems to be my current option
[21:22:28] <SWPadnos> Mesa's servo interface looks nice, actually - $69 (the 7I33)
[21:22:59] <etla> I have the 400W 100VAC sanyo denki surpluscenter motors. I don't think it will drive them...
[21:23:30] <SWPadnos> no - they have 100-watt drivers, but not 400W. also, those motors are BLDC, right?
[21:23:49] <etla> BL, AC. sinusoidal commutation
[21:23:55] <SWPadnos> even worse :)
[21:24:11] <SWPadnos> so you need 3 H-bridges per motor, I think
[21:24:38] <etla> but with a separate motion controller and servodrive it's kind of stupid because the encoder is read twice. by the drive for commutation and then by the mc for positioning
[21:24:57] <etla> yes, 3 H-bridges. the easy solution is international rectifiers IRAMS components.
[21:25:22] <SWPadnos> well - you're looking at a miniimum of $340 for the 3 boards you need - the 5I20, plus the 7I33 servo board (probably), plus the I/O buffer board (7I37)
[21:25:25] <etla> it would be elegant to combine drive+motioncontroller but looks like it's a lot of work...
[21:25:36] <rayh_> mesa does have a 2 axis 400 watt pwm drive.
[21:25:52] <SWPadnos> a lot of work or a lot of money - take your pick :)
[21:26:14] <SWPadnos> 2 channel, not 2 axis (in this application, it matters)
[21:26:38] <etla> I don't need the 7I33, torque command would be by pwm directly from the 5I20
[21:27:12] <etla> and the isolators can be only ttl level. DIY that also.
[21:27:28] <SWPadnos> $70 or hours + parts ...
[21:28:08] <SWPadnos> the 7I37 goes to 24V inputs, and 48V on the outputs
[21:28:25] <SWPadnos> though it's a sinking output, I thikn
[21:28:27] <etla> yeah, the isolator might be worth it.
[21:28:43] <SWPadnos> ah - they say it's configurable
[21:28:46] <etla> need three of those for all the outputs on the 5i20 ?
[21:29:07] <SWPadnos> I think so, but it's unlikely that you'd need all the outputs :)
[21:29:31] <etla> yep.
[21:30:06] <rayh_> If you use the first connector for motion you just need 2 of the 7I37
[21:30:26] <rayh_> That would yield 4 axes motion and 48 IO.
[21:30:31] <SWPadnos> true - it's "only" got 8 outputs
[21:30:56] <rayh_> per 7I37
[21:31:01] <SWPadnos> right
[21:31:22] <SWPadnos> step + PWM x 4 plus no aux I/O on one card
[21:31:30] <SWPadnos> dir + PWM, I mean
[21:31:42] <rayh_> with hostmot as incarnated on emc at sf you can add encoders to the second connection
[21:31:50] <rayh_> for spindle speed and handwheel
[21:32:03] <etla> yes, thats definitely on the to-do !
[21:32:18] <etla> and you mean emc2 ?
[21:32:26] <rayh_> Yes. Sorry.\
[21:33:04] <rayh_> I developed a BDI version here but...
[21:33:24] <SWPadnos> hm - I just noticed a BDI 4.37 on my site
[21:33:26] <etla> was the servo update rate ever a problem ?
[21:33:52] <rayh_> Not with a Sherline...
[21:34:18] <etla> say I want to do 200ipm machining...
[21:34:23] <alex_joni> SWPadnos: what site is yours?
[21:34:26] <alex_joni> remind me..
[21:34:41] <SWPadnos> cncgear - you won't see it on the web
[21:34:50] <alex_joni> ahh.. ok
[21:34:55] <alex_joni> what does the Changelog say?
[21:34:57] <SWPadnos> I was looking at stats, and saw that the BDI dir is 1.8G
[21:35:03] <SWPadnos> hold on a sec
[21:36:19] <SWPadnos> 4.36 Some more bug fixes to mini..
[21:36:20] <SWPadnos> Update firstboot script.
[21:36:23] <SWPadnos> 4.34 Bug fixes to mini..
[21:36:24] <SWPadnos> 4.33 New editor added to the mini GUI.
[21:36:25] <SWPadnos> Secondary mirror for EMC packages.
[21:36:27] <SWPadnos> Additional debian-security packages
[21:36:28] <SWPadnos> incorporated.
[21:36:32] <SWPadnos> that's since 4.30
[21:37:18] <cradek> k
[21:37:29] <etla> speaking of servodrives - would it be appropriate to use wiki.linuxcnc.org for files/schematics/info about an opensource servodrive ?
[21:37:46] <SWPadnos> I don't mind :)
[21:38:09] <SWPadnos> but some others might (those involved with EMC who sell servodrives, for instance)
[21:38:28] <etla> I wouldn't sell anything. just give out info for free.
[21:38:48] <SWPadnos> right, but those who sell wouldn't :)
[21:39:21] <etla> ok, let's see how far I get first. need to have the motors spinning before publishing anything
[21:39:28] <SWPadnos> I just thought I'd bring it up - it may not be an issue
[21:41:24] <etla> need to sleep now. later.
[21:41:38] <SWPadnos> see ya
[21:42:46] <rayh_> is the linkpp stuff all in hal.h
[21:43:16] <alex_joni> rayh_: halcmd only
[21:43:30] <alex_joni> it's not hal-related, but halcmd (the utility to modify HAL) related
[21:43:47] <rayh_> I'm looking at all the changed files between lerman and the head.
[21:43:47] <SWPadnos> gah - just saw an article about a 27kW solid state laser O_o
[21:43:51] <alex_joni> rayh_: you need to not mind that linkpp isn't there
[21:44:03] <alex_joni> use cvs diff for that..
[21:44:05] <rayh_> Ah but I do.
[21:44:19] <rayh_> I did a comparison on my local copies.
[21:44:19] <alex_joni> diff to branchpoint
[21:44:26] <alex_joni> not to current HEAD
[21:44:48] <rayh_> What I'm trying to do is run it here with the new interpreter.
[21:44:57] <rayh_> I guess that's mistake.
[21:45:08] <alex_joni> you can run with the new interp..
[21:45:11] <rayh_> cause there ain't no way it's going to do that.
[21:45:29] <alex_joni> but don't expect the latest functionality (like linkpp and the new estop, as that has been added after that)
[21:45:46] <rayh_> And that is exactly what I need to match my hardware.
[21:46:00] <SWPadnos> you *should* be able to copy the files from the newer utils dir, and make again to get those functions
[21:46:01] <alex_joni> well not for testing I hope..
[21:46:18] <SWPadnos> no - to make the nmachine move with the new interp
[21:46:27] <rayh_> I really don't want to shift all those little jumpers around so
[21:46:42] <rayh_> screw the testing?
[21:46:47] <alex_joni> rayh_: my advise.. try it out (sim only, no actuall running)
[21:46:55] <alex_joni> if you want to test
[21:46:59] <alex_joni> I'll do likewise
[21:47:10] <alex_joni> but only tomorrow .. I'm too tired now, going to bed :(
[21:47:12] <SWPadnos> cp src/hal/utils/ hal/utils && make
[21:47:15] <rayh_> I've already found a failure in the interpreter.
[21:47:20] <alex_joni> what's that?
[21:47:27] <SWPadnos> sorry cp old/src/hal/utils/ new/src/hal/utils && make
[21:47:33] <rayh_> It can't read any of the files that ken put up for it.
[21:48:08] <rayh_> raises an error message.
[21:49:42] <rayh_> "Bug unknown operation.
[21:50:49] <rayh_> the last line of the emc_log file says,
[21:51:00] <rayh_> 20051114-15:10:53.851 00(13078):interp_read.cc:1425 -- In: read_o line:130 |o130while[#100lt5.0]|
[21:52:21] <SWPadnos> I can't even load a file in mini
[21:52:47] <alex_joni> SWPadnos: that mini is busted :(
[21:52:49] <alex_joni> get the latest one, and copy it over
[21:52:59] <alex_joni> only a couple of lines changed..
[21:53:03] <SWPadnos> ok - I'll try with tkemc first
[21:53:15] <SWPadnos> I fixed some stuff, so it actually runs
[21:53:42] <SWPadnos> I get similar errors if I try to run the ediror in tkemc as well
[21:53:43] <Jymmm> Jymmm is now known as Red70sShow
[21:53:44] <Red70sShow> Red70sShow is now known as Jymmm
[21:55:21] <rayh_> I'd fix the tickle stuff if I knew what we were using for location names.
[21:56:51] <SWPadnos> eun emc -v, and look at all the "setting $EMC_whatever" lines at the top of the output (that's what I did :) )
[21:56:53] <SWPadnos> run
[21:56:59] <alex_joni> rayh: it's fixed, but at a later stage then when the branch happened
[21:57:39] <alex_joni> you need #!/bin/sh
[21:57:39] <alex_joni> # the next line restarts using emcsh \
[21:57:39] <alex_joni> export EMC2_TCL_DIR
[21:57:39] <alex_joni> # the next line restarts using emcsh \
[21:57:39] <alex_joni> exec $EMC2_EMCSH "$0" "$@"
[21:57:45] <alex_joni> at the beginning of mini.tcl
[21:58:08] <alex_joni> then we have:
[21:58:09] <alex_joni> if ([info exists env(EMC2_TCL_DIR)]) {
[21:58:09] <alex_joni> set emc2tcldir $env(EMC2_TCL_DIR)
[21:58:09] <alex_joni> }
[21:58:28] <alex_joni> and further stuff that gets sourced or run should default from $emc2tcldir
[21:58:44] <alex_joni> so scripts in $emc2tcldir/scripts and bin in $emc2tcldir/bin
[21:59:29] <alex_joni> one example: in the editor portion:
[21:59:34] <SWPadnos> hmm - running emc -v, I get this output:
[21:59:39] <alex_joni> # adds a script menu that looks for *.ncw files and adds their filename to script menu
[21:59:39] <alex_joni> #set scriptdir [file join [pwd] tcl scripts ]
[21:59:39] <alex_joni> set scriptdir $emc2tcldir/scripts
[21:59:39] <alex_joni> set files [exec /bin/ls $scriptdir]
[21:59:39] <alex_joni> foreach file $files {
[21:59:39] <alex_joni> if {[string match *.ncw $file]} {
[21:59:41] <alex_joni> set editfname [file rootname $file]
[21:59:43] <alex_joni> $scriptsmenu add command -label $editfname -command "source $scriptdir/$file"
[21:59:45] <alex_joni> }
[21:59:47] <alex_joni> }
[21:59:53] <SWPadnos> emctask.cc 270: interp_error: Bug unknown operation
[21:59:54] <SWPadnos> Bug unknown operation
[21:59:56] <SWPadnos> Interpreter stack: - execute_binary2 - execute_binary - read_real_expression - read_o - read_items
[21:59:58] <SWPadnos> emcTaskPlanRead() returned 38
[21:59:59] <SWPadnos> emcTaskPlanClose() called at emctaskmain.cc:1160
[22:00:00] <SWPadnos> Outgoing motion id is 12.
[22:00:09] <alex_joni> oopsy..
[22:00:16] <alex_joni> so much for unneeded testing ;)
[22:00:18] <SWPadnos> it's on the first "o" line
[22:00:20] <SWPadnos> heh
[22:00:47] <rayh> A while back BDI created a ~gcode dir for the program files.
[22:01:00] <alex_joni> now it's called nc_files
[22:01:23] <alex_joni> but it's actually a ini-var describing that, although I find that stupid..
[22:01:25] <rayh> but with the install it will be placed in the home directory
[22:01:38] <alex_joni> rayh: on stock BDI..
[22:01:54] <alex_joni> I installed it to /usr/local/share/emc/nc_files
[22:02:14] <alex_joni> it's more LFS compliant like that
[22:02:28] <rayh> We put it in the home directory so that access would be natural and the user could see in from home.
[22:02:34] <alex_joni> right
[22:02:43] <alex_joni> * alex_joni still is thinking about that
[22:03:07] <alex_joni> so on make install.. you copy the data to all users dir?
[22:03:19] <rayh> This compliance crap for something like emc just makes me sahke my head.
[22:03:23] <alex_joni> or only allow them to have an own ~/nc_files dir?
[22:03:24] <rayh> shake
[22:03:59] <alex_joni> rayh: bear in mind bigger goals..
[22:04:08] <alex_joni> like producing rpm's and deb's
[22:04:09] <rayh> I'm with Bob and Websys. "Just say NO."
[22:04:26] <alex_joni> and maybe get them included on stock distro's
[22:04:29] <rayh> and he's got debs.
[22:04:35] <alex_joni> that would hugely broaden the user base
[22:04:49] <alex_joni> so do I, but I'm not sure I want to distribute them yet..
[22:05:26] <rayh> I know that feeling.
[22:05:40] <alex_joni> lets finish emc2 a bit..
[22:05:54] <alex_joni> so that there are not so many earthshaking changes..
[22:06:07] <alex_joni> lately there have been quite a few..
[22:06:26] <alex_joni> so any deb has the chance to be somewhere in the middle of something, which is very bad
[22:10:30] <rayh_> Righto
[22:11:28] <rayh_> Well I guess I've gone about as far testing the new interpreter as I can.
[22:11:43] <rayh_> will wait for you guys.
[22:12:17] <alex_joni> rayh: still around?
[22:12:23] <alex_joni> only the evil twin is gone?
[22:22:19] <rayh> Gotta get away for a while, guys. It's been fun as always.
[22:32:19] <tbl> dies paul_c ever come into chat anymore?
[22:32:34] <SWPadnos> it seems pretty rare these days
[22:37:07] <robydeb> digilander.libero.it/informatico2003
[22:37:26] <tbl> SWPadnos, how about matt?
[22:37:32] <SWPadnos> mshaver?
[22:37:51] <SWPadnos> he's often around for the Sunday dev meetings, but I haven't seen him too much otherwise
[22:38:05] <SWPadnos> (not that I've been around all that much lately, either)
[22:38:12] <robydeb> the site of wi-fi and mist
[22:40:40] <SWPadnos> that was blessedly short :)
[22:45:59] <lerman> SWPadnosemctask.cc 270: interp_error: Bug unknown operation
[22:46:01] <lerman> SWPadnosBug unknown operation
[22:46:02] <lerman> SWPadnosInterpreter stack: - execute_binary2 - execute_binary - read_real_expression - read_o - read_items
[22:46:04] <lerman> SWPadnosemcTaskPlanRead() returned 38
[22:46:05] <lerman> SWPadnosemcTaskPlanClose() called at emctaskmain.cc:1160
[22:46:07] <lerman> SWPadnosOutgoing motion id is 12.
[22:46:08] <lerman> alex_jonioopsy..
[22:46:10] <lerman> alex_joniso much for unneeded testing ;)
[22:46:11] <lerman> SWPadnosit's on the first "o" line
[22:46:13] <lerman> What is on the first "o" line? What file are you running? Could you show me the end of emc_log? (I think it got put into configs).
[22:46:36] <SWPadnos> hmmm - I logged out, but the emc log was the same as Ray's
[22:46:54] <SWPadnos> it ws the first test file (alphabetically)
[22:47:22] <SWPadnos> test_if, I think
[22:47:38] <SWPadnos> it failed on line 12, after all the variable setting
[22:48:18] <SWPadnos> emc log line, from Ray:
[22:48:20] <SWPadnos> 20051114-15:10:53.851 00(13078):interp_read.cc:1425 -- In: read_o line:130 |o130while[#100lt5.0]|
[22:49:22] <SWPadnos> yep - it's interp_test_if.ngc, line 12 "o1 if [1 eq 0]"
[23:09:45] <CIA-5> 03lerman 07lerman-interp * 10emc2/src/emc/rs274ngc/ (interp_execute.cc interp_internal.hh): Add missing relational operators.
[23:13:34] <lerman> OK. Those of you who were watching me when I 'ported' this to EMC might remember that I accidently lost the whole thing except for what I happened to have in emacs buffers. Well, when I rebuilt this, I left out the relational operators. I did not run my old test programs, because, frankly, I had forgotten I had them. I've commited the change that adds those back to the interpreter, but have...
[23:13:36] <lerman> ...not yet tested them. I've go to head out to a class, but will probably test this stuff tomorrow. If anyone is anxious to try this, feel free to rebuild and run the tests. Sorry about that.
[23:14:04] <SWPadnos> I just rebuilt - I'll let you know in 1 minute if it fixed the problem
[23:14:25] <SWPadnos> yep - fixed so far. thanks
[23:14:42] <lerman> *NO* -- thank you.
[23:15:29] <SWPadnos> I'll have to change the soft limits, but it seems to work OK now (it gets past the o line, at any rate)
[23:26:38] <les_w> hi all
[23:26:49] <SWPadnos> hi Les
[23:27:03] <les_w> was looking at the manual for those "anything" fpga boards
[23:27:11] <SWPadnos> cool stuff, huh?
[23:27:16] <les_w> not bad at all
[23:27:34] <SWPadnos> $200 for a PCI FPGA board is a great price, even if it doesn't have any protection
[23:28:20] <les_w> Port rs-274.ngc and some other logic and youwould have a killer product there
[23:28:38] <les_w> rs274ngc.c I mean
[23:29:01] <SWPadnos> who needs to port the interpreter? Just use the FPGA for the low level motion control
[23:29:04] <les_w> or even run it on a host
[23:29:11] <les_w> haha
[23:29:13] <les_w> yeah
[23:29:17] <SWPadnos> yes - the PCI is the important part there
[23:29:31] <SWPadnos> imagine Jon Elson's board without the parallel port problems
[23:29:32] <les_w> the thing is plenty fast
[23:29:48] <SWPadnos> single read / write for 32-bit position / velocity registers
[23:30:07] <les_w> it would be a great project
[23:30:29] <SWPadnos> a full I/O update becomes roughly 32 (say) word transfers over PCI, whoich might actually run at 33 MHz
[23:30:39] <SWPadnos> an update in a microsecond - how does that sound? :)
[23:31:01] <les_w> I know a lot of this is hobby stuff...but why not make the hobby activities result in a really viable product?
[23:31:05] <SWPadnos> (neglecting transaction setup times)
[23:31:15] <SWPadnos> I agree -that's part of why I bought one :)
[23:31:21] <les_w> it would be neat
[23:33:02] <SWPadnos> yes (sorry - phone calls)
[23:33:21] <les_w> yeah...I have to go cook dinner in a minute
[23:33:34] <SWPadnos> unfortunately, you either get fast communications and no I/O protection (mesa)
[23:33:44] <SWPadnos> or you get good protection, and useless comms (G-Rex)
[23:33:55] <les_w> hmm
[23:34:00] <SWPadnos> sorry - useless should have read USB ;)
[23:34:17] <les_w> yeah
[23:34:19] <les_w> too slow
[23:34:42] <SWPadnos> I've considered laying out my own PCI FPGA card, with the isolation and stuff integrated
[23:34:56] <SWPadnos> too much latency, plenty of bandwidth
[23:34:59] <SWPadnos> USB)
[23:35:03] <les_w> right
[23:35:13] <SWPadnos> like modern PCs in general
[23:35:21] <les_w> yup
[23:35:33] <SWPadnos> ah well - one thing at a time
[23:35:44] <SWPadnos> time to continue cleaning the other desk, so I can use my new computer
[23:36:05] <les_w> just remember...the lowest cost modern pc based machine control out there right now is thousands
[23:36:38] <SWPadnos> well - a $600 PC and a $200 FPGA card (plus one or two $70 isolation cards) can go a long way toward fixing that
[23:36:49] <les_w> exactly
[23:36:53] <SWPadnos> and $600 is a pretty good PC these days
[23:37:00] <SWPadnos> (LCD screen and all)
[23:37:02] <les_w> way good
[23:37:37] <les_w> a cheap dell box or something would be good enough
[23:37:49] <SWPadnos> * SWPadnos dislikes Dell
[23:37:59] <SWPadnos> Intel + Windows only, for the most part
[23:38:20] <SWPadnos> you can get a 15" LCD screen that has a mini-ITX case on the back side for $650 or so (touchscreen)
[23:38:21] <les_w> If you sold such a machine control for $2k the world would come to your door!
[23:38:40] <SWPadnos> $1k for the whoile thing, I'd bet
[23:39:02] <SWPadnos> of course, mini-ITX has slot issues, I think :)
[23:39:07] <les_w> um...don't you want to make money? ;0
[23:39:15] <SWPadnos> love to - I was talking cost :)
[23:39:21] <les_w> heh
[23:39:23] <les_w> ok.
[23:39:57] <SWPadnos> I suppose I shouldn't do that in logged IRC though ;)
[23:40:01] <les_w> well off to cook....bbiaw
[23:40:05] <SWPadnos> see ya
[23:53:11] <Jymmm> s/cook/char/