yay, live plot display in my rs274ngc display app: http://craie.unpy.net/~jepler/rs274py-gplot-live.png jepler: wow jepler: check it in! jepler: you need to come up with a name for it Up early John ? Hi Paul, are you here ??? Hi Imperator_ Hi Paul how are you can you give me a short overview what was going on the last two weeks. In one sentence maybe Not a lot... Vreified the origins of emcplot3d and found it is subjuct to a non-commercial licence. so it has to be rewritten On going discussions about where he emc2 files should go when installed jup I am thinking on making EMC able to drive a gantry axis, but i want to discuss the way to do that before jepler already has a python based replacement for emcplot3d phyton emc gets a multi language software tcl c c++ phyton Python is usefull for rapid development of all sorts of stuff... ok do you want to say something about the gantry axis, or did i have to discuss that with john ? hope he is here today You wanting to slave two drives ? jep i think this is not that big deal, but homing would be a problem EMC will drive an XXYZ machine i have spoken with the guys of Heidenhaim, they said that not so much controllers are able to do that without any changes to the code hm but you are correct in your assumptions about homing It would be a pain... but the XX Axis must move in any case exactly the same yup free mode kills everything :-) yes there is no work in prozess at the time, or ?? or anything that could help Hi les hello Les would know about the problems of an XX axis "*paul_c passes the buck well, emc was/is not set up for it but I use a jackshaft to drive the big gantry on my machine twin ballscrews ok, i want to change that, or better i have to because my frends are starting to build such a machine at the moment and my tast is to get it work great :-) ok that is also our backup solutian the jackshaft transmissions I made were very expensive but work well one problem with electronic gearing.... be get two linear encoders from heidenhain with 1700mm and 2200mm at ebay is that the aparent mass that each end sees is constantly changing so with fixed tuning some racking forces can exist due to unequal following error i think that is very easy to solve with the HAL, i have only to conect two PID controller to one X output, but homing is the problem i think with very tight tuning it works fine though the best tandem systems would use feedforward based on the position of ANOTHER axis the one(s) carried by the tandem driven axis but what about homing? what problem do you see there? i must home that two axis the same time !!! otherwise the machine is gone oh... hmmm and then i have to deside how to synchronise them well if one truly slaved off the other... because they are out of sync when i switch of the machine in other words commanded position of one=measured position of the other rather than just independent ithink commanded possision must be the input for both axis that is with HAL very easy but they must be synchronised at homing true slaving/electronic gearing needs this and emc does not do it as far as I know but right...very easy to code then home the master and the slave follows (with servos) There will always be a group delay between then due to integrators in the control laws but it coulsd be very small could hope so high servo updates... jep no big problems that I see...just has to be coded If a y is riding on a gantry x... the master and slave x will benefit from a zero order feedforward term based on the square of y position (due to moment of inertia of y) godd idea there are some smal problems that make the think interesting :-) in the general sense inverse kinematics need jacobians and stuff in the control laws but for an xxyz not very complicated I wish I could have figured out where to write this into emc1 math is easy but figuring out the code was not so jackshaft, transmission, and mechanical pitch matching cams are what I had to use BIG $$$$$ that I would have preferred not to spend jup well I am going to make some breakfast...back in a while ok i will have a deep look into the code, see you ok...one last thing...if one does true slslaving for xxyz where racking error is made closed loop... he will have solved lathe threading as well. hm I'm not sure, because that is another thing but i don't know good morning golks er, folks hi jepler are you new here ?? I was two weeks away and i have never seen you before I am a guy from germany how wants to make emc able to use ganry axis I've been around a few times before, but not that much. I'm a friend of cradek, and sometimes I borrow his mill to do circuit boards I've done a little work improving emcplot3d, and most recently I've been writing a g-code interpreter and viewer in Python, which I believe Paul mentioned earlier. jep I have heard about it, is it in the CVS ?? Nope, it's not in emc cvs There's a screenshot online: http://craie.unpy.net/~jepler/rs274py-gplot-live.png and my cvs can be viewed online: http://unpy.net/cgi-bin/viewcvs.cgi/rs274py/ hm, that looks nice It only supports a small subset of rs274ngc so far very good, that are the tools that will make working with emc much easyer I was surprised that Paul immediately suggested checking it into emc2, it's so far from complete, duplicates the parser and interpreter, and is in a new language not used in emc before... jep that with the new language is a problem, but if it is easyer with phyton, than it makes sense I think Python is much easier to code than C or C++, but that's only an opinion. I don't know phyton, i had only sometimes a look on some phyton scripts for me it was not so easy to understand. but without a closer look on the language i can't say anything back... noy familiar with python not but looks like a great project jepler thanks I had to just learn a new scripting language for DAQFactory data aquisition for some industrial testers I have to make using steppers with encoders... I wonder if it is a python derivative the code is compiled Python is bytecompiled (like Javal without JIT) er, Java I picked that data aq ap because it supported USB devices...and Linux...and was cheap very poorly documented though (but the authors are always by their phones) jepler is way ahead having just developed the new Javal language though :) I have a coworker named Javal, and I must talk about him more often than that hyped language haw hello hi alex *Imperator_ south africa was great nice to hear that any safari experiences? a smal one, on a game park, and we have found the lions sometimes they hide completly they walked next to our car, that was great nice ... any news on the lion mens? :-) they are finished one is for a museum in paris i think and one for New York cool... *alex_joni is reading through the logs from yesterday... so you want to build a XX machine? jepler: nice work... jep, at the moment i look how Heidenhaim and siemens are doing that will this be a portal? or two different X axis's a portal, or better a ganry axis so same motors, same ratio on both X'es? jep then ... why don't you drive just one? and mirror the other one? what kind of servos do you want to use? you mean wirering it with the HAL ? no.. I mean wireing it externally 1 X axis for HAL the problem is homing, because you have to bring the axis in sync after switching the machine on well... they should be in sync at all time maybe use breaks when the machine is switched off you mean by electronic ?? My drives don't have this function what kind of drives? i think that all is not that big deal, but i have to find the right way to implement it Siemens Simodrives 610 analog servo drives so you drive them with voltage? -10/10 V ? and i have linear encoders for all axis jep I see... then not :( ebay is great, we have now some Heidenhain linear encoders on with 1700mm and one with 2200mm how much? the 2200 mm one? 220 EUR each Ls603C nice... vrey cheap very hope that they are working :-) :-) would be great for a fast rack and pinion machine yup.. maybe too precise... Les: what's that ???? those are usually 10 microns or less haha 10 microns maschine mit zahnrad rack & pinion really...the fastest is rack...but you need to have rack registration errors in the feedback loop ah Zahnstinge ??? Zahnstange yup les: how do you mean that? I have seen them with several METERS per second travel a ball screw makes less problems Imperator_: yes, but it can get VERY expensive on long joints they are making up to 120m/min with ball screws yes ballscrews are much easier...but much more inertia 120m/min = 2m/s pretty much... that is fast don't know how that looks on a 3m axis... if you have very long spindels you are turning the nut I looked into spinning nut closely les: how is that rack registration error you're talking about? expensive transmission Alex: errors in the tooth profile of the rack..... the nice thing is that at such speeds the balls in the ball srews reach supersonic speed and you remember, monitor those? with linear scales they can be corrected that sounds not so nice supersonic...wow les: any examples who does that? I had calculated the angular velocity of the balls in a router spindle at 24,000 rpm yes let me find a link... was jmk around? no only the logger I see.. John ..... wake up :-) .... still sleeping lol... it's still early in the us anybody has a TNG around? jep http://www.andantex.com/preload.html precision cnc racks... must be a fortune can be used with rotary encoders... but linear encoders correct for tooth profile wear alex: yes $$$$$$$$$ too much for me :-) I could build them but still too much Alex you mean the redhat based BDI ? I used split pinion systems Imperator_: yes hardened rack? Redhat 7.2 ore something, that is my EMC installation, what do you want to know les: 15m axis on a robot system not built by me... ;) I just installed it... wow biggest I did was 7 meters smallest 25 mm travel the company I work for (CLOOS.de) did a bigger one... let me check the numbers (don't wanna lie to you...) the 7 meter one was just a pick and place gantry...just moved boxes and stuff these are all +/- 0.1 mm precision the 25 mm one was voice coil drive and could do 100G 3 axis X=72000, Y=2x16000mm, Z=4000mm, X'=2500mm 72m is pretty big ;) anyway...the rack systems can outperform just about anything out there xcept linear motors I agree on that *alex_joni has no experience with linear motors.... not much with me either...costs too much *alex_joni doesn't like that cost too much... like software ;) same here *alex_joni has gotta go... but he'll be back :) Yo Ray Hi Paul. Have we got a discussion going? Did have one about an XXYZ setup With servos or steppers. Also have had a little bit of discussion about a python based backplotter (3D) for emc2 Thought you didn't like python! not by me... jepler has been working on it.. What would be the advantages? able to GPL the code in the future, use the vtk toolkit for solid modeling Python could be used to test new G codes before being coded for emc propper We could gpl the code. It's just you and me that wrote it. oops poor English there. nope - The stuff jepler has done is based on emcplot3d design Solid modeling would be nice. Dan has looked at varcon and other projects. The filtering of g-code would be a great help to folk that are working from cam. Hi Steve. anyway, if some brave soul wants to try it, or just look at the source, the latest version is here: http://craie.unpy.net/~jepler/rs274py-0.9.3.tar.gz You'll need Python 2.2 or 2.3 and PyOpenGL Yawn... hi Ray. Coffeeeeeeee I wouldn't say it's based on emcplot3d (though I have read emcplot3d source, and contributed some patches through cradek) based=the basic idea of a standalone app jepler: Got any screen shots? I'm py illiterate. rayh: http://craie.unpy.net/~jepler/rs274py-gplot.png http://craie.unpy.net/~jepler/rs274py-gplot-live.png Talking of screen shots.... Thanks. Going there now. My link is s l o w. paul_c: I just want to be clear that rs274py is ""clean"" code that can be safely licensed under the GPL, not subject to the emcplot3d license BDI-3.xx - Have a desire for a series of 500x325 images to use in the final stages of install.. Wow. Nice looking mascot. jepler: Any C/C++ code in it ? paul_c: the live plot code uses a small C++ program that prints the position of the mill on stdout http://unpy.net/cgi-bin/viewcvs.cgi/rs274py/emcshow/emcshow.cc?rev=1.1&content-type=text/vnd.viewcvs-markup but no C/C++ used for plotting ? Just got an email from Art Haas. He says; I'm pleased to announce the eighteenth development release of PythonCAD, a CAD package for open-source software users. As the name implies, PythonCAD is written entirely in Python. paul_c: no. once the file is parsed, it's converted into an OpenGL display list, so the navigation is very fast paul_c: the parsing step can take a long time, though (only about 1kline/sec on a 2.4GHz PC) I would say that you are probably free of emcplot3d licence restrictions then. I notice that emc1 kinda blinks out for a while when I load large gcode files...often a minute or so but my files are many Mbytes how much memory have you got ? not enough I'm sure...64M This is a tickle problem. We need to add a continue while loading. Ray - PythonCAD is not mentioned on LinuxCNC page. Got a link or comments? learath: probably getting bogged down with swapping stuff out to disk. les: probably getting bogged down with swapping stuff out to disk. the wait is not a big problem...but the open file window goes away and leaves a blank there... no big deal though http://www.pythoncad.org/ Right. It is purely my problem with the code. We didn't see bif files during the writing. I'm in a different league than you guys. A ""big"" file is maybe 10k lines of code big big... most files are a few thousand lines at most When I load the ""heart"" test program for Sherline, the screen freezes, mill starts moving, and about a minute later the display catches up. *paul_c gets bogged down with multiple kernel compiles... Gotta read the relevant section in my tickle books and fix both the tkemc and mini code. if you have long-running code and want the screen to repaint but don't want the user to be able to click buttons etc, you want to call ""update idletasks"" from time to time. In regards to the python and pyopengl -- It seems to me that we are quickly multiplying the number of packages that must be installed in order to run a complete system. How do we feel about, requiring tickle, tclx, gtk, python, and pyoopengl... Python is already on the BDI disk. paul_c: which version? 2.3.3 on Live hi all hi chris! 2.3.2 on the Knoppix I'm using. hello Chris 2.3.3 on suse. 2.2.x and newer are good for rs274py right now jepler: How can I check on the pyopengl? rayh: python -c 'import OpenGL' will fail if you don't have it python on the BDI-2.xx will be a vintage version The big problem with pyopengl is that it's usually a battle to get it to work right with tk I thought it was only a battle in windows, or have I forgotten? Seems to be there on Live. cradek: the togl extension won't build into an rpm, because it requires that DISPLAY be set but rpmbuild deliberately removes it from the environment. it may not be a problem for a non-rpm installation Also there on Knoppix. Not on the SuSE I've got. PythonCAD added to links at LinuxCNC. rayh: PyOpenGL is on Live and Knoppix? Thanks Steve. does this also work: python -c 'import OpenGL.Tk' ? I don't have a clue how capable pythonCAD is yet. Looks like it still lacks a output format suitable for CAM, but hey, it's all scripts. 8-) no dxf? Only Postscript at the moment. No pytk on knoppix. hi john Not on Live either. good morning guys hi ray jepler: I get a font problem on my home machine - here's a screenshot John. Good to ""see"" you. Hi Dan. hi Ray "*paul_c adds pyopengl & pytk to the list hey Dan - Did you shoot the cat in the end ? Which end? ??? haw not yet my cat walked all over my keyboard when I was away from IRC Robin was handing me a fish to slap it with while I was away use that cat walking detection program? Oh. I remember Terry Ritter build a ""cat"" filter, cause his was always doing that. Surely all is forgiven as long as he didn't step on the CAPSLOCK key. he didn't luckily check Tuesday's log cradek: strange, I changed it to use the same options.py file as toolpath. does toolpath's gcode display screen have the same problem? I wonder what the probability of it hitting rm -rf * would be. Ray, I'm going to visit Hal May today. I'll take my camera and try the interview thing jepler: checking... he converted an engraving machine to EMC jepler: I'm still looking at your screen shots. Can you change the rate at which the code is read in and displayed. danfalck: Sounds great. Get the scoop for us. jepler: no, all of toolpath looks nice danfalck: I would like some good ""Made with EMC"" shots to use for the next BDI CD rayh: The whole file is read in before anything is displayed I believe that we should be able to get some ""Made with EMC"" shots from David Munro as well. I have plenty And Les! many commercial products They don't need to be high res - 500x325 will be fine I am putting up an examples gallery page soon...all pictures will be web resolution We could get the version of chips that Tony made at Smithy. paul_c: I will *paul_c can get a photo of Tony's Chips cradek: sorry for taking so long to get screenshots on the webpage still have some things to work out cradek: ah, toolpath overrides the font for text widget in the options file Steve and I talked the other day about updating the fron page danfalck: no problem jmkasunich: Hi John already have a few up....this is all emc hi Imp http://lmwatts.com/signwp.html im thinking on how to do the ganry axis danfalck: because of its license, except for simple bugfixes I'm done with emcplot3d i think you are right the best is may be to write a new HAL module I was also still thinking about the xxyz Heidenhain makes it also with a master and a slave jepler: easy fix? i have to look what siemens does also yes...it is crucial to slave it cradek: yeah. let me know if it looks right after you cvs update I can think of two ways to do it, don't know which is better: i.e. just sending two axes the same motion commands does not work well with servos 1) master/slave: emc sends commands to master, the hal module makes the slave track the master Tony's also got a relief carving of the states of Michigan and Wisconsin. 2) peer - emc sends commands to both axis (thru a hal module that serves as a ""splitter/combiner"") 1 is preferred seems that (2) could avoid a lag between one side and the other jepler: yep i think a comination of both is best the two xx will see diferent motional impedance and will have different ferror Hey Les - Can I use http://lmwatts.com/signwp_files/image008.jpg on the next BDI CD ?? at homing the slave follows the master, until homing is finished ... How about home for XX? take all the pictures you want Paul gotta go for a little while - sorry then both acting like 2) and the HAL module is only a splitter and takes care that the difference between the two axis is below a limit why not just slave it for all values? because then the slave is always behind the master and it is easy i take a PID for each axis, and a hal module gives them both the same input it is with my jackshaft too....it's a mechanical transmission line master/slave group delay could be made very small otherwise when y+z is at one end that end has big Ferror...the other end does not see it and gets ahead at high speeds it could be substantial like mm les: Nice work you've got on display! les: do you think that or do you know that ?? thanks ray...I have much more (industrial products that I will post later Imperator: hmm... I think I know that....having watched ferror behavior moving big masses a lot how are you watching to them ? logs and ferror estops...we had a code error with that stuff until recently so I was watching it closely but you have only one servo for your ganry axis, right ? right...but if I extrapolated the restoring forces and imagined that as a racking moment... it would be nasty not enough to break things...but bad for bearings for sure 1 Kn*m ++ on the gantry hm, ok this is with a 500 Kg gantry though running at an average 6 cm/second cutting is your gantry axis about 500kg ??? much faster rapids yes...the EFFECTIVE mas is 1000 Kg due to the moment of the dual ballscrews and jackshaft it really adds up ups how bis are your servos ? pretty big....Sems 1200 in oz+ whatever that is in NM 8,5Nm here is a picture of them http://lmwatts.com/forsale.html 140V 26 amp peak... (i use a lower voltage though) 3.6 KVA peak I guess nice oh...heh...and I have sold them all (partner has more) i have some siemens Simodrive with about 1kW that is enough for quite a large machine depending on speed think so, they have a torce of about 3Nm=420oz but for acceleration you can overlod them by three or four btw I get just about a 1:1 mech. impedance match with those motors and the gantry/shafts Yup servos are great for big accel what do you mean ? ah ok i have it I run as low as I can on accel to get the job done and prevent wear and tear, but in general high speeds will require high Accel you mean the interna of the motor is the same than of the load I can do about 1 G theoretically but it is violent :-) yes 1:1 inertia match although inertia matching is not all that critical thats the optimum in theorie yup the problem is we still don't have some ball screws, we need two with about 2000mm lenght for the gantry axis I use HIWIN 25 mm come in 2.5 meter lengths with 2 nuts 2.5 not 25 haha i this lenght that is only a thin wire 2.5 inches ? A slender ratio of 50:1 gets tough 25mm x 2.5 mter but that is a little slender I have less travel hm that is a smal spindel for that lenght i think 32mm or 40mm is best for our 1700mm travel 2 meters fixed/fixed will need to be abour 35-40mm diam for a reasonable critical speed jep running fixed/fixed helps a lot we want to have a maximum speed of about 3000-5000 mm/min pitch? 5mm is best i think or maybe 10mm so 1000 rpm max? jep sounds in the ball park :-) right now I am spindle power limited so I don't get to go so fast need about 5 KW spindle to fully use the speed only have 1.8 will mount bigger Perske or Colombo when I get the chance and $ I see an error in the sem motors specs I have accel is in the wrong units should be 7100 radians/s^2 (I just copied them from the SEM site) *danfalck is away: going out to the shop... later dan I am going to try to figure out this blog think I just set up so I can easily get more emc pictures for paul software is B2 don't know how to use it yet Speaking of blogs, Infoworld just came out in favor of wiki. mine is here: http://lmwatts.com/v-web/b2/ just haven't set anything up it eats up one of my 3 databases at my webhost I think *jmkasunich is back les: I was reading what you said about one end falling behind (larger ferror) because of inertia however, I don't see how that favors the master/slave aproach true, if the master side has higher inertia, then it is an advantage, since the slave will track the real (lagging) position of the master but if the slave has the higher inertia, things will actually be worse But couldn't the side with the higher inertia change based on where the machining head was? exactly - which is why master/slave has a problem with master/slave, skew = slave ferror with peer, skew = fabs ( drive_1_ferror - drive_2_ferror ) let me think about that... if slave has higher inertia than the master it will estop on ferror before racking forces get too big I didn't think it was a matter of oopds of 'too big' if you send identical motion commands (as done in steppers) there would be no protection in racking moments with servos you are trying to minimize skew, not just keep it below some limit it wouldn't be just blindly sending the same command to both servos there would need to be a module that accepted a single command, and sent two commands out to the two drives How would you do it? ok probably something like drive1cmd = maincmd+trim drive2cmd = maincmd-trim where trim is use to sync the two hmmm (and could also be used to compensate for screw errors) each drive would then have it's own PID screw matching is needed for sure but how do you control different Ferror? *jmkasunich ponders mainfb = ( drive1fb+drive2fb ) /2; trimfb = drive1fb-drive2fb trimfb would be used to control trimcmd, perhaps I could be wrong but I think most controls send master actual position as the slave motion command mainferror = mainfb - maincmd (or reversed, I dunno how the sign goes offhand) galil has a bunch of stuff about this right...and it's signed if you are building hardware drives (galil), then you need one to be a master and one to be a slave, (either that, or you have to add another box to serve as the splitter) they are doing it soft I would argue that they choose master/slave for hardware and implementation reasons, not because it's better let me see if I can find that didn't know that (they are doing it soft) I think master/slave with carried axis (y+z) position squared ff on xx is the way still checking I agree about y+z dependent ff (when needed for peak performance), but I'd rather see the drives treated as peers as I see it, there is nothing about the machine or drives that should make you treat one side differently than the other it would be different if the machine was asymettrical, and one drive was truly just a helper master/slave is inherently assymetrical http://www.galilmc.com/support/appnotes/optima/note2440.pdf there is one bit... but there is a vedeo too yes it is assymetrical due to control law integration but it can be made arbitrarily small just seems to me that you should drive a symmetrical machine symmetrically ""arbitrarly small"" is a theoretical term that would eliminate control lags requiring arbitrarly large amounts of computing HP (for sampling rate increases, etc) It just means with fast enough servo updates it can be made acceptable haha typing the same thing but at routinely used several thousand updates/sec it could be awfully small! a few encoder counts? less with feedforward the symmetrical approach should give smaller skew for _any_ sampling rate, since skew = the difference between the two ferrors, instead of the slave ferror hmm with the load centered, skew would be zero (in theory) I think of Ferror as a fourth order system it would be unless it hit a pole pair in the racking qaxis (zz) Reading that Galil apnote I se that they implement a software clutch when gears are changed! let's see what else they have *rayh Gotta run and feed the extended fam. have to register to see the video but it's worth it g'evening hi alex hey john... what's cooking? mu-shu pork yummy hmmm... yummy ;) all I have to say is: Go Higgins... ? he's playing in the final right now snooker... how'd you find my test channel last night? well... I did a whois jmkasunich ah... hope I didn't spoil anything... :-? nope I'm having fun with TCP sockets a distraction from stuff I should be doing for emc, but fun I'm hoping to be able to have the compile farm slots report their results on IRC (and possibly lurk watching for CIA messages, to cut down lag time) I see ... ;) nice... got 5 mins? sure I'd like to debug smthg on BDI-TNG I really HATE it failing after 2 weeks... It should be long running do you have a BDI-TNG running? agreed - let's see if we can fix irt yes, this box is TNG *jmkasunich switches to a clear desktop ok... let me open the code... *jmkasunich does cvs up on autoconf branch i'll be doing some searching on tandem axes while you do that john ok hi les... *paul_c makes a commit les: can you mail the links you find instead of posting them here? I'm pretty busy today, I'll try to catch up on the reading later hello paul Hi Alex you like snooker? marbles ? lol jmk: any time you're ready... *paul_c switches to another screen.. *jmkasunich is ready ok, check out /etc/redhat-release cat /etc/redhat-release 2>/dev/null | head -n 1 Red Hat Linux release 7.2 (Enigma) now that's strange... (the file contains _only_ that one line) an Enigma? paul said it would be ""BDI-TNG Linux release 7.2 (minbar)"" both this box and the farm slot are the same :( ... there goes the BDI-TNG hack... problem is... realtime-config (that's the script from rtai-24.1.x) checks on the kernel source dir *jmkasunich wonders why this isn't a problem with the old emc2? and if it doesn't find a .configure it complains that the kernel source tree isn't configured well... mainly because there are a LOT more tests on autoconf, then on the old emc2 ok emc2's ./configure assumed a lot of stuff now we try to check most of them maybe in time all will be checked so what info is this particular test checking for? anyways... the proper way to do things, is to ask the rt-script for CC, LINUXDIR, CFLAGS & such realtime-config (for rtai-24.1.x) rtai-config (for rtai-3.x) rtl-config (for rtlinux) where does that script live again? it usually gets found by ./configure somewhere in /usr most likely in /usr/realtime but on most systems (rtai is not installed) so it's still in /usr/src/rtai/foo problem is... that script is checking the kernel source dir which has been cleaned up before the BDI-TNG release which is the proper way to do... usr/src/rtai/scripts/realtime-config here yup try /usr/src/rtai/scripts/realtime-config --dump Kernel source tree not configured! yup... the script checks /usr/src/linux for .configure which isn't found (because of a make clean inside the source tree) but... that's the way on all BDI-TNG so seems like we have two problems so I thought in case the system is a BDI-TNG ... we can skip that, and assume some things 1) detecting BDI-TNG 2) setting the right values when BDI-TNG is detected the redhat-release was an attempt at (1) 1) would have been easy if /etc/redhat-release would state BDI-TNG smthg *jmkasunich tries to find another way of doing (1) but it doesn't... so we need an alternative 2) is already done les: http://filebase.heidenhain.de/doku/oma_controls/OMA_Controls_2/jh/tnc/2805x0xx/gb/thb407.pdf hmm.... how about uname -v? #1 Sat Oct 12 19:48:51 BST 2002 ...rading that link rading bad key!! what does uname state? uname -v returns '#1 Sat Oct 12 19:48:51 BST 2002' on all BDI-TNG boxes (I think) that's the date when Paul built it hmmmm paul_c: are there multiple versions of BDI-TNG floating around out there? hmm.. that's a hack... but I think a better one to be found very hacky les: page 174 ok taking a while.... but I am gettin the skinny on tandem axix control from several links les - please forward links jmk: what does uname -a state? ok if test -n ""$BDITNG""; then echo ""foo""; fi the test works (says foo) *jmkasunich looks at configure look at configure.in line 199 ./configure is just generated from configure.in *paul_c disappears for Tea. when is configure generated? i'm still here with imperator (I think) queued up for next discussion eating lunch everytime autoconf is run usually I generate it whenever I commit configure.in and when is autoconf run? normal users don't run it, right? nope autoconf gets run only once in order to produce ./configure and ./configure can then be used on all systems to check system-specifics ok, got it the realtime-config script is apparently being called _before_ the Gariboldi test (once) yes... but that is ok $RTS --prefix the test should be run after that farm results are online I've seen that... but they are pretty vague not your fault... anyways... let's see where it's failing looking for version.h before that KERNELDIR doesn't get set KERNELDIR is the kernel dir read from .buildvars for BDI-TNG usually it's read from realtime-config what should KERNELDIR be on tng? /usr/src/rtai or something? I guess /usr/src/linux but it doesn't get set so it gets set to /home/john/ *Imperator_ back again jmk: is there a /usr/src/rtai-24.1.10/.buildvars yes and there is a LINUXDIR line in it but the cat | grep | sed | awk thing that is supposed to set KERNEL is returning nothing hmmm... strange the awk part is failing I took that from emc2 ./configure is the sed part working? yes (sort of) - isn't really needed, since the line in .buildvars doesn't have spaces around the '=' output of cat/grep/sed is: LINUXDIR=/usr/src/linux *jmkasunich checks the awk part awk should split the text it gets ($1) by '=' into the array A and it then prints out A[2] which should be the part after = found the prob '{split($1,A,""=""); print A[2]}' hmmm... really? the file has A2, not A[2] seems like {foo;bar} and {foo}{bar} are equivalent in this case, but I think {foo;bar} is the preferred way for two statements that should execute in sequence ok... a2 fails here, a[2] works :( simple typo, it happens echo ""foo=bar"" | awk '{split($1,A,""=""; print A2}' fails echo ""foo=bar"" | awk '{split($1,A,""=""; print A[2]}' prints bar right - the A2 vs A[2] is the problem the other thing ( ; instead of {} ) doesn't matter in this case, but is bad awk form, cause it does matter in other cases I have GNU Awk 3.1.1 (gawk) A2 is just a variable, A[2] is the second element of array A but it is A[2] in the commit... right? nope wtf, why not? it sure is here... I was looking at configure... in configure.in, it is A[2], but in configure, it's A2 dunno why - but configure is what matters ok... I got it autoconf replaces A[2] with A2 silly me forgot about that you have to quote it or something to make autoconf leave it alone? I'm commiting now slow connection here ... sorry *jmkasunich kicks off the farm configure seems to have worked on this box nice make in progress jmk: slot4 is still making problems with the ftp update ? on http://www.linuxcnc.org/compile_farm/ ok, make on bdi-tng stopped with make[2]: *** No rule to make target `/home/John/emcdev/emc2auto/lib/ulapi.o', needed by `/home/John/emcdev/emc2auto/bin/iosh'. Stop. slot4 (BDI-Live), last build 11/11/04 15:54:20 ok... had that before ... *alex_joni is waiting for the farm to get there it seems to have stopped a couple days ago - I restarted yesterday, but it needs to see a commit before it compiles I see... slot 4 is compiling now 2 commits today... :-? I see... earlier slot2 & 3 changed the status, but slot 4 didn't might have been before I restarted it the farm needs more work - right now the main loop is simply "" while true ; do run_farm ; sleep 3600 ; done I see... run_farm is the script that does one attempt (cvs up on all trees, compile if changes) but sometimes the process that is running the overall loop dies wow - slot 4 has been building for 14 minutes slot 3 is done now failed after 8 minutes *alex_joni is debugging slot 2 succeeded in 7 minutes seems some rtai headers are not found still a KERNELDIR issue I think can you test smthg before I commit? sure add RTDIR=/usr/src/rtai-24.1.10 to configure.in around line 204 then run autoconf and ./configure && make what is the commmand line for autoconf? just ""autoconf""? just autoconf in the same dir with configure.in it knows what to look for ;) multiple error messages: configure.in:304: AC_PROG_CPP was called before AC_PROG_CC what autoconf are you using? dunno - never used it before *jmkasunich checks 2.13 want me to put that line directly into configure to test it? (skip the autoconf step) yeah I did commit... so you can take it from CVS... configure is on it's way too... don't know why cvs commit didn't commit both files... :-? you sure there was a change to configure? yeah I'm sure... ;) ;-) slot 4 finally finished but I did run autoconf on another terminal make in progress ok... sessions like this really motivate me to get my compile farm irc bot working I have an irc bot ... maybe you can modify it... but it's in perl :( I'm working in C, don't know perl ;) me neither ... besides I need to be able to interact with scripts (for example, send messages from script to irc channel, or run a script when certain messages (CIA ones) appear on the channel ok, make failed on this box, same spot :( make[2]: *** No rule to make target `/home/John/emcdev/emc2auto/lib/ulapi.o', needed by `/home/John/emcdev/emc2auto/bin/iosh'. Stop. how is RTDIR ? at the begin? scrolled off the screen you want to know the value of RTDIR during ./configure? or during make? you can read it from Makefile.inc ok holy bloat, batman! ./configure is 9220 lines long!! yup that's why I like modifying configure.in RTDIR in Makefile.inc is /usr/src/rtai-24.1.10 that's 670 lines long... I can still keep track of those hmmm... then I need the output from the farm to see what's failing and ULFLAGS? should have a -I/usr/src/rtai-24.1.10/include could you check that there's a rtai.h there ? in Makefile.inc? Makefile.inc: ULFLAGS = -Wall -g -I$(INC_DIR) -I/usr/src/rtai-24.1.10/include -I. -DULAPI -O2 -DLOCALE_DIR=\""$(localedir)\"" -DPACKAGE=\""$(package)\"" yup... seems ok last thing... I set /usr/src/rtai-24.1.10 manually hope there's a /include there and there is a rtai.h in /usr/src/rtai-24.1.10/include ok... then... I dont know.. still waiting on the farm to compile the latest CVS it finished the previous one... but not the last one guessing about 7 more minutes for slot 3 what results do you want to see? I just found some errors when it was making motion.o I am curious about results in /src/rtapi motion.o ? from motion.c motion.c:655: `key' undeclared (first use in this function) motion.c:876: `base_period_nsec' undeclared (first use in this function) I really miss the original emc2 ./configure silent yup... guess you know more about that.... make fills the screen with crap, it's hard to see the error messages I can add that in a sec ahh, found some more rtai_rtapi.c:149: `__this_module' undeclared (first use in this function) ""__this_module"" is almost certainly coming from some system header that isn't getting included here is the command line from the successfull compile of rtai_rtapi.c on the TNG farm slot (old build system): kgcc -c -I/home/John/farm/emc2head/include -I/usr/src/rtai-24.1.10/include -I. -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -march=i586 -DMODULE -DRTAPI rtai_rtapi.c -o /home/John/farm/emc2head/src/.rt_tmp/rtai_rtapi.o here is the corresponding line from the autoconf branch attempt (that has errors): egcs -c -I/home/John/emcdev/emc2auto/include -I/usr/src/rtai-24.1.10/include -I. -D__KERNEL__ -DRTAI=1 -DRTAPI rtai_rtapi.c -o /home/John/emcdev/emc2auto/src/.rt_tmp/rtai_rtapi.o one thing that jumps out at me - no -DMODULE yup... check RTFLAGS in Makefile.inc would it help if you had Makefile.inc from the old branch on my TNG box? autoconf branch Makefile.inc: RTFLAGS = -D__KERNEL__ -DRTAI=1 neah... old branch Makefile.inc: RTFLAGS=-D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -march=i586 -DMODULE slot 3 is done I think the awk stuff is failing again in configure.in on line 201 could you test that line? yep would ./configure --with-make-silent be ok ? sure actually quiet would be better than silent *jmkasunich tries pauls fix looks promising in Makefile.inc make proceeding saw this, which seems strange: egcs -c -I/home/John/emcdev/emc2auto/include -I/usr/src/rtai-24.1.10/include -I. RTFLAGS=-D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -Wno-tr igraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -march= i586 -DMODULE -DRTAI=1 -DRTAPI cubic.c -o /home/John/emcdev/emc2auto/src/.rt_tm p/cubic.o egcs: cannot specify -o with -c or -S and multiple compilations still fails what's that RTFLAGS in there? RTFLAGS = RTFLAGS=-D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -march=i586 -DMODULE -DRTAI=1 RTFLAGS := -I$(INC_DIR) -I/usr/src/rtai-24.1.10/include -I. $(RTFLAGS) -DRTAPI strange... (from Makefile.inc - pauls fix) there are two lines - IRC doesn't handle the line break well RTFLAGS = RTFLAGS=-D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -march=i586 -DMODULE -DRTAI=1 RTFLAGS := -I$(INC_DIR) -I/usr/src/rtai-24.1.10/include -I. $(RTFLAGS) -DRTAPI *alex_joni is checking out pauls fix hmmm - rtapi didn't get built at all the very first actual compile command was: Compile 'rtai_rtapi.c' to tmp dir using realtime C rule yup... egcs -c -I/home/John/emcdev/emc2auto/include -I/usr/src/rtai-24.1.10/include -I. RTFLAGS=-D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -Wno-tr igraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -march= i586 -DMODULE -DRTAI=1 -DRTAPI rtai_rtapi.c -o /home/John/emcdev/emc2auto/src/. rt_tmp/rtai_rtapi.o egcs: cannot specify -o with -c or -S and multiple compilations it failed - and that was all that happened in the rtai directory, it went on to HAL stuff jmkasunich: looks like the problem is the space in ""-march= i586"" ? neah.. that's from IRC pasting yeah, there was a line wrap in the terminal window there is there any way we can make make quit on the first error? should be... just noticed something: in the compile command line: .... -I. RTFLAGS-D__KERNEL..... oops: .... -I. RTFLAGS=D__KERNEL..... that RTFLAGS= shouldn't be there yeah.. that's what I was talking about what's that RTFLAGS in there? oh it's from the sed paul did *jmkasunich didn't understand the first time sed s/CFLAGS/RTFLAGS/ it was ok.. but now RTFLAGS doesn't get echo'ed to Makefile.in it gets replaced so I guess it should be sed s/CFLAGS=// can you cat me the grep CFLAGS from .buildvars? you mean cat /usr/src/rtai-24.1.10/.buildvars | grep CFLAGS? yep I wanna know if it's CFLAGS=foo, or CFLAGS = foo no spaces CFLAGS=-D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -march=i586 -DMODULE *jmkasunich puts some ""echo""s in the configure *jmkasunich agrees that the sed should be s/CFLAGS=// appears to be working better on it's way... compiled rtai_rtapi.c OK, make progressing this is so bad to debug (with no BDI-TNG here ... :() alex is my hero (--with-make-quiet works!!!) lol it is _so_ much easier to see if errors happen that way it only adds an ""s"" to the Makefile.inc ;) you can do ./configure --silent ... (you know that, don't you ?) no I only knew the silent option we added to the old emc2 configure try ./configure --help compile worked! NICE!!!!!!! from the latest CVS? yes great... I can sleep in peace now :D farm results should be available in about 10 mins (my box is faster ;-P :P same here 600MHz P3 I have a Geode 300 MHz at work for emc and an Athlon XP 1600+ here (1400 MHz) nice some difference ;) building a complete rtai+kernel+emc took a few days on the Geode lol ouch but once it's built (the kernel & modules & such) it gets done pretty fast I only did that in the beginning... I installed the same kernel on my laptop (2.66 GHz p4) and compiled on that one in half an hour :D someday I'd like to have a modern system... but I'd probably have to pay for it - that's no fun ;-) lol... at least you don't have to pay for software I bought 10 M$ Office at work ouch at 300 EURO each... I could have gotten a lot of HW on that money yep *alex_joni gotta write a report... and I have absolutely no urge to do that... when I get all the kinks out of the farm scripts and sw, I'm gonna make it available to others - maybe we can get some faster systems set up I could set up a PC for compiling from CVS one that you can leave powered and connected all the time? yes cool the farm stuff is designed to be distributed - doesn't really have to be all in one rack like it is here I actually have one right now... it's the gateway but it's pretty slow ;) P75 with F00F bug :F :D only requirements are developer cvs access (to avoide the anonymous checkout delay) and an account at linuxcnc.org for FTPing results I wonder if Steve S. can set up an account just for the farm, with rights only in that one directory tree for better security hmmm.... SteveStallings is lurking here... hello Steve... anybody home? ;-) if I remember it correctly last time there was some problem so no more accounts could be added I see that slot3 compiled cleanly hey ray hi ray Hi alex. John. You guys working away here? actually we just finished fixing an annoying problem on BDI-TNG compiles What is it. well.. it's BDI-TNG specific... just some config info that was preventing compiles from going smoothly ./configure is getting some values from realtime-config which is complaining that the linux kernel source dir is not configured Okay. I've not tried a tng compile recently. this is in the autoconf branch because of the BDI-TNG install (which includes a clean kernel source dir) How is the configuration stuff going? well, IMO so we had to make a workaround specific for BDI-TNG ... alex and zwisk have both been doing great work which reminds kinda in different directions for a while ;) which reminds me ray - remember a couple weeks ago we talked about using trackers? Yes And we voted to do it. I've updated that page based on suggestions I think it's time to make a public announcement IIRC we volunteered you for that ;-) Okay. I saw that you'd put a feature request or some kind of change in there. there are still some issues open ... about install dirs and install ways when did you last look at it ray? (I did nothing for a while - until Tuesday of this week I think) alex_joni: I almost look at autoconf and make install as two different projects - related, but distinct I just saw one come by. Didn't save the report but reporting is working. when was that? well... I did too but I guess it's now in the same tag... Didn't save it. jmk: let's talk about xxyz another time... Allright I'll work on the public announcement for a bit here. Will show the results and we can comment on it. les: you were still waiting? sorry it took us so long.... naw...I was working on the ""help"" section of a gui alsso cleaned out a chimney nice ;) SteveStallings: If I get you the info, can we put a page on linuxcnc.org that describes the way that the EMC project uses bug and feature trackers? but I do have to give jmk some numbers on virtual vs actual master/slave stuff jmk: hear that? but I want imperator to be around at the time it was his request It can be topic for next sunday or something but is very important both for tandem axis and lathe threading ok then... guess I'll call it a day ;) I'll set lurk mode for another hour or so, then go to sleep ok...guess you got some stuff done haw I am a hardware guy on a software channel... yeah... finally... that was bugging me for the last weeks (unfortunately I have no BDI-TNG installed, so I couldn't check stuff) but ended up writing a little code today anyway I'm a hardware guy myself... but I do some software occasionally I just do math and mechatronics a little software very little as far as linux nice... *alex_joni needs more knowledge in that field... Ha ha we will talk about laplace transforms of gantries later... *jmkasunich was away a bit you must be pooped out *alex_joni kinda remembers what a laplace transform is... I am too a bit...working 7 days has to end for me...soon! jmk: got my message? connection dead? anybody see me? you are here...I see you! I can see you Yep a70 when in doubt.. you can always send a message to yourself you can see the roundtrip like that oh...I sent a message to Paul on private chat...another emc machined part... alex_joni: what message? have a look... ive been fighting all day with connection stalling out or getting dropeed completely http://lmwatts.com/v-web/b2/ rayh: you asked steve about posting a page about trackers, etc, on linuxcnc.org - it is already there http://www.linuxcnc.org/Boardofdirectors/trackers.html Good. alex_joni: you still awake? I'll point folk to that page. jmk: yup take a look at: http://sourceforge.net/tracker/index.php?func=detail&aid=1053349&group_id=6744&atid=356744 are you willing to be the coordinator for that? sure ? talking to yourself!? haha was supposed to be in another window private isn't be back soon I think it needs to be miller time for you ah...it is lol jmk got confused the coordinator stuff was for me... i get very confused often but I'm still opening the page hello back of course I can coordinate that... what does that imply? nothing beyond what you are already doing... but your name will appear under ""assigned to"", and I don't want to do that unless you are OK with it I am ok with that ;) this is really strange - I used to be able to do /msg foo, and it would open another window, now it wont works ok in the mirc I use I was forced to do win xp this week because my customers use it hate it les: lol Ihave to write aps for the sales team...and they all have win xp or 2000 on their laptops still better than 95 & such ;) well I was using 98 but constant file system destroying crashes not good... :) win xp/2000 perhaps a little better but... constant Microsoft ads pop up...and it phones home to Redmond install an ap...and it says: warning: this application is not Microsoft Logo approved...do not install this what pop up? gawd I use it on a linux gateway... well.. I don't really read that stuff... so I write stuff and then the installer says not to use it... great Just sent a draft of the proposed public email to the board list. rayh: looks good to me, does this need a vote or anything - IMHO, you can just send it right now Right. I think that I'll send a followup to the developers with the link to the full description of trackers at sf. https://sourceforge.net/docman/display_doc.php?docid=24202&group_id=1 Okay. I'll release the draft into the wild. ray, is it gettin too cold for sunday evening brats on thr grill? I have to be up that way soon below freezing even in n georgia now in the morning time for me to head to south fl soon... Been about 18f in the mornings here. les: you go south? jmk: got the notification about the tracker ok - thanks for letting me know it works new trackers will be sent to the developers list, but changes go only to the originator, the assigned person, and anyone who has posted comments to the tracker one question thou... when will it be closed? when you think it's done I mean.. who decides that the job is done... I do? hmmm ;) .. ok :D it's assigned to you - that kind of makes you the boss of it ;-) you should be able to change things like the status and resolution I think if you try to change the status to closed, it actually sets it to pending and sends a message to the originator, to give them a change to reply after some time (a week, IIRC), it changes to closed if there has been no reply I see... I changed status to works-for-me well it still needs some tweaks, doesn't it? might want to add a comment instead, something like ""started a while ago, and about 90% working"" or whatever you think hmmm.. mostly from the install stuff but.. this is again based on what we really want right now it's done like this... ./configure alters Makefile.inc and ./configure is generated by autoconf from configure.in there is no automake support, or any other autotool support beside autoconf I don't think other support is needed but... I don't know if anybody else wouldn't want to see such support in there.... why don't you put words like what you just said in a comment to the tracker then go ahead and mark it finished and close it ok... I can do that how's that for easy - assigned and finished in the same day! lol... it still needs testing on a lot of different platforms... I'd like to close it after testing... BTW, developers don't need to wait for the board to assign them to a tracker (in fact I hope they don't). Any developer (I think) can assign themselves to a tracker and work on it hmmm... let me try that nope... can't assign myself to make tgz :( try it now it worked... Steve is back. Sorry all the config stuff put me to sleep. John, Ray, do you still need anything? I'm okay, Steve. one question yes?...... Jon and Alex. You might follow up my posts with one to the developers that they can accept tasks and how to do it. can you create accounts on the linuxcnc server that are restricted to FTP access to a single directory or directory tree? Yes, we already have some like that. I'd eventually like to be able to have other people running the same compile farm scripts on different machines they all would need access to the /compile_farm/* tree, but should have no access anywhere else, in case they are compromized somehow a single user ID for compile farm use would be good The way it works it they get read access to the site, write access to only the specified tree. They have to cd to to the correct point before they can write. just the way it's done right now... right john? that works and they have no other access besides FTP? http- but readonly if I get steve right... les: here is a very good link for the gantry axis http://www3.ad.siemens.de/doconweb/pdf/840D_0704_E/840D_FB3.pdf?p=1#page=1&view=FitBH,0&pagemode=none sounds good Setup in process. Hang while I test.... guess this will be a long night... I just started on that report... :( I think using the sf bug and request trackers is a great idea hey cradek hello nice work from jepler... yeah he's pretty smart. one short thing I would like in emcplot3d (if you still want to do this...) he can program circles around me. so my time is best spent trying to get him interested in a project instead of doing it myself. shoot when in live preview I don't really like how the blue gets drawn over the white know what I mean? put it in a tracker! ;-) well, yes and no It's a feature tell me what you would rather it do well.. I would rather see that the white (what was drawn initially) gets deleted when the blue path gets drawn right now they are kinda drawn one on top of the other that's not really possible within the current framework and if you rotate, zoom, etc you see some white dots and some blue ones mixed... yeah it's a bit ugly the problem is this: well if it's complicated... skip it ;) the white lines represent the ideal path (exactly specified by the program) *alex_joni just deleted the tracker the blue lines are a connected series of dots that are made by periodically polling the current machine position so they may or may not line up. Most often they don't exactly line up. I see... say no more... the blue line is only an approximation of the program fwiw, I agree it's kind of ugly but I can't do much about it. you could say the white is the programmed position and the blue is the actual position ;) it's not a bug since it's in the documentation! hahaha chiao folks rtfm ;) f=fine :) OK, new LinuxCNC user set up for /compile_farm and I will be contacting JMK and alex_joni directly. not really working... guess it's ok if you talk to JMK only... Not working as in chat failed or as in you are not currently engaged in things to go the the farm results? well.. DCC failed and I am not really engaged in farm results right now (John is...) I was wondering why I got no response from either of you. John, did you get chat request? guess he didn't