Back
[00:03:09] <CIA-8> 03fjungclaus 07TRUNK * 10emc2/src/po/de_axis.po:
[00:03:09] <CIA-8> Some adjustments + adaptions according to the changes Florians did for
[00:03:09] <CIA-8> de_axis v2_1_branch
[00:18:55] <CIA-8> 03fjungclaus 07TRUNK * 10emc2/src/po/de_axis.po: Typo fix + added some missing translations
[00:34:59] <CIA-8> 03fjungclaus 07TRUNK * 10emc2/src/po/de_axis.po: Typo fix + shortning some texts for e.g. better fitting into button, ...
[01:04:50] <Jymmmm> Anyone have any ideas on how to reverse engineer the pinout of a keyboard/mouse combo? I have eight wires that would connect to a ps/2 mouse and kybd ports.
[01:05:29] <SWPadnos> I'd look up the PS/2 pinout, and assume that the extra two wires are clock and data for the mouse (with shared power and ground)
[01:06:03] <SWPadnos> http://www.bbdsoft.com/keyboard.html
[01:06:05] <Jymmmm> SWPadnos: I checked continuity between all the pins, no common (not even GND or VCC)
[01:06:25] <SWPadnos> actually, you don't need 8 wires - 2 are unused
[01:06:50] <SWPadnos> you wouldn't get continuity between the 8 wires, only if you measure between the 6-pin connectors
[01:06:55] <Jymmmm> SWPadnos VCC,GND,CLK,DATA = 4 * 2 (1 kybd, 1 mouse) = 8 wires
[01:07:05] <SWPadnos> ie, pin 3 of each connector shuold be connected together
[01:07:12] <SWPadnos> yep - that could certainly be the case
[01:07:17] <Jymmmm> SWPadnos it's not
[01:07:28] <Jymmmm> there are ZERO common wires.
[01:07:35] <SWPadnos> ok. do you have 8 wires, or two 6-pin connectors?
[01:07:42] <Jymmmm> 8 wires
[01:07:52] <Jymmmm> let me back up a bit...
[01:08:14] <owhite> Ohttp://pastebin.ca/348256
[01:08:17] <SWPadnos> was this meant to be something installed in a kiosk or something (plugging into a header instead of DIN connectors)
[01:08:24] <owhite> erp. sorry.
[01:08:38] <Jymmmm> SWPadnos correct. It actually plugged into a header on a mobo that I no longer have.
[01:08:42] <owhite> I'm trying to get a hal file work, with pyvcp. could anyone help?
http://pastebin.ca/348256
[01:08:44] <SWPadnos> ok
[01:09:05] <SWPadnos> are any of the wires red or black?
[01:09:15] <Jymmmm> SWPadnos 8 black wires
[01:09:19] <SWPadnos> heh
[01:09:22] <SWPadnos> that doesn't help :)
[01:10:38] <Jymmmm> SWPadnos Yeah, I know. None of the wires are even common with the board gnd either.
[01:10:53] <SWPadnos> owhite, that file has some things that seem weird to me - what actually happens when you run it?
[01:11:21] <owhite> SWPadnos: It is launched with halrun <filename>
[01:11:26] <SWPadnos> Jymmmm, can you remember the brand or type of the mobo?
[01:11:52] <Jymmmm> SWPadnos: I don't have a scope, so that doens't help either. But I could power up the board and try to see if there's CLK on two of the pins if I had a way to read it.
[01:11:53] <SWPadnos> owhite, that's nice. I'm on my windows machine right now - so what happens? :)
[01:11:59] <owhite> and what I'm trying to do is have a radio button (chbutton) drive something on the parallel
[01:12:02] <Jymmmm> SWPadnos no, i don't remember
[01:12:20] <owhite> it runs. but the radio button doesnt drive the parallel pin.
[01:12:21] <Jymmmm> SWPadnos when I moved, i tossed all the manuals etc
[01:12:23] <SWPadnos> Jymmmm, how about the manufacturer of the kbd/mouse combo?
[01:12:56] <SWPadnos> owhite, are you checking that with a scope/meter, or using halcmd to check the signal state?
[01:13:05] <Jymmmm> SWPadnos: This division is out of business. I know cause I used to work for them =)
[01:13:06] <SWPadnos> and I mean a real scope or meter, not halscope/halmeter
[01:13:23] <SWPadnos> Jymmmm, just thinking of ways of getting google search terms :)
[01:13:27] <owhite> *wince* well, I'm not too swift with halcmd, and never have used scope/meter.
[01:13:42] <Jymmmm> SWPadnos NOthing will be on google, propritary hw here.
[01:13:50] <SWPadnos> I'm asking you how you know the parallel port pin isn't being changed
[01:14:01] <SWPadnos> Jymmmm, ah - then you're screwed :)
[01:14:19] <SWPadnos> maybe you can bring it to ESC and use a nice Agilent or Tek scope :)
[01:14:28] <SWPadnos> (but that's not until April 1)
[01:14:29] <Jymmmm> SWPadnos: It can't be THAT hard... it's just rev eng a kybd/mouse... I just dont want to blow the thing up is all.
[01:14:41] <owhite> oh, last nightjmkasunich showed me how to drive the parallel pin, I have a relay board connected to it.
[01:15:03] <owhite> he showed me using halcmds that get launched after the window starts up.
[01:15:10] <Jymmmm> SWPadnos can I see the clk with a resistor and a LED ?
[01:15:14] <SWPadnos> owhite, ok, so you know that if you do something like "setp parport.0.pin-03-out true", it works ...
[01:15:26] <owhite> yes.
[01:15:39] <owhite> let me put something into pastebin....
[01:15:44] <SWPadnos> and the relay doesn't turn on when you hold the button?
[01:16:12] <SWPadnos> yeah - I'd like to see the pyvcp_demo.xml file as well
[01:16:29] <SWPadnos> Jymmmm, I'm not sure you could see clk with an LED - the flicker would be very fast
[01:16:46] <SWPadnos> can you take apart the keyboard?
[01:17:26] <SWPadnos> I'll bet that the pin pattern is repeated for the two devices, so if you can figure out one half of the connector, you'll probably have the second half figured out as well
[01:17:40] <owhite> http://pastebin.ca/348273
[01:18:12] <SWPadnos> can you paste the .xml file as well?
[01:18:23] <owhite> that was the set of commands I ran, using halcmd as an interpretter, and it worked. so I tried to put them into a .hal file, and its giving me trouble.
[01:18:32] <owhite> yeah. hang on...
[01:18:41] <SWPadnos> you missed the start comand
[01:18:57] <SWPadnos> so write never gets called
[01:19:26] <owhite> its okay to put start into the .hal file? I didnt see any other examples of that in configs/*/*hal files.
[01:19:51] <SWPadnos> http://pastebin.ca/348277
[01:20:25] <SWPadnos> oops - take out the second reference to pyvcp.chbutton-sample
[01:20:51] <SWPadnos> http://pastebin.ca/348280
[01:21:46] <owhite> cutting and pasting...
[01:22:21] <SWPadnos> yes - it's OK to put "start" in a .hal file. the examples probably don't need to because they run with emc, which starts threads for you
[01:23:05] <owhite> got it. I tried it a couple times for that reason...but hey.
[01:23:21] <SWPadnos> you can also use what you had, but just type "start" at the halcmd prompt
[01:23:25] <owhite> hey you did it! straight out of the box.
[01:23:58] <SWPadnos> cooo
[01:24:00] <SWPadnos> cool
[01:24:04] <owhite> now, when I _do_ combine it with launching something like tkemc.tcl, I would join it with base-thread?
[01:24:13] <owhite> ...as in most of the examples in config/
[01:24:37] <SWPadnos> well, the parport.write will already be somewhere (probably in the base thread)
[01:24:46] <SWPadnos> and pyvcp doesn't need to be "started"
[01:25:13] <owhite> right. I mean I wouldnt use....
[01:25:18] <SWPadnos> wait a sec - do you mean "along with EMC", or "along with something like tkemc" ...?
[01:25:19] <owhite> loadrt threads name1=foo period1=1000000
[01:25:24] <owhite> addf parport.0.write foo -1
[01:25:44] <owhite> it would probably be more like the other existing examples which do not use that...
[01:26:33] <SWPadnos> right. all you would need would be the loadusr pyvcp ... and the net bit1 ... lines
[01:26:58] <SWPadnos> threads, hal_parport, start, and the halcmd (and echo) aren't needed
[01:27:23] <owhite> okay. well this is great. I can start marking up my little .xml file with radio buttons and stuff, and then ask for help again :-) but I think i get the idea.
[01:27:32] <owhite> this stuff is just so darn great.
[01:27:42] <SWPadnos> heh - yep
[01:28:13] <owhite> tomp -- you reading this? I saw you mentioned there is an image widget now.
[01:28:45] <owhite> that seemed like fun -- I'm looking for an example .xml file.
[01:28:59] <tomp> i got one, but it's not 'standard issue ' pyvcp_widgets, want the code, just paste it in
[01:29:09] <Jymmmm> SWPadnos: The header on the board connect to a PIC16C (something)
[01:29:51] <owhite> tomp: no problem for now. I'm gonna mark up some xml and I can ask about it later.
[01:29:54] <Twingy> G83 X0 Y0.5 Z-1 F10 R0.25 Q0.100 P250
[01:29:58] <Twingy> ^-- valid EMC code?
[01:30:05] <tomp> k
[01:35:53] <Twingy> ?
[01:37:52] <SWPLinux> Twingy: looking at the manual, I don't see a P word for G83
[01:38:15] <Twingy> P is for dwell
[01:38:22] <Twingy> in turbocnc
[01:38:54] <SWPLinux> it's there in G82, but not G83
[01:39:02] <Twingy> hrm
[01:39:12] <Twingy> so no dwell in pecking?
[01:39:18] <SWPLinux> do you have the RS274NGC manual?
[01:39:46] <Twingy> yes
[01:40:27] <Twingy> no biggie
[01:41:09] <SWPLinux> I'd bet that if you added G4Pxx, it would do the entire peck cycle, then pause :)
[01:42:03] <SWPLinux> ok. time to play some games. see you later
[01:43:12] <tomp> owhite: code fragment & xml
http://pastebin.ca/348296 gifs for example xml
http://imagebin.org/7224 http://imagebin.org/7223 whole panel snapshot
http://imagebin.org/7209
[02:14:36] <ejholmgren_> ,mmmmmmmmmc=]
[02:14:46] <ejholmgren_> bad kitty
[02:46:13] <jmkasunich_> jmkasunich_ is now known as jmkasunich
[02:46:57] <Jymmmm> jmkasunich!!!
[02:47:21] <jmkasunich> dat me ma name
[02:47:26] <jmkasunich> be
[03:17:16] <Jymmmm> heh
[03:17:54] <Jymmmm> Shit, bathroom sink was leaking underneith, thought it was the plumbing, the overflow is rusted through.
[03:18:54] <Jymmmm> just spent 20 minutes patting it dry the best I could and siliconed the hellout of it. Will have to apply more silicon once this layer sets up in a few hours.
[03:24:25] <tomp> JBweld is a brand name , and they make a marine patch that can set up underwater, available in hdwr stores thru the midwest for near 5$
http://jbweld.net/products/water.php
[03:25:01] <DanielFalck> tomp, hi. I've been learning a bit about apt360
[03:25:07] <tomp> i used it on boats and i used in on a car radiator, works great
[03:25:08] <DanielFalck> and vapt
[03:25:23] <tomp> DanielFalk: what did you do, i havent got it sussed yet
[03:25:31] <tomp> esp vapt
[03:25:55] <DanielFalck> got everything installed and have been copying examples and just learning apt formatting
[03:26:04] <DanielFalck> vapt is very nice
[03:26:24] <Jymmmm> tomp JB weld is just two=part epoxy. But since there will NEVER be any pressure nor excessive heat, silicon will be perfect as I can even "bridge" over the dime sized rust hole.
[03:26:30] <DanielFalck> both the authors of apt360 and vapt are machinists who are learning to program
[03:26:56] <tomp> DanielFalck: before i get to vapt, lemme get apt360 up and see what 'problem' i had
[03:27:14] <tomp> Jymmmm: mo betta for you, a smll problem :)
[03:27:35] <Jymmmm> tomp Yeah, as long as I have gloves I'll be fine =)
[03:30:32] <tomp> DanielFalck: i had it run last nite... whats the calling format? i just tried 'apt360 examples/square.apt' and went into some mode that was waiting input... -f??
[03:30:52] <Jymmmm> SWPadnos SWPLinux : I just found out that the DEVICE (mouse/kybd) generates the CLK signal, not the host. That should help in determining the pinout at least as only 3 pins ohm out to the PIC.
[03:31:10] <DanielFalck> ./apt /home/dan/apt360/examples/polarclamp.apt | ./vapt/vapt.py
[03:32:04] <DanielFalck> I left the application in my home directory
[03:32:40] <tomp> wah , not apt360, just apt ( i no have vapt yet ) cd ~/apt360 apt examples/square.apt, yah 'works'
[03:33:04] <DanielFalck> the pocket macro works and is kind of cool
[03:33:37] <tomp> DanielFalck: and you piped the output to vapt, how did you get vapt to build?
[03:34:28] <DanielFalck> I did a symbolic link inside the apt360 directory to the vapt directory
[03:34:52] <DanielFalck> I don't recall having to build vapt, seems it was all python
[03:35:38] <tomp> doh! yes it's python, dod you get a bundle from sourceforge or use cvs for vapt?
[03:35:46] <DanielFalck> cvs
[03:36:10] <DanielFalck> cvs -d:pserver:
[email protected]:/cvsroot/vapt login
[03:36:10] <DanielFalck> cvs -z3 -d:pserver:
[email protected]:/cvsroot/vapt co -P vapt
[03:36:49] <tomp> cool, i'll try now, but 1st, i dont see gcode output from apt360, i get several files, but not gcode. same for you?
[03:37:10] <DanielFalck> I'm getting the gcode to work
[03:37:27] <DanielFalck> I had problems installing postp at first
[03:37:38] <DanielFalck> had to install bison and flex
[03:37:54] <DanielFalck> libf2c, libgs
[03:38:00] <tomp> right, thats was the bugger, postp .... ooh bison & flex ( not yacc? :)
[03:38:23] <DanielFalck> I didn't go looking for yacc and they seemed to work
[03:38:54] <DanielFalck> I got the dxflib from the qcad site, but still can't get dxf output to work
[03:39:03] <tomp> i got a lot of catching up to do , but i did get some output from 'personal apt' last nite, running under 'dosbox' not wine
[03:39:11] <DanielFalck> http://www.ribbonsoft.com/dxflib_downloads.html
[03:39:20] <tomp> right, i gathered f2c and dxflib last nite also
[03:40:01] <tomp> ok, i gotta get the python up 1st...
[03:40:03] <DanielFalck> I didn't have pyopengl on this box a couple nights ago, but I bet you already have it if you're running Axis
[03:40:17] <DanielFalck> had to have it for vapt
[03:40:48] <tomp> yeh, got that bit
[03:41:31] <tomp> whoops, vapt is tiny, this python stuff is amazing
[03:43:44] <tomp> did you run the install script, or just use the copy in the build directory? mine got put into /usr/local/bin/apt (( from which apt ))
[03:44:21] <DanielFalck> mine ended up in the original directory
[03:44:56] <tomp> no problem, mine is result of make install
[03:45:02] <DanielFalck> I used the install script
[03:45:10] <DanielFalck> make, make check, make install
[03:45:27] <DanielFalck> sorry ...config first
[03:45:42] <tomp> k, either will work, just got tangled on where to do the symlink from & to
[03:46:27] <DanielFalck> you're right - I have apt in two locations...
[03:48:31] <tomp> i need OpenGL
[03:52:45] <tomp> DanielFalck: where / how did you get OpenGL.GL ? ( i was surprised it was not OpenGL.py ), ah you said pyopengl...
[03:53:06] <DanielFalck> that's it
[03:54:50] <tomp> oooh ooooh! (horshack 1983) this is wicked!
[03:55:34] <tomp> it spins , it rotates, it scales, cool
[03:56:08] <tomp> it resizes! very nice & very fast
[03:57:16] <tomp> ok, now that's displaying CL code ( i thought it would display gcode, thus my confused questions earlier )
[03:57:52] <DanielFalck> yes, but you should be able to look at the *.tap files that it generates and run them in axis
[03:58:19] <tomp> ah, the TAP(e) files, it's been a long time :)
[03:58:31] <DanielFalck> yep : )
[03:58:59] <DanielFalck> I looking forward to running some full 4th axis stuff with this
[03:59:12] <DanielFalck> not just postitioning
[03:59:26] <tomp> my tap files are null or binary...
[03:59:48] <DanielFalck> it might have something to do with postp
[03:59:59] <tomp> :)
[04:00:28] <DanielFalck> try out case4axis.apt
[04:01:07] <tomp> ok, more catching up.... postp needed bison & flex... will try 4axis first...
[04:03:41] <tomp> what am i looking at? I see the '88' and the line in space outside...
[04:04:15] <tomp> and a load of construction lines
[04:04:52] <DanielFalck> yep, too bad about the construction lines, but I'm looking at the curve starting at setpt
[04:05:03] <DanielFalck> part of a fly fishing reel
[04:05:16] <DanielFalck> but I'm just glad it's usable
[04:05:32] <tomp> right, that'd be 4axis. really like a pin reel?
[04:06:00] <DanielFalck> "remark this represents the profile of a fly-fishing reel line guard"
[04:06:29] <DanielFalck> I don't know anything about fly fishing
[04:06:52] <tomp> yes, i think like the thing you can snap over the reel so the line doesnt fall off/get tangled
[04:07:33] <DanielFalck> I really want to start a GUI for generating apt code for this thing
[04:08:15] <DanielFalck> I got a lot to learn about apt
[04:09:05] <tomp> right, i was just looking at what was missing... you're right... is it sort of an interaction with vapt? ( like in primitive way, draw 1 element, look at vapt, draw another look at vapt, erase that draw another , look at vapt.... like that for beginning? )
[04:10:07] <DanielFalck> or even just something like Jon Elson's C routines for pocketing with a little tkinter GUI
[04:10:33] <DanielFalck> but yea, drawing lines and circles and being able to select a start point
[04:11:18] <DanielFalck> the thing I like about this is you can change the end mill size and regen your code
[04:11:31] <tomp> oh, Jepler has posted canned routines in python ( small apps to generate code given limited input )
[04:11:39] <CIA-8> 03jepler 07TRUNK * 10emc2/src/emc/usr_intf/axis/scripts/scaragui.py: allow the scara table to be tilted two ways, giving a full 6 joints
[04:12:04] <tomp> is that still a scara?
[04:12:36] <DanielFalck> I think the thing that most interests me about this is the pocketing and the rotary axis stuff
[04:13:05] <tomp> i gotta get postp up vapt is slightly annoyed "/usr/local/bin/callpost: line 31: postp: command not found"
[04:13:13] <DanielFalck> I should put your tool in the right place
[04:13:17] <DanielFalck> It
[04:13:29] <DanielFalck> no gouging
[04:13:46] <tomp> do you have a 4th axis? ( table or head )
[04:13:54] <DanielFalck> yes I do
[04:13:57] <CIA-8> 03jepler 07TRUNK * 10emc2/src/emc/kinematics/scarakins.c:
[04:13:57] <CIA-8> Fix radians vs degrees problem with C axis
[04:13:57] <CIA-8> extend kinematics to 6 axes: A and B move the table, C moves the stylus.
[04:14:30] <DanielFalck> rotary table that came with my mill, it's pretty nice
[04:14:35] <DanielFalck> SEM servo on it
[04:14:49] <DanielFalck> I just want to play with it
[04:15:13] <tomp> like a bridgeport or a vmc or...
[04:15:28] <DanielFalck> bridgeport
[04:16:04] <DanielFalck> we have a bunch of Kitamura MyCenter 1 VMCs at work, but they only to 4th axis positioning
[04:16:07] <DanielFalck> not full contouring
[04:16:24] <tomp> i used haas indexers on bp's but you have a servo drive, nice, SEM made good stuff
[04:16:30] <DanielFalck> kind of a bummer when you want to do a nice cam
[04:16:53] <DanielFalck> I should have said coordinated motion
[04:17:16] <tomp> you can integrate the 4 axis, not that move this indexer, then mill that , right coordinated
[04:18:15] <tomp> dunno if emc has an xyzb move ( i just took a guess that the rotary was around y )
[04:19:39] <DanielFalck> I used EMC in 2000 to do some engraving on the outside diameter of a piece of round bar stock
[04:19:44] <DanielFalck> it worked then
[04:20:01] <tomp> G1 or G2/G3 ?
[04:20:09] <tomp> and/or
[04:20:10] <DanielFalck> G1 moves
[04:20:26] <DanielFalck> lots of them
[04:20:34] <tomp> i bet :)
[04:20:58] <DanielFalck> it's funny all the code you need to make a 'straight' line
[04:21:09] <tomp> ?
[04:21:32] <DanielFalck> I mean with true type fonts generated from my cam program then
[04:22:13] <DanielFalck> It seemed like thousands of lines of code to do letters like 'T'
[04:22:26] <DanielFalck> I am exagerating
[04:22:43] <tomp> cradek has published 'ttt' a python ( i think ) code to generate gcode from true type. oh yeah, lots of line to make the 't'
[04:23:13] <DanielFalck> I really like ttt. I want to use it for some stuff in my home shop
[04:23:27] <DanielFalck> engaving name plates
[04:24:39] <tomp> yes, single fluke cutter ( a little Peter Deckel cutter grinder and you bport... you got an engraving shop!) any way to use ttt on rounds?
[04:25:00] <DanielFalck> I have done a lot of engraving with a B'port
[04:25:25] <tomp> need some spindle speed... use an air head?
[04:25:31] <DanielFalck> I have to do a bunch of cub scout 'Arrow of Light' award plates this weekend
[04:25:45] <DanielFalck> no, I just run a real slow feed rate
[04:26:06] <DanielFalck> I sometimes use a laminate trimmer on my router table
[04:26:32] <DanielFalck> I could make a clamp to put that in my B'port
[04:27:03] <DanielFalck> I've used air spindles in the mill spindle in the past. They sure are nice
[04:27:11] <tomp> you have 3 phase?
[04:27:24] <DanielFalck> phase converter
[04:27:42] <DanielFalck> small garage packed full of machines
[04:27:55] <DanielFalck> mostly hobby machines
[04:28:15] <DanielFalck> I like to do woodworking sometimes too
[04:28:32] <tomp> ah, i use single phase 230. and a basement with 2 small edms and a chinese 3in1 ( lathe mill drill )
[04:28:56] <DanielFalck> are you the EMC edm guru?
[04:29:15] <tomp> no, I'm the emc edm wise-ass
[04:29:32] <tomp> self proclaimed
[04:29:55] <DanielFalck> ok, what kind of stuff do you do with the edms in the basement?
[04:30:15] <jmkasunich> the border between wise-ass and guru is pretty fuzzy around here
[04:30:28] <DanielFalck> : )
[04:30:59] <cradek> I hope I can continue to be a wise-ass guru
[04:32:20] <DanielFalck> tomp, what kind of edms? sinker or wire?
[04:32:46] <tomp> small jobs for friends, some gun work, tho I dont like it. some busted taps type work. They're supposed to be a test bed for emc edm someday, but emc is developed with speed feed for now, so not really made for dynamic control ( this is not the beginning of an argument... its just not suited to edm motion control ) all sink edm, tho i have access to wedm
[04:32:51] <Jymmmm> cradek: only if you improve the wise-ass aspects, you've been slacking
[04:33:33] <jmkasunich> I need a guru
[04:33:38] <jmkasunich> maybe a swami actually
[04:33:39] <tomp> another gent mdynac (?) has made wedm work with emc
[04:33:58] <jmkasunich> somebody who can close his eyes, say "mmmmmmmmmmmmm" and then tell me where I put my dial calipers
[04:33:59] <Jymmmm> jmkasunich: You get a guy with a slide-rule or nutting at all!
[04:34:19] <cradek> jmkasunich: 1 foot to the right of whatever you measured last
[04:34:22] <Jymmmm> jmkasunich they're under the pile on the right side.
[04:34:50] <jmkasunich> * jmkasunich looks
[04:35:02] <tomp> rayh came up with an idea that was implemented , it reduced the forward velocity according to a process sample sample until a stabile process was maintained
[04:35:22] <tomp> -1 sample
[04:35:29] <DanielFalck> I don't know anything about edm, but it is a nice process
[04:35:54] <DanielFalck> I send some hardened tool steel out to have it wired
[04:36:14] <DanielFalck> It's amazing how nice it is when it comes back
[04:36:47] <jmkasunich> Jymmmm: nope, not on the right side
[04:37:25] <tomp> yes, it began as a way to automate work that was ground, and work that was built of several pieces, the wedm could make the work out of solid and gett surfaces near ground quality
[04:37:44] <DanielFalck> jmkasunich, are they in the kitchen?
[04:37:59] <DanielFalck> next to a jar of peanut butter?
[04:38:39] <jmkasunich> lol
[04:38:42] <jmkasunich> nope
[04:40:05] <tomp> DanielFalck: bison & flex?? getting them now
[04:40:10] <DanielFalck> yep
[04:40:34] <jmkasunich> sure didn't take me long to crap this bench up again
[04:40:40] <DanielFalck> I couldn't find yacc with synaptic and was too lazy to go looking for it
[04:40:50] <jmkasunich> but it isn't so crapped that a 6" calipers should be able to hide on it
[04:41:36] <DanielFalck> do you have big mouse machinists running around?
[04:41:39] <jtr> jmkasunich: got that web cam up yet? We'll help you look. ;)
[04:41:56] <DanielFalck> maybe they took them to their machine on the other side of the wall
[04:42:01] <jmkasunich> not yet
[04:42:16] <jmkasunich> I think the webcam is somewhere on the bench
[04:47:32] <jmkasunich> found em
[04:47:37] <tomp> DanielFalck: now how to use postp? (where are the docs fothis stuff, or do you just poke around in source to figure this stuff out )
[04:47:40] <jmkasunich> they got shoved under the monitor
[04:47:58] <jmkasunich> now I can't remember why I wanted them
[04:48:10] <tomp> :)
[04:48:55] <DanielFalck> tomp, sorry I have just been using the "machin/pmill" statement but don't know much about it
[04:49:07] <tomp> pmill1?
[04:49:12] <DanielFalck> I can't get dxf working
[04:50:22] <DanielFalck> we need to get Brent Muller on IRC and ask him about a lot of this
[04:51:21] <tomp> ok, i see, the "machin/pmill" is in the apt 'src' file, along with the dxf directive... maybe why i got nulll tap files... trying again...
[04:52:30] <tomp> oooh got gcode!
[04:53:48] <tomp> i didnt pipe tho, wanted to see each bit by itself, just apt ~/apt360/examples/square.apt
[04:54:23] <DanielFalck> look in your current directory and see if you have square.tap file
[04:55:00] <tomp> yep, thats now got gcode ( and some size )
[04:55:52] <tomp> what is sent to vapt? when it was piped from apt, wasnt vapt egtting the tap file?
[04:56:52] <DanielFalck> I think it's looking at the cl file?
[04:57:17] <DanielFalck> when I did a pocket macro, which puts out the gcode, it didn't show up in vapt
[04:58:11] <tomp> hmm, back to the pipe ( but we oughtta get a .cl file output from the processing of the .apt file... i think )
[04:59:13] <DanielFalck> no cl files here
[05:00:16] <tomp> what about caseRing, dont you get CLF LST and pll files?
[05:00:52] <DanielFalck> no, but maybe I don't have postp set up right
[05:01:06] <DanielFalck> what's in the CLF file?
[05:01:50] <tomp> half binary half text.... i see the part number and a remark
[05:02:30] <DanielFalck> cool. Brent is using his program at his place of work for 4th axis continuous moves on a production part
[05:02:51] <DanielFalck> http://aptos.sourceforge.net/CurrentStatus.html
[05:03:08] <DanielFalck> and some visual tools for generating apt code
[05:03:47] <DanielFalck> [email protected]
[05:03:55] <tomp> i ran without the pipe, expecting to see the result to stdout or to a file, thinking that was the 'src' for vapt. where did you read about that? at cvs
[05:04:20] <tomp> "visual tool that uses gtkmm and cairo to help in developing Apt programs." .... cairo allows svg :)
[05:04:26] <DanielFalck> at the bottom of the code for vapt.py
[05:05:41] <DanielFalck> ./vapt.py -h
[05:06:14] <DanielFalck> ./vapt.py --help
[05:06:42] <DanielFalck> Usage: apt APTFILE | vapt.py
[05:07:02] <tomp> so the .apt file
[05:07:28] <DanielFalck> oh cool, you can watch a cutter moving
[05:07:42] <DanielFalck> run the case4 file again and hit 's'
[05:08:01] <DanielFalck> case4axis.apt
[05:08:12] <DanielFalck> this is super cool
[05:08:56] <tomp> sorry, i chgd the last lines in vapt.py to make the screen bigger :)
[05:09:12] <DanielFalck> watch an animation of an endmill running along a path
[05:10:13] <jmkasunich> note to self: a 10 tpi jigsaw blade is not ideal for cutting 16GA steel
[05:10:13] <tomp> wow, used the 's'
[05:10:38] <jmkasunich> I dunno what you guys are doing, but it sounds exciting
[05:10:44] <jmkasunich> are you taking notes?
[05:10:55] <DanielFalck> I have installation notes here
[05:11:00] <DanielFalck> I can post them
[05:11:09] <jmkasunich> wiki them?
[05:11:14] <DanielFalck> ok
[05:11:17] <jmkasunich> thanks
[05:11:38] <DanielFalck> after I play with this more : )
[05:11:44] <jmkasunich> no rush
[05:11:51] <tomp> DanielFalck: the cutter didnt stay normal to the path (boohoo)
[05:12:09] <jmkasunich> I'd like to be able to follow in your footsteps though, some days or weeks down the road
[05:12:09] <DanielFalck> tomp, you're right it looked odd
[05:13:26] <tomp> jmkasunich: we'll try to put soemthing on the wiki, right now everything is new. i think jepler & cradek can do soemthing with this, and maybe we can invite the author to see emc
[05:13:49] <jmkasunich> understood
[05:13:50] <DanielFalck> tomp, what's your email?
[05:14:07] <DanielFalck> I'll forward some stuff
[05:14:18] <tomp> tompDASHtagATsbcglobalDOTnet
[05:14:29] <tomp> thanks
[05:14:38] <DanielFalck> ok thanks
[05:15:23] <tomp> oops got the popup menu to go orphan on me, it's now on top of the irc client :-o
[05:16:02] <tomp> it's tear away ( a 'feature' ?)
[05:18:29] <DanielFalck> run the spirograph code. he even shows the engraving cutter
[05:19:03] <tomp> i'm going to ask my bro for the personal apt manual this weekend, likely a good general ref to the language, and maybe we can come up with a post tailored to emc ( post, i suppose, lathe mill ... )
[05:20:00] <DanielFalck> where's that pastebin site again?
[05:20:16] <tomp> pretty, fleur-de-lis esque pastebin.ca
[05:20:43] <DanielFalck> thanks
[05:21:28] <tomp> wow, the engraving... my uddabrudda would want this for gunstocks...
[05:23:29] <tomp> did i say wow yet?
[05:26:28] <DanielFalck> yep
[05:27:34] <DanielFalck> http://imagebin.org/7229
[05:27:50] <tomp> the posting to gcode happens because of the machin/mill directive, which spirograph.apt has... where's the tap file?
[05:27:55] <DanielFalck> somehow the shaft on the engraving bit got jaggy
[05:28:24] <DanielFalck> if I run apt while in the /apt360/ directory, it ends up right there
[05:28:56] <tomp> how did you capture? alt printscreen? dunno where i was standing... try again
[05:29:12] <DanielFalck> Applications screencapture
[05:29:33] <DanielFalck> Applications Accessories Take Screenshot
[05:29:42] <DanielFalck> then used Gimp to crop it
[05:30:09] <tomp> try alt-printscreen, it will take a 'window shot' rather than desktop, no need to gimp it (crop it )
[05:30:16] <DanielFalck> ok thanks
[05:32:05] <DanielFalck> I have a real bastard system here- apple keyboard running to a pc and a mac
[05:32:17] <DanielFalck> can't find the right key
[05:32:40] <DanielFalck> I'll keep mashing keys till something happens : )
[05:32:47] <tomp> wacky! alt on a mac keyboard = meta? apple?
[05:33:12] <DanielFalck> option (with a small 'alt' above it)
[05:33:29] <DanielFalck> can't find the prntscreen key
[05:33:38] <DanielFalck> my own fault for keeping this thing
[05:35:01] <tomp> ya know we dont really need spline interpolation with the ability to script like this, the smal linear segment can be so close to the exact path that it'd be an immeasurable difference. we got all kinds of 2 & 3d curves ( just long files )
[05:36:06] <tomp> i liked the reference to wolfram research as a place to get formulae for all kindsa wacky geometry
[05:38:01] <DanielFalck> check out 'slotarray.apt '
[05:39:32] <tomp> yeh, see the inter-slot moves! nice
[05:40:57] <tomp> wish list : turn construction lines on/off :)
[05:41:39] <DanielFalck> http://imagebin.org/7231
[05:43:50] <tomp> ooh not slots, curved slots , kidney beans, nice entry and exit tangential
[05:46:38] <tomp> i tried to run emc with spirograph.tap, doh! i had been working on pyvcp_widgets, so already had realtime installed. made a real dog's breakfast out of everything. now I cant start emc, and cant shut down realtime... this calls for drastic measure,, going super for a bit
[05:55:28] <tomp> http://imagebin.org/7232 spirograph running in Axis way cool
[05:59:27] <tomp> burned out, good nite all, thanks again :) (saved entire irc log to collect notes from)
[05:59:51] <DanielFalck> nite
[08:12:15] <lerneaen_hydra> 'lo
[08:51:21] <Jymmmm> SWPadnos SWPLinux are either of you awake?
[09:14:14] <pier_port> ejholmgren_: thanks... removing APIC from kernel did the trick...
[09:32:23] <anonimasu> hm
[09:32:31] <anonimasu> no lets see if ny Z drive explodes again
[10:02:30] <bytecolor> DanielFalck, hi!
[10:14:06] <anonimasu> nope, it survived..
[10:16:18] <lerneaen_hydra> anonimasu; yay!
[10:16:25] <lerneaen_hydra> anonimasu; got new geckos?
[10:17:54] <anonimasu> yeah
[10:18:34] <a-l-p-h-a> anonimasu,! woohoo!
[10:20:23] <anonimasu> yep
[10:20:28] <anonimasu> I've got a encoder for the servo..
[10:20:40] <anonimasu> but no time to make a gearbox
[10:39:10] <Jymmmm> anonimasu send us the geckos and servos
[10:39:11] <Jymmmm> anonimasu send us the geckos and servos
[10:39:12] <Jymmmm> anonimasu send us the geckos and servos
[10:39:15] <Jymmmm> =)
[10:40:22] <anonimasu> lol
[10:40:25] <anonimasu> its just on Z
[10:40:38] <Jymmmm> we want xyzabc
[10:40:39] <Jymmmm> we want xyzabc
[10:40:40] <Jymmmm> we want xyzabc
[10:41:33] <Jymmmm> Ok, bbiab, gonna go see if I cna rev eng this kybd thingy with shorting out anything.
[10:41:53] <Jymmmm> the mobo I dont care about (just a P 233), but the ISA card I do.
[10:41:55] <anonimasu> 3heh
[10:42:31] <Jymmmm> 2.2K to the rescue
[10:42:44] <Jymmmm> bbiab
[10:42:52] <anonimasu> ok
[10:43:07] <anonimasu> I hate machine oil.
[10:43:13] <anonimasu> preservation..
[10:51:34] <bytecolor> I just realized it's satruday...
[12:00:12] <pier_port> mmm emc won't start
[12:01:03] <pier_port> it's complaining about parport
[12:02:17] <pier_port> which I don't have...
[12:03:23] <pier_port> ok solved
[12:20:15] <lerneaen_hydra> anyone here have an idea of how similar python and java are?
[12:21:03] <Vq^> some idea, yes
[12:23:44] <Vq^> they can both be said to be bytecode-compiled, both have garbage-collection and both support OOP
[12:25:03] <Vq^> but they have quite different syntax and java is static-typed while python is dynamic-typed
[12:32:34] <lerneaen_hydra> hmm, I see
[12:32:44] <anonimasu> hm
[12:32:49] <anonimasu> :)
[12:32:56] <lerneaen_hydra> any idea of how hard it would be to go from java to python?
[12:33:49] <anonimasu> hm easy.. probably
[12:33:58] <anonimasu> c++/c to python is dead easy..
[12:34:11] <anonimasu> my main issue was the forced indentation
[12:44:22] <Vq^> the dynamic typing and speed might be an issue
[12:45:22] <Vq^> anonimasu: i got used to that pretty fast actually
[12:50:08] <maddash> what's the link to the HAL api doc?
[12:53:53] <maddash_> where's the hal reference manual?
[12:57:01] <maddash_> maddash_ is now known as sudo_maddash
[13:03:40] <sudo_maddash__> ugh
[13:04:33] <skunkworks> logger_emc: bookmark
[13:04:33] <skunkworks> Just this once .. here's the log:
http://www.linuxcnc.org/irc/irc.freenode.net:6667/emc/2007-02-10.txt
[13:04:41] <anonimasu> maddash: www.linuxcnc.org
[13:05:01] <sudo_maddash__> you might as well have referred me to google
[13:05:26] <sudo_maddash__> the link to the hal_doc.pdf is broken,
[13:05:26] <anonimasu> wtf.
[13:05:45] <anonimasu> no it's not..
[13:05:51] <anonimasu> your browser is.
[13:05:56] <sudo_maddash__> wiki.linuxcnc.org
[13:05:57] <anonimasu> http://www.linuxcnc.org/docs/HAL_Documentation.pdĀØf
[13:06:00] <anonimasu> http://www.linuxcnc.org/docs/HAL_Documentation.pdf
[13:06:01] <anonimasu> :)
[13:06:09] <sudo_maddash__> erm why don't you chk the wiki
[13:06:29] <sudo_maddash__> sudo_maddash__ is now known as sudo_maddash
[13:06:38] <anonimasu> well, that is the reference manual..
[13:06:49] <anonimasu> section 2 says hal reference..
[13:06:58] <anonimasu> sorry about being picky but you are the one that brought it up.
[13:07:10] <sudo_maddash> mm, but it may say that, but it's not what i was looking for.
[13:07:38] <anonimasu> http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl
[13:07:39] <anonimasu> the wiki works too..
[13:07:46] <sudo_maddash> isn't there some api that permits me to access the parport from userspace
[13:07:54] <sudo_maddash> i never said that the wiki didn't work
[13:08:02] <anonimasu> yes
[13:08:04] <anonimasu> you can use hal to do that
[13:08:10] <sudo_maddash> yes, how?
[13:08:15] <anonimasu> there's a example somewhere..
[13:08:16] <sudo_maddash> via hal's api, no?
[13:08:21] <anonimasu> yeah
[13:08:33] <anonimasu> if you can use python, it's a easy way..
[13:08:39] <anonimasu> import hal or something..
[13:08:43] <anonimasu> :)
[13:08:44] <sudo_maddash> where's the doc for that?
[13:08:52] <anonimasu> I dont think there is one..
[13:08:57] <anonimasu> I looked at axis when I tried it
[13:09:09] <sudo_maddash> sudo_maddash is now known as maddash
[13:09:17] <anonimasu> there probably is docs about the c api but im not familiar with that
[13:09:37] <maddash> crap.
[13:09:45] <anonimasu> ?
[13:09:47] <maddash> cf the portion of the wiki that says "[1] - The User Manual in pdf format.
[13:09:47] <maddash> [2] - The HAL Reference Manual in pdf format."
[13:10:05] <anonimasu> check of google indexes it..
[13:10:08] <anonimasu> you might be able to open a html of it
[13:12:35] <maddash_> anonimasu: do you know the names of any hal api functions? "emc hal api" doesn't cut it...
[13:12:49] <anonimasu> well look at axis..
[13:12:50] <anonimasu> :)
[13:12:57] <anonimasu> there's a sample python program too..
[13:13:08] <anonimasu> maybe..
[13:13:10] <anonimasu> I cant check right now
[13:14:12] <anonimasu> brb...
[13:14:17] <anonimasu> need to take a walk
[13:17:17] <maddash__> anyway, if you ever run into the same problem, just cf hal.h
[13:17:26] <maddash__> maddash__ is now known as sudo_maddash
[13:23:45] <sudo_maddash_> found it...
[13:26:07] <sudo_maddash_> http://linuxcnc.org/docs/2.1/html/
[14:08:53] <DanielFalck> bytecolor, hi
[14:10:35] <DanielFalck> bytecolor is author of vapt
[14:17:55] <DanielFalck> fenn, good morning
[14:26:18] <lerman> Anyone around know anything about pyVCP?
[14:39:07] <CIA-8> 03lerman 07TRUNK * 10emc2/src/emc/rs274ngc/ (7 files):
[14:39:07] <CIA-8> Add support for error handling where error messages have variables in the text. Add automatic loading of
[14:39:07] <CIA-8> external files containing oword subroutines. Permit oword subroutines to be located later in the file from
[14:39:07] <CIA-8> the point where they are called.
[14:48:15] <fenn> brrr
[14:48:42] <DanielFalck> how many degrees below zero is it there?
[14:49:12] <maddash_____> -273
[14:49:26] <fenn> its only 10F now, but last night was the coldest i remember
[14:49:30] <maddash_____> (with wind-chill taken into accnt)
[14:50:14] <maddash_____> hmmm i'm getting a "error while loading shared libraries: libemchal.so: cannot open shared object file: No such file or directory" when i compile and run
http://pastebin.ca/318591
[14:52:48] <maddash______> any ideas? i didn't `make install` my emc; rather, i just enabled run-in-place...
[14:53:01] <fenn> try -llibemchal?
[14:54:25] <maddash______> hmm? i compiled fine...
[14:54:46] <maddash______> it's just running that's becoming a problem
[14:54:59] <fenn> er.. oh
[14:55:59] <maddash______> kinda funny, b/c emcsh (which also relies on libemchal) works fine
[14:56:05] <fenn> what if you do ldd on it?
[14:56:20] <maddash______> ldd?
[14:56:27] <fenn> ldd <your program>
[14:56:32] <maddash______> nvm
[14:56:37] <fenn> shows where it looks for referenced libraries
[14:57:34] <maddash______> hmm. "libemchal.so not found"
[15:07:24] <maddash________> maddash________ is now known as maddash
[15:07:45] <maddash> where's jepler? this is his program, anyway...
[15:14:18] <owhite> hey people. I was on here before and someone had a suggestion for how to deal with the error: "Either the size is too big or the shared memory buffer already exists but is of the wrong size."
[15:14:24] <owhite> anyone know what it is?
[15:14:42] <owhite> SWPadnos?
[15:14:56] <owhite> I think maybe it was you that told me. it was a command with 1005 in it :-)
[15:15:57] <maddash_> are jepler and cradek still asleep?
[15:17:15] <owhite> seems like people are snoozing.
[15:18:39] <steve_stallings> steve_stallings is now known as steves_logging
[15:19:55] <fenn> it is saturday after all
[15:30:51] <lerman> I just updted and built: ./configure --enable-run-in-place --enable-simulator. It fails on startup: HAL config file /home.../sim/core_sim.hal failed. Anyone have any ideas?
[15:32:10] <lerman> rtapi_shmem_new failed, returned -4.
[15:58:26] <DanielFalck> rayh, good morning
[16:01:04] <rayh> Hi Dan.
[16:01:09] <steves_logging> steves_logging is now known as steve_stallings
[16:04:02] <DanielFalck> rayh, we really need to find Jim T a CNC router : )
[16:06:15] <rayh> right
[16:07:11] <a-l-p-h-a> DanielFalck, can you guys find me a free wireEDM? ;)
[16:08:56] <fenn> what would you do with it?
[16:10:06] <DanielFalck> a-l-p-h-a, freeee wireEDM? : )
[16:10:52] <DanielFalck> I don't know about wireEDM machines, but sometimes 'free' machines cost too much to move
[16:11:28] <DanielFalck> vertical lathes that you can drive trucks on
[16:11:47] <lerneaen_hydra> heh
[16:12:01] <lerneaen_hydra> the lathe is the foundation of the building around it :p
[16:12:39] <DanielFalck> I have a friend who built a machine and then had to build a building around it
[16:16:26] <maddash_____> how do i link hal pins now that i've written my .hal file?
[16:16:32] <maddash_____> maddash_____ is now known as maddash
[16:17:16] <lerneaen_hydra> DanielFalck; what type of machine?
[16:17:41] <DanielFalck> It was a large gantry bead blaster for Goodyear
[16:18:03] <DanielFalck> I never saw it, but was told that it was very large
[16:18:32] <lerneaen_hydra> if a building is built around something like that, I can certainly imagine that
[16:22:35] <DanielFalck> can anyone remind me of how to edit the wiki page?
[16:22:48] <anonimasu> DanielFalck: log in first..
[16:22:58] <tomp> DanielFalck: in there now adding a page for apt
[16:23:30] <tomp> blank, just adding a link to create the page... will report in a sec
[16:23:58] <DanielFalck> tomp, ok
[16:27:04] <DanielFalck> anonimasu, so how do I get admin rights? password?
[16:29:24] <rayh> DanielFalck: look at the basic steps page
[16:29:43] <tomp> DanielFalck: rayh:
http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?AptProgrammingForEMC
[16:30:21] <tomp> rayh: remember APT? (circle/line/circle u/d/l/r ?)
[16:31:25] <DanielFalck> rayh, url for basic steps?
[16:31:47] <SWPadnos> http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?BasicSteps
[16:31:47] <tomp> DanielFalck: what would you like it to say? only 1 cook to the pot, so I can let it rest or fiddle as you like.
[16:31:49] <SWPadnos> I think
[16:32:07] <tomp> DanielFalck:
http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?EmcKnowledgeBase bottom of page
[16:32:12] <DanielFalck> I have notes
[16:32:17] <tomp> link for how-to
[16:32:18] <DanielFalck> thanks
[16:32:25] <rayh> phone
[16:33:54] <DanielFalck> sorry, I'm dense. I found this url :
http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?action=editprefs
[16:34:03] <DanielFalck> is that where I log in?
[16:34:13] <SWPadnos> yes
[16:34:40] <DanielFalck> Ok, now is the password supposed to be blank?
[16:34:46] <DanielFalck> or do I make my own up
[16:34:53] <tomp> DanielFalck: at top of any page there's a 'preference' to click, enter there, your id, and blank for pwd
[16:34:58] <SWPadnos> enter your name, then the administrator password password
[16:35:07] <SWPadnos> -1 password
[16:35:12] <tomp> no no no emc pwd
[16:35:14] <SWPadnos> the password is emc
[16:35:20] <DanielFalck> thanks, that was what I was missing
[16:35:31] <SWPadnos> that was a "Paris in the the spring" thing :)
[16:35:37] <DanielFalck> I tried blank, my own, and only had read only rights
[16:35:52] <SWPadnos> did you read the first paragraph on the BasicSteps page?
[16:36:24] <DanielFalck> sorry
[16:37:05] <DanielFalck> you mean on this page?
http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?EmcKnowledgeBase
[16:37:30] <SWPadnos> no - I mean this:
http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?BasicSteps
[16:38:02] <DanielFalck> ok thanks, I kept going to the front page of the wiki
[16:38:08] <SWPadnos> heh
[16:38:47] <DanielFalck> thanks
[16:38:49] <tomp> at bottom of front page is the link to the page SWPadnos is speaking of
[16:38:56] <SWPadnos> right
[16:39:25] <DanielFalck> tomp, I'm going to add some notes to your page
[16:39:43] <tomp> sure, i just did that 90 secs ago, it's bare
[16:40:42] <DanielFalck> cut copy paste from irc : )
[16:40:51] <tomp> DanielFalck: if you could add info on how to get it running, i'll try to get some infor on 'howto use apt'
[16:41:12] <cradek> where's the source for apt/apt360?
[16:41:46] <DanielFalck> step 1 cvs -d:pserver:
[email protected]:/cvsroot/aptos login when asked for pswd, just press enter
[16:41:45] <DanielFalck> step2 cvs -z3 -d:pserver:
[email protected]:/cvsroot/aptos co -P aptos
[16:41:45] <DanielFalck> step3 cvs -z3 -d:pserver:
[email protected]:/cvsroot/aptos co -P apt360
[16:41:45] <DanielFalck> step4 cvs -z3 -d:pserver:
[email protected]:/cvsroot/aptos co -P postp
[16:41:46] <tomp> DanielFalck: the pages are html-ish so you may want <pre> copied stuff </pre> so it doesnt just run and wrap
[16:42:11] <SWPadnos> DanielFalck, CVS has been moved to cvs.linuxcnc.org
[16:42:35] <DanielFalck> SWPadnos, these are for apt360
[16:42:36] <tomp> SWPadnos: not cvs for this project
[16:42:45] <SWPadnos> oh - right :)
[16:42:52] <SWPadnos> I suppose I should finish my coffee now
[16:42:52] <DanielFalck> a cool CAM app we have been playing with
[16:43:08] <tomp> http://imagebin.org/7232
[16:43:26] <tomp> works with emc!
[16:45:57] <a-l-p-h-a> holy crap awesome origami...
http://forum.programming-designs.com/viewtopic.php?pid=4526
[16:46:46] <tomp> DanielFalck: you got the exclusive on the page ( only 1 editor at a time ), i logged out
[16:47:04] <DanielFalck> check again
[16:47:11] <DanielFalck> I just added a url
[16:48:04] <DanielFalck> I will compile some more notes on usage offline and cut and paste later
[16:48:25] <tomp> cool
[16:51:10] <lerneaen_hydra> a-l-p-h-a; fsck
[16:51:15] <a-l-p-h-a> yeah.
[16:51:23] <a-l-p-h-a> can someone do me a fav.
http://nawrockiarchitect.com/ does it show two enter buttons, or one?
[16:51:39] <lerneaen_hydra> two
[16:51:50] <a-l-p-h-a> damn. the DNS change hasn't propogated yet
[16:52:24] <lerneaen_hydra> damn that image fade in/out eats cpu
[16:52:38] <a-l-p-h-a> it's flash... don't blame me.
[16:52:42] <a-l-p-h-a> it's not my code.
[16:52:45] <lerneaen_hydra> no, the non-flash one
[16:52:53] <a-l-p-h-a> oh... the JS one?
[16:52:55] <a-l-p-h-a> <shrug>
[16:53:00] <lerneaen_hydra> yeah
[16:53:13] <a-l-p-h-a> lerman, got another one?
[16:53:15] <lerneaen_hydra> 25% of my cpu (amd 3800+X2)
[16:53:25] <a-l-p-h-a> you bastard with your good compy.
[16:53:28] <a-l-p-h-a> mine's just an XP2800+
[16:53:29] <SWPadnos> a-l-p-h-a, twp, one for Flash Enhanced, the other for HTML only
[16:53:30] <a-l-p-h-a> :(
[16:53:35] <SWPadnos> two, that was
[16:53:43] <a-l-p-h-a> SWPadnos, thanks.
[16:53:42] <SWPadnos> but they're links, not buttons
[16:53:51] <a-l-p-h-a> one why it's taking so long to change over.
[16:53:56] <SWPadnos> and the final > is missing on the second one
[16:54:07] <a-l-p-h-a> SWPadnos, again, that's the old server, not my code.
[16:54:23] <a-l-p-h-a> http://74.118.200.224/mn <my local copy of the new code>
[16:54:28] <lerneaen_hydra> what's the nrew servers ip?
[16:54:29] <lerneaen_hydra> ah
[16:54:56] <a-l-p-h-a> the new server's ip is... 207.7.108.125, but that's not gonna help, as it's shared hosting.
[16:55:05] <lerneaen_hydra> oh, ok
[16:55:11] <a-l-p-h-a> I added 207.7.108.125
[16:55:35] <a-l-p-h-a> I added "207.7.108.125 nawrockiarchitect.com" to my hosts file, and that'd work...
[16:56:12] <steve_stallings> steve_stallings is now known as steves_logging
[16:56:53] <DanielFalck> tomp, are you able to edit at the moment?
[16:57:20] <DanielFalck> I hope that I'm not keeping you out of that wiki page
[16:57:55] <tomp> DanielFalck: np, i'm gone
[16:58:24] <DanielFalck> Is it ok for me to edit?
[16:58:35] <tomp> yep,i'm not there now
[16:58:40] <DanielFalck> ok thanks
[17:02:01] <tomp> DanielFalck: maybe info for a mail list?
[17:09:48] <DanielFalck> tomp, it's rough but I think the info is there now
[17:10:48] <tomp> cool, i'll do some formatting, ok?
[17:11:12] <DanielFalck> yes
[17:11:50] <DanielFalck> do I need to log out?
[17:11:59] <DanielFalck> I'm not editing
[17:12:31] <tomp> uh, you just leave the page ( make the edit window disappear)
[17:12:42] <DanielFalck> ok I'm out
[17:13:00] <DanielFalck> thanks
[17:13:01] <tomp> if you go back to the page, and the edit window is gone, then thats the proof :)
[17:18:49] <CIA-19> 03lerman 07TRUNK * 10emc2/src/emc/rs274ngc/rs274ngc_pre.cc: Debug logging code was accidently left turned on. Turn it off for the general consumer.
[18:05:28] <tomp> DanielFalck: plsz look at web page
http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?AptProgrammingForEMC
[18:12:00] <DanielFalck> nice
[18:14:04] <DanielFalck> tomp, maybe just add a note that the screenshot at bottom of page is from vapt
[18:14:14] <tomp> yep
[18:14:42] <DanielFalck> although the title in the window does say "Visual APT"
[18:15:14] <DanielFalck> tomp, thanks, nice work
[18:15:27] <tomp> i'm making more screenshots, but, like the raw output from apt is too big to make meaningful
[18:15:28] <tomp> np
[18:15:45] <skunkworks> cradek: you need to get the information about your servo lathe online some time.
[18:22:26] <cradek> what I really need to do is finish building it...
[18:24:07] <cradek> it hasn't quite worked since I put in the pluto - the motion is much smoother, but the pluto is more sensitive to noise and the spindle encoder hasn't worked right yet
[18:24:31] <skunkworks> :) I just got an istant message from someone on cnczone... wanting to do what you did pretty much with a lathe
[18:24:40] <lerneaen_hydra> cradek; what's up with the encoder?
[18:24:59] <cradek> just noise I'm pretty sure
[18:25:06] <lerneaen_hydra> noise?
[18:25:09] <skunkworks> cradek: did you end up getting the parts for a line driver or what ever you where going to do?
[18:25:12] <lerneaen_hydra> hmm
[18:25:20] <lerneaen_hydra> shielded cables?
[18:25:23] <cradek> skunkworks: no, I'll probably try plain RC filtering first, I'm too cheap
[18:25:26] <lerneaen_hydra> maybe a mic cable?
[18:25:41] <lerneaen_hydra> IIRC they have two conductors and a shield outside
[18:26:10] <lerneaen_hydra> or hell, why not just slaughter a shielded network cable
[18:28:02] <cradek> I bet there are all sorts of solutions, I just need to do one of them :-)
[18:28:25] <lerneaen_hydra> a network cable is cheap (probably free)
[18:28:37] <cradek> I don't have any shielded...
[18:28:41] <tomp> DanielFalck: got names so i can mention the authors?
[18:29:33] <lerneaen_hydra> cradek; just steal^W acquire one from somewhere
[18:29:42] <lerneaen_hydra> they are quite common
[18:30:39] <cradek> lerneaen_hydra: are you talking about token ring cable?
[18:31:00] <lerneaen_hydra> no, just standard cat5 cable with foil shielding
[18:31:09] <cradek> I've never seen that
[18:31:13] <lerneaen_hydra> wtf?
[18:31:25] <cradek> foil?
[18:31:59] <skunkworks> * skunkworks had heard about it - but have never seen it.
[18:32:02] <lerneaen_hydra> just a thin shielding running between the signal cables and the outer insulation
[18:32:02] <cradek> I think it's even called UTP (unshielded twisted pair)
[18:32:21] <lerneaen_hydra> UTP is unshielded yes, there's also FTP and STP
[18:32:28] <lerneaen_hydra> IIRC it's called STP at least
[18:32:28] <cradek> what does it hook to? there's no shield or ground in the RJ connector
[18:32:37] <lerneaen_hydra> err, yes there is
[18:33:02] <lerneaen_hydra> http://www.firefold.com/images/products/C6-RJ45S-SLD.jpg
[18:33:09] <lerneaen_hydra> maybe this is a european thing?
[18:33:13] <cradek> ah cat5e for gigabit maybe?
[18:33:22] <lerneaen_hydra> no, cat5 also
[18:33:24] <SWPadnos> lerneaen_hydra, no - STP cable won't work with transceivers meant for UTP (at least not over the full length spec)
[18:33:40] <SWPadnos> and STP is much rarer than UTP
[18:33:47] <lerneaen_hydra> here in sweden at least shielded are more common than unshielded
[18:33:59] <SWPadnos> shielded cables, or EMI shielded connectors?
[18:34:00] <cradek> lerneaen_hydra: I've never seen that connector
[18:34:25] <lerneaen_hydra> EMI shielding, nothing mechanical
[18:34:26] <SWPadnos> afaik, you'd need differnt network cards to use STP cable
[18:34:38] <lerneaen_hydra> huh? uh, no
[18:34:40] <SWPadnos> at least the PHY would need to be different
[18:35:15] <lerneaen_hydra> the pinout is identical, the only difference is the grounded/shielded contact and the EMI shielding running through the cable
[18:35:37] <SWPadnos> the difference is the dielectric, which causes signal propagation to be different
[18:35:47] <lerneaen_hydra> that's true
[18:36:04] <lerneaen_hydra> the maximum signal distance is probably lower in an ideal environment
[18:36:26] <SWPadnos> for low speed networks (with short runs), it probably doesn't matter much
[18:37:02] <lerneaen_hydra> I've got 1000T-base (cat5e) shielded cable, 20M lengths
[18:38:44] <lerneaen_hydra> this is interesting
[18:38:55] <lerneaen_hydra> newegg doesn't seem to have any shielded cable
[18:39:04] <cradek> I'm glad I'm not crazy
[18:40:05] <SWPadnos> according to Cisco, STP is much more common in Europe :)
[18:41:00] <lerneaen_hydra> at the retialer I buy stuff off they have mostly unshielded, but some shielded cables
[18:41:23] <lerneaen_hydra> about 50% more expensive
[18:42:41] <lerneaen_hydra> hmm, scratch that idea then
[18:42:56] <lerneaen_hydra> two coax cables?
[18:43:16] <lerneaen_hydra> overkill, sure, but you should be able to find some for cheap
[18:45:53] <maddash> anyone know where the parport doc is located?
[18:57:46] <tomp> DanielFalck: done editing wiki for now
[19:01:30] <kwajpol> hello
[19:01:58] <kwajpol> can i install emc on ubuntu 6.10
[19:02:17] <lerneaen_hydra> you can't (easily)
[19:02:26] <lerneaen_hydra> 6.06 is best suited for emc
[19:02:31] <kwajpol> the wiki doesnt say anything about that
[19:02:55] <lerneaen_hydra> hmm, I think it does somewhere
[19:03:29] <lerneaen_hydra> http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Installing_EMC2#Why_aren_t_there_packages_for_Ubuntu_6_10_Edgy_Eft
[19:03:53] <kwajpol> then i have to reinstall the system :(
[19:04:09] <DanielFalck> tomp, ok. I guess now we should come up with some instructions on apt syntax with examples
[19:04:15] <lerneaen_hydra> I'm afraid so :(
[19:05:36] <tomp> DanielFalck: right, so i was annotating the square & ... what are those 3 Maltese crosses? where do they come from ( meaning, i have to learn before i teach :)
[19:06:08] <DanielFalck> tomp, same here. Lots of reading to do.
[19:06:23] <DanielFalck> I have the pocket macro sort of figured out
[19:06:37] <tomp> what's a comment in an apt file look like? (for annotation)
[19:06:47] <DanielFalck> working on a program right now
[19:06:55] <tomp> k
[19:07:04] <DanielFalck> remark
[19:07:48] <DanielFalck> I think $$ works for comments too
[19:08:39] <DanielFalck> yep both remark and $$ will comment out a line
[19:10:01] <tomp> yep, i just added 'driving instructions' to a comment, the idea that you made a bunch of lines, and 'drove' around on them (remembering a little bit)
[19:10:02] <DanielFalck> later versions of the Machinist Handbook have a good section on APT in the CNC programming chapter
[19:10:18] <tomp> gotta check my version
[19:10:31] <maddash> is jepler around?
[19:10:40] <robin_sz> no
[19:11:04] <DanielFalck> here's a link with a bit of instructions too:
[19:11:07] <DanielFalck> http://www.nfrpartners.com/nfraptlang.htm
[19:14:24] <tomp> thats a nice visual in the lower right about how apt is parametric
[19:16:21] <DanielFalck> yes
[19:16:40] <DanielFalck> let me add that link to the wiki
[19:22:24] <robin_sz> * robin_sz wonders if there are any CAM systems thta actually use APT
[19:22:30] <anonimasu> catia does..
[19:22:37] <anonimasu> does/did
[19:22:42] <tomp> lots do, just hidden
[19:22:47] <DanielFalck> yes, I think lots of them use apt for the post processor stage
[19:22:49] <DanielFalck> Gibbs
[19:22:57] <DanielFalck> mastercam might
[19:22:59] <robin_sz> ohh, right
[19:23:08] <DanielFalck> ugs nx
[19:23:15] <fenn_gohan> .cl is an apt file format right?
[19:23:20] <anonimasu> I think mastercam does also..
[19:23:39] <anonimasu> basically you define your toolpath
[19:23:41] <DanielFalck> it's the output from apt prior to posting
[19:23:42] <anonimasu> and then you say CUT IT
[19:23:44] <robin_sz> and then they do apt->gcode or whatever as the postprocessor stage?
[19:23:55] <DanielFalck> apt >cl>gcode
[19:23:57] <anonimasu> and just go to point..
[19:24:02] <anonimasu> endpoint..
[19:24:08] <anonimasu> instead of making real moves..
[19:24:19] <fenn_gohan> but how do you get rid of the "define the toolpath" step?
[19:24:30] <maddash> wow, this is frustrating to no end
[19:24:38] <anonimasu> fenn_gohan: that's the good thing with apt..
[19:24:52] <anonimasu> fenn_gohan: you do C1 = CIRCLE/ -0.75, 1.25, 0.5009 $$ Create a circle 'C1' centered at X = -0.75, Y = 1.25, radius of 0.5009
[19:24:58] <fenn_gohan> i just want the computer to think for me
[19:24:59] <DanielFalck> fenn_gohan, not sure yet. Probably a lot of python code : )
[19:25:10] <anonimasu> then you do GO/ TO, C1 $$ Move tool to circle 'C1
[19:25:10] <fenn_gohan> making circles is easy enough in g-code
[19:25:18] <robin_sz> maddash, solve your ssh -X thing?
[19:25:51] <anonimasu> fenn_gohan: GOLFT/ C1, TO, L1 $$ Move around circle 'C1' until line 'L1' is hit, moving to the left from tool perspective
[19:25:55] <anonimasu> that's not as easy :)
[19:26:07] <maddash> robin_sz: hmmm, straddling #debian AND #emc?
[19:26:07] <anonimasu> brb
[19:26:07] <fenn_gohan> yeah that's a nice feature
[19:26:20] <maddash> robin_sz: yes, i did
[19:26:23] <robin_sz> maddash, im always on #debian
[19:27:03] <robin_sz> maddash, good. what was it in the end? didnt have x running on your local machine?
[19:27:04] <tomp> you make a bunch of lines and circle, they're like streets, then you tell it how to 'drive' along those streets, turn left onto line1, go left circle 2 at the far intersection...
[19:27:04] <maddash> uh, usleep(10000) means sleep for 10 seconds, rah?
[19:27:47] <maddash> robin_sz: it was an xauth issue. i didn't give remote users access to :0.0
[19:28:24] <DanielFalck> apt can do much more sophisticated things than just arcs, lines
[19:28:47] <fenn_gohan> can you do groups of features?
[19:28:50] <DanielFalck> it can do 4th and 5th axis stuff
[19:29:04] <DanielFalck> yes
[19:29:28] <DanielFalck> the slotarray.apt code shows an example of that
[19:29:39] <tomp> DanielFalck: yes, beginners guide... about the gui front end... we make a list in python of geometries and append to it, constantly updating vapt each time
[19:29:59] <DanielFalck> tomp, sounds good
[19:30:09] <DanielFalck> I could really get into that
[19:31:07] <tomp> i just uncomplicated the square example, as a demo, i removed the rotation and the multiple instances, easier to follow now
[19:32:17] <fenn_gohan> * fenn_gohan is still wondering where stl.h is and why it's missing
[19:32:39] <tomp> http://imagebin.org/7241
[19:33:29] <lerneaen_hydra> tomp; is apt text-based?
[19:33:41] <bytecolor> DanielFalck, I'm in NC so eastern time zone
[19:33:42] <DanielFalck> yes
[19:33:52] <tomp> DanielFalck: 's' will show the tool, 'r' retracts it :)
[19:33:55] <DanielFalck> bytecolor ! glad to see you here
[19:34:02] <bytecolor> I see you guys are fscking with apt :)
[19:34:07] <DanielFalck> yes!
[19:34:13] <tomp> lerneaen_hydra: for the meantime
[19:34:15] <DanielFalck> bytecolor wrote vapt
[19:34:31] <lerneaen_hydra> tomp; hmm I see
[19:34:34] <tomp> bytecolor: hello, want to thank you for the great work on apt
[19:34:44] <bytecolor> hacked is a better word, maybe 'cobbled together'
[19:34:48] <DanielFalck> very impressive stuff
[19:34:53] <bytecolor> tomp, welcome
[19:35:03] <lerneaen_hydra> it seems kind of silly to see several different CAM projects going on in the same IRC channel :/
[19:35:11] <DanielFalck> check out
http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?AptProgrammingForEMC
[19:35:33] <fenn_gohan> lerneaen_hydra: the more the better
[19:35:50] <awallin> hi all, anyone have screenshots of the new scaracins/visualization stuff?
[19:35:59] <lerneaen_hydra> seems like wasted effort
[19:36:26] <alex_joni> anyone here familiar with the kernel va <-> pa mechanism?
[19:36:45] <maddash> i've got two files: standard_pinout.hal (redacted version of the one in configs/stepper) and parporttest.c. cf
http://parport.pastebin.co.uk/10223 and
http://parport.pastebin.co.uk/10226 respectively. now, when I `halcmd -f standard_pinout.hal`, i don't receive any errors. but when i compile and run parporttest, i don't see any voltage spikes in pin 14. why not?
[19:37:22] <DanielFalck> lerneaen_hydra, the apt stuff has very good 50 year code in it already that is very capable of generating gcode for complicated parts
[19:37:41] <robin_sz> maddash, seems wierd, very wierd, because the connection was forwarded over your ssh tunnel, it should have been a local user as far as the system was concerned .. most very, very odd
[19:37:42] <DanielFalck> lerneaen_hydra, turbines etc...
[19:38:21] <lerneaen_hydra> DanielFalck; hmm, I see, are there any graphical manipulation tools yet?
[19:38:44] <DanielFalck> lerneaen_hydra, not yet. Looks like we have to build them
[19:39:13] <DanielFalck> lerneaen_hydra, or incorporate them into already existing code that cradek and jepler have going
[19:39:42] <DanielFalck> lerneaen_hydra, the apt stuff is another valuable tool
[19:39:43] <lerneaen_hydra> the latter sounds quite nice ;)
[19:39:47] <lerneaen_hydra> yeah
[19:39:51] <maddash> also, when i `halcmd show thread`, i'm not getting any active realtime threads. anyone have a clue?
[19:40:11] <bytecolor> vapt is just a feedback tool
[19:40:27] <DanielFalck> it shows output of the apt code
[19:40:36] <bytecolor> DanielFalck, nice info page, although vapt doesn't require bison and flex, aptos does
[19:40:43] <DanielFalck> oops
[19:40:56] <tomp> my bad, fixing now
[19:41:03] <DanielFalck> my fault
[19:41:07] <bytecolor> s'ok :)
[19:41:16] <fenn_gohan> bytecolor: where should i look for stl.h? (from tree.h)
[19:41:20] <DanielFalck> my notes were actually on a napkin
[19:41:50] <bytecolor> fenn_gohan, aptos?
[19:42:48] <bytecolor> aptos is a separate project from apt360, in case anyone has the two somehow linked
[19:43:20] <tomp> wiki page better now?
[19:43:38] <fenn_gohan> now that i look in tree.h i dont see any reference to stl.h so i wonder why its complaining about it being missing
[19:43:39] <bytecolor> in other words you can use apt360 by its self
[19:43:55] <bytecolor> tomp, yes
[19:43:59] <fenn_gohan> oh it's symtable.h
[19:44:03] <tomp> DanielFalck: i saved the irc session
[19:44:09] <DanielFalck> tomp, cool
[19:45:10] <bytecolor> DanielFalck, does Brent ever get in here?
[19:45:36] <DanielFalck> no, but it would be good to talk to him here
[19:45:44] <bytecolor> I didn't ask to develop apt360, I just fixed the gconic statement in some asm and he added me
[19:46:25] <fenn_gohan> bytecolor: so you're the vapt author?
[19:46:57] <bytecolor> fenn_gohan, yes, and I've only made a single commit to apt360
[19:47:38] <lerman> awallin: Did you see the posting I just put on the developer's list? Can you help?
[19:49:36] <bytecolor> apt360's stdout is nasty, huh :) 40+ year old 132 column printout
[19:49:45] <anonimasu> hehe
[19:51:43] <bytecolor> I should start an #apt360, eh?
[19:52:15] <fenn_gohan> or just #cam
[19:52:22] <bytecolor> fenn_gohan, nod
[19:52:42] <bytecolor> there are so few *good* cad/cam tools for linux
[19:52:52] <fenn_gohan> so few at all even
[19:53:39] <bytecolor> I was actuallly supposed to write documentation for emc at one time
[19:53:53] <bytecolor> but I got slack, and didn't follow through
[19:54:20] <bytecolor> two or three years ago, maybe? I remember talking to someone named Paul.
[19:54:34] <bytecolor> There is still a log of it somewhere on line.
[19:54:36] <fenn_gohan> better to just do it rather than promise to do something
[19:54:51] <bytecolor> nod
[19:55:43] <fenn_gohan> that's why i'm not worried about there being a lot of different cam programs.. if people tried to work together nothing would get done
[19:56:07] <fenn_gohan> sounds odd but i've seen it happen a lot
[19:56:31] <bytecolor> it's difficult. DanielFalck has expressed interest in helping me, but I've told him I just dont know how to apply his skills
[19:56:44] <tomp> how apt construction lines relate code to graphics
http://imagebin.org/7242
[19:56:48] <DanielFalck> my skills are limited
[19:56:54] <bytecolor> plus I'm still kinda of stumbling around in the dark with vapt
[19:57:00] <DanielFalck> I have good skills with BS
[19:57:07] <bytecolor> hah!
[19:57:21] <bytecolor> DanielFalck, that's a fine skill to have at times
[19:57:32] <DanielFalck> but I did con you into showing up here : )
[19:57:59] <tomp> is that legible (enuf)?
[19:58:19] <DanielFalck> kind of small text
[19:58:32] <bytecolor> ditto in the wee letters
[19:58:50] <tomp> yeh, but it'd be in a tutorial, real text outside
[19:58:51] <lerman> tomp: I just saw your name in pyvcp_widgets.py. Did *you* see my recent mail on the developers list and can you help?
[19:59:01] <awallin> lerman: which post are you referring to?
[19:59:28] <tomp> lerman: no ,but between awallin & myself, maybe we can help
[19:59:33] <lerman> Asking for a pyvcp widget to display scrolling text from the tail of a file (actually a named pipe).
[20:00:05] <tomp> it'd need to be added ,but may be simple to get the widget
[20:00:16] <lerman> It would require a separate thread (I think) -- although it could just poll the file.
[20:00:24] <tomp> but the piping maybe more complex
[20:00:43] <awallin> would the file be the one that is currently loaded into the emc interpreter ?
[20:00:51] <lerman> No. A named pipe is just a file. You open it, read it, etc.
[20:01:12] <lerman> The file would be written by the interpreter with error messages, traceback stuff, etc.
[20:01:28] <awallin> ah, I see
[20:01:39] <lerman> In someways, it would be neatest if it were just another tab in axis.
[20:01:42] <robin_sz> thats the thing about Linux .... EVERYTHING is a file ...
[20:01:54] <lerman> Yes. (about linux).
[20:02:20] <awallin> until now pyvcp has communicated with any other problems only through HAL, so including file access brakes this clean idea somewhat
[20:02:28] <lerman> Named pipes are like magic.
[20:02:28] <awallin> eh... programs
[20:02:51] <lerman> Yes. But adding stuff to the nml interface is a bear to do.
[20:03:05] <lerman> You need to create structures in shared memory, etc.
[20:03:17] <awallin> can this file be opened for reading and polled once in a while even though some other program is writing to it?
[20:03:43] <awallin> ok now I see your post
[20:03:47] <lerman> I could have then interpreter generating the stuff to a file in an hour or two.
[20:04:23] <DanielFalck> tomp, #cam
[20:04:29] <lerman> The idea is that the gui starts first and opens the file for reading. Then when the interp starts, it opens the file for writing.
[20:04:40] <bytecolor> emc still using tcl/tk?
[20:04:44] <tomp> awallin: what do you think about adding widget 'text'
[20:04:51] <lerman> Anything written by the interp appears automagically.
[20:05:12] <DanielFalck> bytecolor, yes and I think pyopengl
[20:05:20] <bytecolor> ah
[20:05:21] <lerman> A nice thing about pyvcp is that we could have multiple file widgets -- each with a separate tab in a notebook.
[20:05:27] <bytecolor> I havent used it in a loong time
[20:05:27] <DanielFalck> for Axis gui
[20:05:42] <awallin> tomp: by 'text' you mean lermans scrolling-text-from-file idea ?
[20:05:59] <awallin> DanielFalck: AXIS uses jeplers own OpenGL wrapper, minigl, not pyopengl
[20:06:12] <DanielFalck> ok
[20:06:14] <tomp> awallin: a new widget, but a std tkinter widget of type 'text'
[20:06:30] <lerman> Have any of you used 'Twisted'?
[20:06:39] <awallin> lerman, tomp: it's certainly doable, I can look at it now for a while and report back here if I get something going quickly
[20:06:46] <lerman> Looks like it supports async IO, nicely.
[20:07:17] <lerman> awallin: that would be great.
[20:08:03] <lerman> Software by committee -- it may look like a camel, but when you live in a desert, that's great.
[20:26:46] <tomp> jepler: cradek: plz #cam
[20:35:05] <DanielFalck> Twingy #cam
[20:35:16] <Jymmmm> Jymmmm #cam
[21:02:09] <jmkasunich> join #cam
[21:04:19] <Jymmmm> jmkasunich: "QUICK! /join #cam"
[21:04:36] <jmkasunich> :-P
[21:05:42] <lerneaen_hydra> anyone here do java?
[21:05:56] <Jymmmm> Well, I got half the IR KYBD/Mouse working... kinda hard to test mouse from BIOS =)
[21:07:24] <Jymmmm> Didn't get to bed till 4am working on figuring out the pinout.
[21:11:41] <CIA-19> 03lerman 07TRUNK * 10emc2/src/emc/rs274ngc/ (interp_internal.hh rs274ngc.hh rs274ngc_pre.cc):
[21:11:41] <CIA-19> Some minor changes that permit the specification of interpret debugging file and logging levels in the
[21:11:41] <CIA-19> .ini file. The contents of the debugging file are meaningless drivel to anyone except a developer. Further
[21:11:41] <CIA-19> work will be required to make the levels useful.
[21:21:13] <Jymmmm> lerneaen_hydra : Only the liquid kind.
[21:21:34] <lerneaen_hydra> haha
[21:23:57] <Jymmmm> Ok, out to go pintout an ISA bus =) Wish me luck!!!
[21:32:15] <robin_sz> bah, the vi key to undo what you just did is u, (like ctrlz in doze) .. whats redo in vi?
[21:42:40] <awallin> lerman: this would be a first quick-and-dirty implementation of a text display for pyvcp
http://imagebin.org/7243 take a look and see if this would be good enough for a start. I'm now doing it with an actual file, is there a way I can test my code with a named pipe? I don't know how to do that
[21:45:27] <awallin> the code does the polling in the simples way possible: for each update (every 100ms): open the file, check the number of lines, if number of lines is larger than last stored value then update text, close file
[21:46:36] <awallin> one problem is that if the file is updated with more than one new line between polls, then only the last line gets displayed
[21:46:58] <awallin> so it would only work if the interp did not write new stuff to the file more often than every 100ms
[21:59:03] <jtr> robin_sz: I think it's u again - reverses the last change
[22:02:24] <awallin> lerman, tomp: here is the code for my test
http://www.pastebin.ca/349542 this is a standalone program, but could quite easily be made into a pyvcp widget
[22:03:06] <robin_sz> jtr: nope .. u just keeps undoing more and more ...
[22:03:16] <robin_sz> jtr: its :red[o]
[22:07:48] <jtr> Oops. older version or bad memory - that's my excuse, and I'm stickin to it.
[22:20:16] <jmkasunich> awallin: why are you polling the file at all?
[22:21:56] <lerman> If it can run in a separate thread, it could just read and display what it gets.
[22:22:20] <jmkasunich> or it could do a non-blocking read (if adding a thread is messy)
[22:22:58] <lerman> An issue seems to be that you tell the master to hit you every 100 msec.
[22:23:43] <lerman> I hate polling like that. Twister would let you do a 'select' to be run when data became available.
[22:23:46] <awallin> I'm open to suggestions... but we first need to decide how the text to be displayed is stored. if it's in a file, some kind of polling is neccessary
[22:24:08] <lerman> I know enough about Twister to drop the name.
[22:24:14] <jmkasunich> lerman: I agree that select is normally the way to go
[22:24:28] <jmkasunich> but pyvcp normally is used to display the status of HAL pins
[22:24:33] <jmkasunich> not files
[22:24:38] <jmkasunich> polling is the only way to go
[22:25:05] <jmkasunich> (the underlying premise for most hal pins is that they are discrete time sampled signals, usually with a sample rate _far_ higher than the display rate
[22:25:12] <lerman> So, I understand.
[22:25:27] <lerneaen_hydra> 'night all
[22:25:28] <jmkasunich> my question: is pyvcp even the right place for this text thing?
[22:26:05] <jmkasunich> you asked for a widget in your message
[22:26:17] <jmkasunich> awallin assumed you meant a pyvcp widget
[22:26:22] <awallin> jmkasunich: I think a 'clean' gui window with everything that an advanced user would need in the same window would be a good goal
[22:26:50] <awallin> so in the future I would want: tool-table editor, offset (var-file) editor etc. all integrated into the gui
[22:26:52] <jmkasunich> ok - today you can put pyvcp things into an axis window, or in a standalond window
[22:27:14] <anonimasu> hm, and auto tool length setting..
[22:27:17] <awallin> pyvcp is now one easy way to extend AXIS. and AXIS seems to be the preferred gui for a lot of people
[22:27:23] <lerman> Yes. I'm not sure what I wrote, but I was thinking pyvcp widget. I like the idea that it could be integrated.
[22:27:40] <jmkasunich> I guess it depends on perspective
[22:27:54] <jmkasunich> if you see pyvcp as "virtual controls for hal", then text doesn't belong
[22:28:15] <jmkasunich> if you see it as "configurable gui builder that has hal widgets as well as other widgets" then it does belong
[22:28:15] <lerman> I see pyvcp as a way of modularly extending a gui.
[22:28:19] <jmkasunich> how do you see it?
[22:28:26] <lerman> HAL is only part of it.
[22:28:35] <alex_joni> anyone around here able to read a kernel oops?
[22:28:42] <lerman> jmkasunich: I assume you are asking awallin .
[22:28:42] <awallin> yes, but emc is more than hal, so if you see puvcp as a control panel for emc, then perhaps NML/files etc. can be controlled/displayed from pyvcp
[22:28:58] <jmkasunich> ok
[22:29:23] <jmkasunich> I'll always want the ability to run it stand-alone without any NML cruft, but thats a side note
[22:30:16] <jmkasunich> if pyvcp is being extended to do more powerfull things, this is not the last time that polling is going to be a pain in the ass
[22:30:33] <awallin> it runs standalone now, and I don't see why it wouldn't in the future
[22:30:38] <jmkasunich> most tkinter widgets are event driven, right?
[22:30:45] <awallin> yes
[22:30:51] <awallin> but HAL isn't !
[22:30:55] <jmkasunich> right
[22:31:01] <jmkasunich> I'm just brainstorming here
[22:31:28] <jmkasunich> ignoring the hal update issue for the moment
[22:31:35] <lerman> So... the real time part isn't event driven, but the non-real time part is. And that makes sense because...?
[22:31:41] <awallin> so, because HAL isn't event driven, each pyvcp widget has an update() method that is run every 100ms
[22:31:49] <jmkasunich> is it possible to set up something so that "data is available for reading on file X" is an event and causes a callback?
[22:31:52] <lerman> ...we got there because of history.
[22:32:18] <awallin> jmkasunich: probably, but then your function that generates the event would have to do polling?
[22:32:21] <jmkasunich> lerman: nothing about pyvcp is realtime
[22:32:55] <jmkasunich> awallin: I'm not communicating well
[22:32:56] <lerman> I know. I was thinking of the future where we 'fix' pyvcp.
[22:33:07] <lerman> So that pyvcp is event driven.
[22:33:27] <jmkasunich> ignoring HAL for the moment ;-)
[22:34:10] <jmkasunich> when you set up a widget that accepts mouse clicks, you don't have to poll for mouse clicks
[22:34:17] <jmkasunich> tkinter handles that
[22:34:19] <lerman> Well, a 'simple' change to HAL so that it bumped a semaphore when it changed things would let us be more event driven.
[22:34:19] <awallin> correct.
[22:34:35] <jmkasunich> for all I know, it does a select() on /dev/mouse or something
[22:34:43] <jmkasunich> lerman: what "it"?
[22:34:52] <jmkasunich> hal is changing things 1000 times a second
[22:35:01] <jmkasunich> (or 50000 times a second, if you count the base thread)
[22:35:40] <lerman> Yeah 'it' is a problem. You could have multiple semaphores, one for each 'class' of things that HAL was diddling.
[22:35:43] <jmkasunich> pyvcp is very much undersampling hal signals - so its sampling rate needs to be determined by it, not by hal
[22:36:20] <jmkasunich> no, no, no.... it is perfectly reasonable for pyvcp to display (every 0.1 seconds) something that hal is changing every 0.001 seconds
[22:36:33] <lerman> HAL has a lot of signals, so it would be difficult to have one semaphore for each.
[22:36:49] <jmkasunich> it would be evil and gross to even consider that
[22:36:53] <lerman> Also, right now, there can be many readers for a single writer.
[22:36:58] <jmkasunich> exactly
[22:37:06] <lerman> Well, gross -- perhaps not evil.
[22:37:31] <jmkasunich> some pyvcp widgets are just like halmeter - they are giving the user a slow look at something that is actually working at a high sampling rate
[22:37:31] <lerman> Evil is the idea that there can be many concurrent gui's controlling the same machine.
[22:37:41] <jmkasunich> well, that goes back to nist
[22:38:29] <jmkasunich> (and there are reasonable arguments in favor of it - like a main gui at the front of the machine, and another one around by the toolchanger for use when loading tools, or a cell level controller, etc)
[22:38:36] <lerman> I know. NIST is not perfect. But we have what we have and changes must be incremental.
[22:38:37] <jmkasunich> but we digress
[22:38:51] <jmkasunich> how are event loops usually implemneted?
[22:39:01] <jmkasunich> the average GUI doesn't poll for mouse clicks or keyboard input
[22:39:33] <lerman> Yeah. They do a 'select' on multiple fd's. QT even allows you to add your own items.
[22:39:58] <lerman> Twister does, too (that's three times I've dropped the name -- without a bite).
[22:39:59] <jmkasunich> I imagine that it does a select() call on /dev/keyboard (or stdin, or some equivalent) and /dev/mouse, and whatever else might generate an event, with a timeout if you have other stuff
[22:40:22] <jmkasunich> I don't know anything about Twister, and have no desire to learn ;-)
[22:40:26] <lerman> All I know about Twister is a few minutes looking at the web page.
[22:40:47] <jmkasunich> that is infintely more than I know
[22:40:53] <jmkasunich> starting with "what is it?"
[22:41:04] <jmkasunich> a language? a gui toolkit? both?
[22:41:09] <lerman> I have little desire to learn much about python, but I've pretty much decided that it might be the way to go for my GWiz project.
[22:41:55] <jmkasunich> googling twister was unhelpful
[22:42:04] <jmkasunich> found this tho:
http://www.turdtwister.com/
[22:42:19] <lerman> Twister is more of a framework. There are multiple projects in it. It does protocol stuff. Built in html, tcp, etc.
[22:42:24] <lerman> http://twistedmatrix.com/projects/core/documentation/howto/book.pdf
[22:43:14] <awallin> is there a way to pass the errors/messages that lerman is thinking about via NML messages ?
[22:43:25] <jmkasunich> eww
[22:43:32] <lerman> The model is to use non-blocking system calls to handle all connections in one thread (from the intro).
[22:44:24] <jmkasunich> the twisted model?
[22:44:40] <lerman> eww was my reaction. Adding NML messages would be a pain. If I were to do that, I would probably want to add a generic way of passing a stream of text out thru NML.
[22:44:41] <jmkasunich> or did I get lost in a subject change
[22:45:41] <lerman> Yes that is the twisted model. They describe three possible models: handle each connectionas a separate OS process, handle each connection in a separate thread, and use a single thread to handle all connections.
[22:46:01] <jmkasunich> just read that paragraph - I guess we're in sync
[22:46:10] <lerman> Since that happens to be my preferred way, I like twisted.
[22:46:28] <lerman> Even though I've never used it (and just heard about it yesterday).
[22:47:02] <jmkasunich> It just lost me
[22:47:08] <lerman> where...
[22:47:49] <jmkasunich> 1. it calls a connection function to connect to the remote server;
[22:47:49] <jmkasunich> 2. the connection function returns immediately, with the implication that the notify the email sending library will
[22:47:49] <jmkasunich> be called when the connect has been made; and
[22:47:49] <jmkasunich> 3. once the connection is made, the connect mechanism notiļ¬es the email sending function that the connection is
[22:47:50] <jmkasunich> ready.
[22:47:58] <jmkasunich> you call 1, and it returns
[22:48:08] <jmkasunich> how does 3 happen?
[22:48:27] <jmkasunich> if 1/2 returned execution to the caller, the callback must happen in another thread
[22:48:45] <jmkasunich> or is the caller expected to eventually give up the thread so pending callbacks can happen?
[22:49:24] <lerman> Through a callback in the same thread. Yes, everything is a callback (more or less) and every callback returns My wife is calling me to (take her out to
[22:49:46] <lerman> ) dinner. I'll be back in an hour. Sorry to run.
[22:49:50] <jmkasunich> ok
[22:50:17] <jmkasunich> awallin: still here?
[22:50:59] <awallin> yep
[22:51:13] <jmkasunich> ignoring twisted for the moment
[22:51:25] <awallin> ok, I know nothing about it
[22:51:25] <jmkasunich> we currently have two channels for information
[22:51:27] <jmkasunich> HAL and NML
[22:51:41] <jmkasunich> lerman is suggesting another - pipes
[22:52:09] <jmkasunich> I guess the debate over whether that is a good thing should happen when he is around
[22:52:29] <jmkasunich> but lets assume the debate is over, and we're worried about implementation
[22:52:50] <awallin> ok. I'm afraid I know very little about NML
[22:53:43] <jmkasunich> normal event loop behavior is probably a select() call, waiting for activity on any of several file descriptors (keyboard, mouse, etc), with a timeout so periodic things can be handled
[22:53:54] <jmkasunich> that is very efficient - the select suspends the process until something happens
[22:54:18] <jmkasunich> our problem is that we want to add another file (the pipe) to that select call
[22:54:27] <jmkasunich> but the call is buried somewhere inside tkinter
[22:54:44] <jmkasunich> the question (from /me who knows zero about tkinter) is:
[22:54:53] <jmkasunich> does tkinter supply an api to let you do that?
[22:55:16] <jmkasunich> hmm - getting to be dinner time here too
[22:55:35] <awallin> I'm not sure I follow completely. You want an event to happen whenever the content of a file/pipe changes ?
[22:55:51] <jmkasunich> whenever data becomes available for reading
[22:56:10] <jmkasunich> (at which point, we read it all)
[22:56:49] <awallin> if that is generally available in other programming languages that handle text files, then I'm sure someones implemented it in python too
[22:56:58] <jmkasunich> that usage of select is common
[22:57:16] <awallin> but I didn't find anything quickly, so I did the open, read, close loop thing
[22:57:15] <jmkasunich> for instance, webservers do a select on their open port(s)
[22:59:19] <jmkasunich> looks like tkinter has its own list of events
[22:59:26] <jmkasunich> and files aren't part of it
[22:59:44] <awallin> tkinter events would be concerned with the gui widgets only
[23:00:02] <awallin> but it's possible to write your own event
[23:00:06] <jmkasunich> so the tkinter event loop is inherently unable to deal with other kinds of events?
[23:00:48] <awallin> no I don't think so. If you write a piece of code that somehow senses when something should happen, it could generate an event
[23:01:03] <jmkasunich> that won't work for us
[23:01:13] <awallin> and a tkinter widget that is bound to this event could react
[23:01:24] <jmkasunich> (at least not without additional threads)
[23:01:54] <jmkasunich> a plain old "read" call (C read, I dunno how file IO works in python) will suspend the current thread/process until data is available
[23:02:25] <jmkasunich> very efficient (compared to polling) but you can't read() in the event loop, or you suspend the entire application
[23:02:37] <awallin> the readline etc. functions in Python just return an empty string if we have come to the end of the file
[23:02:47] <jmkasunich> they don't block?
[23:02:57] <jmkasunich> then we can poll
[23:03:04] <awallin> no, they always return something
[23:03:28] <jmkasunich> "something" being an empty string if you are at end of file?
[23:03:57] <jmkasunich> then you could put this in the update function for the text widget:
[23:03:59] <awallin> I wanted to do just one open(filename) in the beginning, then the read commands in the loop, and then a single close(filename) in the end. but I didn't get that to work (just tried quickly)
[23:04:03] <jmkasunich> (pseudocode)
[23:04:16] <jmkasunich> open when the widget is created
[23:04:18] <jmkasunich> close on shutdown
[23:04:24] <jmkasunich> in the update:
[23:04:44] <jmkasunich> while ( readline(file) returns non-empty line ) : print what it returned
[23:04:57] <awallin> yes.
[23:05:08] <awallin> I think that is possible with some tweaking
[23:05:12] <jmkasunich> is that more-or-less what you tried?
[23:05:53] <awallin> yes, I tried that. it runs fine the first time, but then i add some lines to the textfile and press save, but the new lines don't appear
[23:06:04] <jmkasunich> what do you mean by press save?
[23:06:10] <awallin> so it seems open(filename) also somehow sets the length of the file
[23:06:13] <jmkasunich> how are you modifying the textfile?
[23:06:30] <awallin> I was editing the textfile in gedit, and when pressing save the widget should update
[23:06:41] <jmkasunich> using an editor won't work
[23:06:59] <jmkasunich> when gedit saves the file, it actually creates a new one, writes the entire file to it, then does some renaming
[23:07:14] <jmkasunich> the file you originally opened is _not_ the one that gedit writes to
[23:07:18] <awallin> ah, that makes sense then
[23:07:21] <jmkasunich> I'd test it like this:
[23:07:27] <jmkasunich> $ echo crap >foo
[23:07:37] <jmkasunich> $ echo morecrap >foo
[23:07:41] <jmkasunich> $ start the program
[23:07:47] <jmkasunich> it should print crap; morecrap
[23:07:57] <jmkasunich> then $ echo stillmorecrap >foo
[23:08:09] <jmkasunich> oops
[23:08:13] <jmkasunich> >>, not >
[23:08:32] <jmkasunich> you want to append to the existing file, not overwrite it
[23:08:34] <awallin> is foo an actual file, or this named-pipe thing?
[23:08:44] <jmkasunich> in this example, foo is the file
[23:08:51] <jmkasunich> but a named pipe works pretty much the same way
[23:08:54] <awallin> ok, I'll try that
[23:14:24] <awallin> yep, it works. echo some text >> foo now works, and the widget is updated with "some text"
[23:14:44] <awallin> Now I only open the file at the beginning of the program, and close it at the end.
[23:15:13] <awallin> still doing periodic polling of the number of lines in the file with a call to file.readlines() which reads all the lines in the file
[23:19:52] <awallin> I'm going to sleep now, might work on the text widget some more tomorrow if people think it's useful, and lerman makes some changes to the interp so I can test it.
[23:33:47] <jmkasunich> python filehandling is incredibly borked
[23:33:56] <jmkasunich> read() reads the whole stinking file
[23:34:05] <jmkasunich> what if its 100 megabytes?
[23:35:20] <cradek> os.read?
[23:36:01] <jtr> awallin: could you run "tail -f" ? The -f option tells it to output appended data as a file grows.
[23:36:18] <jmkasunich> jtr: you mean the command line tail?
[23:36:35] <jmkasunich> what we're trying to do is imitate exactly that behavior in a widget
[23:37:15] <jtr> yes. wondered if it would work with a named pipe.
[23:39:36] <jmkasunich> seems like readline (not readlines) would be the right approach
[23:46:13] <lerman> lerman is back. (if anyone cares)
[23:47:33] <erDiZz> Hello. I've found that EMC's gcode interpreter is sensitive for LC_NUMERIC. environment variable. In my default ru_RU.UTF-8 locale the decimal delimiter is a comma, and the interpreter doesn't work with sample .nc files
[23:47:47] <erDiZz> was it addressed before?
[23:48:59] <erDiZz> it works only if I do "export LC_NUMERIC=POSIX"...
[23:49:25] <jmkasunich> erDiZz: no idea...
[23:49:38] <jmkasunich> it might assume american style numbers
[23:49:47] <erDiZz> EMC itself works with any locale settings
[23:49:56] <erDiZz> but I'm trying to use the interpreter alone
[23:50:06] <jmkasunich> erDiZz: no idea...
[23:50:12] <erDiZz> ok
[23:50:18] <jmkasunich> lerman might know ;-)
[23:50:33] <erDiZz> grepping emc files for LOCALE, or for POSIX etc. gave nothing
[23:50:40] <lerman> The interp uses strtod to read real values. I assume that strtod cares about the locale.
[23:50:53] <erDiZz> yep, it does
[23:51:16] <lerman> erDiZz: beat me to it. yep it does :-)
[23:51:52] <erDiZz> I remember that glib has a special function that always use POSIX locale, "unlike strtod" the docs say
[23:53:35] <erDiZz> I thought that if EMC isn't sensitive to it (as it seems to be), then you've addressed that already :)
[23:53:46] <lerman> 'man setlocale' tells me that there is a function that I could use to specify the locale. We could add something to the interp to forces appropriate handling.
[23:54:13] <erDiZz> yeah, but it'll break the locale as a whole
[23:54:19] <lerman> Using some newly acquired knowledge, we could add something to the .ini file.
[23:54:23] <erDiZz> I want commas in my UI, when it's in Russian
[23:55:07] <jmkasunich> but you still want decimal points (periods) in the g-code?
[23:55:12] <lerman> Part of the issue is that you can't run the sample programs as they are distributed.
[23:55:32] <erDiZz> jmkasunich, I think I want both points and commas there
[23:55:36] <lerman> If you force recognition of commas.
[23:55:43] <erDiZz> I'll better replace strtod with something customized
[23:56:29] <lerman> On the other hand, we could make it so that either comma or dot was accepted as the decimal point. More precisely, convert all commas to dots (since commas are not legal in gcode) except in comments where we would leave them alone.
[23:57:03] <lerman> We already scan each line and convert UC to LC. Just add a conversion of comma to dot.
[23:57:29] <erDiZz> but then there's the locale which, I'd like to keep
[23:57:44] <erDiZz> well, I'll just replace strtod at this time
[23:57:56] <lerman> Someone who knows something about this should put a proposed functionality into the wiki for discussion. I'll implement whatever is needed (in the interpreter).
[23:58:08] <erDiZz> hm, ok
[23:58:34] <lerman> I think that the setlocale function just changes the behavior in the current executable. I doubt that it leaves it changed.
[23:58:47] <lerman> Whoops. Change that I think to I guess.
[23:59:13] <erDiZz> lerman, is "both commas and dots wanted, and independently of the current locale" a suitable formulation?
[23:59:30] <lerman> The man change does refer to the "processes locale"
[23:59:54] <erDiZz> process's locale should stay intact