What I'm really at here is a way to keep failed drivers, like vti from killing a compile. the final linking is done in src/emcmot Okay. So references would have to be maintained in the emcmot makefile to all of the drivers. references to foo_driver.c & h would be removed, as would any foo.o targets but ppmcmod.o would still remain in emcmot/Makefile in src/Makefile, call the sub makes with -k I thought I tried that with 2.20b and still was not able to get a working compile. Perhaps I put it in the wrong place. Committed a change - Try it again... Ok. Will take me a while. Looks like I put the -k in all the wrong places. paul_c: Okay. The compile gives a bunch of error 1's on the vti and vital stuff but it still dies in drivers. Looks like I need to pull out a 2.2.18-rtl drive... paul_c: What do I need to take out of src/drivers to get a compile? rayh: Do you have pci utils-dev installed ? rayh: Delete vital.o and vti_pci.o rom the OBJS list in the drivers/Makefile rayh: and also vitalmod.o & vtipcimod.o from the first OBJS list in emcmot/Makefile paul_c: This is a stock 2.20b Does it not have pci utils-dev? it may not be installed, but it is on the CD rpm -qa | grep pciutil paul_c: Added pciutils. Do I still need to remove the stuff from the makefile in drivers? nope paul_c: I've got a compile but there is something goofy in the feedrates. Chips runs real slow. Like it is using inch feedrates for mm commands. jmkasunich: what's your thinking this week about the connectors between the old stuff and HAL in emc2? no progress last week except some documentation writing doc is either A) a way to better understand things so I can start coding them, or B) a way to avoid working on the real code... I'm not sure which I know something about avoidance behavior! from firsthand experience? jmkasunich: You bet! jmkasunich: Came across a neater way to test the compiler version Committed a change to cvs/emc2 for testing. paul_c: you mean for non-RT compatible ones like 2.96? yup $CC -dumpversion paul_c: -dumpversion works nice. Isn't there also a gcc version 3.x that is also not RT friendly? Should we update emc2/configure to detect that one as well? all the gcc-3.x versions are suspect at present.... wow... OK what does your 2.6 system use for gcc and kgcc? smoe people report success, others get errors I used /usr/lib/gcc-lib/i486-linux/3.3.2/specs with my Knoppix here. Seems to be okay. I use 2.95 for all 2.6.xx kernels should we just change configure to use kgcc all the time? as I recall, later versions of RH use gcc-2.96 as kgcc not good... thalx: have you gotten many ballots back yet? About 10% responded in the first 48 hours. So... 369 ballots out, 22 immediate bounces/deferred connections. 39 ballots in. Great! That is enough ballots to at least be representative of more than just the hardcore developers. perhaps, but 10% is still pretty low (yeah, there's more time, but I bet most people either return it right away or not at all... hopefully I'm wrong) And interestingly enough, some ballots have less than 4 votes. Given how people are junkies for mailing lists, I feel that 10% is not that bad. I'm wondering if a reminder message needs to go out mid-week to the EMC-* lists. with a valid date ? There has been no discussion on lists, not a bad idea. thalx: That is one way to promote a single candidate where multiple votes are possible. Egads... did my stealing one second (in an attempt to remove ambiguity) much things up in the reality department, Paul? I think he's referring to the folks who got a date in 1969 * paul_c got "Date unknown" thalx: where do you stand on a script to parse the ballots? (with only 39, might not be worth the trouble, just count by hand) vote-counting certainly not finished. Still playing with syslog output to create a list of delivered vs. non-delivered ballots, including your list of addresses with EMC-list delivery currently turned off. I originally volunteered to work on ballot parsing code (input = a ballot, output = a line like " 0 0 1 1 0 1 0", where the 1s and 0s are votes for the seven candidates. Would that still be helpfull? If so, send me the replys to the test ballots (where the candidates were Mickey Mouse, etc) for testing thalx: My ballot showed, "Date: Thu, 22 Jul 104 14:12:14 -0400 (EDT)" then you can change the names and apply to the real ballots Ok, sure, I can do that, jmkasunich. paul_c: did your ballot not have a "Date:" header? Or is it looking to parse the date in a different header? thalx: Looking at the headers, the year was 104 my mail client just reports it as "unknown" Oh my. You are correct. Another non-Y2K:compliant issue. jmkasunich: hi there, hi alex jmkasunich: I've been through EMC2_Code_notes I'll send you the file tommorow thanks. That document needs LOTS of work short question about G0 & max speed AFAIK the max speed in the INI file is in user units.. right? you mean the max for each joint? so if I have for example MAX_SPEED = 40 exactly the max joint speed. that is used for G0, right? I really don't know what is used for G0, to be honest. If you have several joints, each with different max speeds, I'm not sure which one, if any, is used as the limit well... my problem is the following I can do a G1 with F50, even F80 or 90 but I can't do G0 whe I define max joint speed 30 or so this is with emc1 or emc2? emc1 I switched to inch as user units, and put in max_speed=1.0 hopefully someone else will join in, because I don't know enough about emc1 I do know there are some problems with mm units, but don't know the details well.... i think I'll leave it in inch anyways... hopefully I'll have more time to dig into this next week alex_joni: If this is a cartesian machine, and you are commanding coordinated motion, it will limit a motor's velocity to it's max. alex_joni: Are you looking at MAX_SPEED = 40 in the [TRAJ] or in individual axis definitions? both Also what age is your EMC and where did it come from. it's an emc-1.0.0.src fromsourceforge compiled on a 2.4.21 with rtai 24.1.12 Okay. I just saw my compile from sf today do something like that with rapid. Chips is a mm file and the rapid was at inch feedrate but when it got to a G1 move it is running much faster. could be the same thing when I switched to units =0,03... it started to work also .. when I issued an G0 in tkemc the F value changed to something like 1200 or 1500.is that normal? alex_joni: Is your machine really capable of doing 2400 inches per minute ? not really you need to reduce the max velocity then... remeber - they are in Units per Second yes but I was in mm forst On the second run of Chips, it ran the rapids as it should. i see... I thin kI need around 5-6 mm/sec for cutting but for G0 50 mm/sec seems like acceptable. Restarted emc and the rapids were slow again for the first moves of chips. Darn. short question to you john OK about home_search_vel and home_latch_vel as far as I understood it from the doc I've read home_search_vel is used to find the home switch right and after that home_latch_vel is used in order to latch the zero indexpulse on the encoder right, except latch_vel is _also_ used to find the switch a second time I assume that if you are moving fast when you hit the switch, the position might not be very accurate so the final measurement of switch position is made at latch_vel okay... the question was: why can't the home_latch_vel be zero? because that means find the switch moving fast (search_vel), then stop and do nothing else - you would never finish the homing operation so there can be only home_latch_vel, and home_search_vel be zero? if search_vel is zero, the entire homing operation is skipped, and the home position is set to whatever the current location is i see now. I thought that first the switch is searched (using home_search_vel) and after that on the switch the index pulse is searched using home_latch_vel guess i was wrong ;) first, search for switch at search_vel then search for switch again at latch_vel and finally continue moving at latch_vel until you hit the index pulse I plan to add some small drawings that will make it clearer i got it now. i guess it's a little bit unclear in the pdf an animation would be great too (at least for some web-based doumentation) what would be cool, but beyond my abilities to create... maybe I'll find some time to give it a try ;) so far I've been less than impressed by the HTML generated from lyx - the pdf works much nicer what tools do you need to generate pdf from lyx? I've never used lyx before... :( lyx does it: File->Export->PDF (pdflatex) oh .. ok it can also export to html, using the same menu, but I don't like the results. When I tried it, the whole doc became one huge webpage other topic... do you know anyone who uses emc for plasma cutting? robin does... he's logged in right now, but I don't know if he's actually here does he have a web-page maybe? (a machine description, or something like that?) yeah (he sells the machines) http://www.rapidcut.co.uk jmk: thanks for the link, those machines look great jmk - I am curious about trying to do limits/homing with minimum I/O. Can EMC utilize the same pin for more than one function? Does it home one axis at a time? I assume so. Can EMC associate a limit signal with the correct axis by knowing what it was moving at the time? I'm not sure about emc1, I think so. for emc2, yes I am hoping to condense all limits/home into only 3 pins. Possible? minimal system with emc2 is one pin, with both limit switches for all axis connected to it. In HAL you would route that one input to the home and limit HAL pins for each joint you would have to set the "home_ignore_limits" flag for each joint since emc would see the limits trip at the same time as the home switch trips and you would have to use a home offset to ensure that the actual home position is off the switches so you could do the next axis AFAIK emc1 uses 3 pins standard 1 pin all axes negative limit 1 pin all axes home switch 1 pin all axes positive limit I can see how this would work. Now, is "home" signal likewise ignored during normal movement? yes, the home input is used only during homing... the limit inputs are active all the time, except during homing (if ignore_limits is set) And I assume that there are overrides for jog so you can get off home switches before homing is done, and overrides so you can jog off limit switches? emc2 has home, max limit, and min limit HAL pins for every joint (axis), but you can choose to connect multiple HAL pins to one physical input when you do your HAL config there is no override to get off home switches SteveStallings: override limits is one of the commands to the motion controller from higher level code. because home-switch doesn't limit your movement as alex says, you don't need to override homes you can jog even when you are not homed but you cannot jog when you are on a limit switch that's the reason there is a override for limit switches I would have to check the source, but I think you can jog even when you are on a limit, IF the jog is in the direction that would take you off the limit i think this is not safe Sorry for the "stupid" questions. While I am very interested in EMC, I have not run it with a real machine attached. if you hook the max and min limits to the same pin, then they will both trip if you hit either one, and neither direction of jog would be allowed, so you would need override in that case you could be far off the limit, maybe off the axis i think it's safer for a user intervention to be requiered when on an limit switch alex_joni: if you have tripped the left limit, what is unsafe about allowing you to move to the right? there could be some machines without a hardware stop after the limit switch and there can be the case that the joint has travelled off the axis once you hit the right limit, you can't move further to the right without override, but you can move to the left in an ideal world i admit there are very little chances for problems to appear just checked... both emc2 and emc1 (I think) allow you to jog off of limits without override. Function checkJog() in command.c (emc2) or emcmot.c (emc1) I believe the function checkJog itself hasn't changed between emc1 and emc2 i see so off-limit switch is allowed at any time and the other direction only if ovveride is enabled right well...i gotta go now, I'll send you the pdf thanks just another short question before i go i have been thinking about some free CAM software lately do you know of something like that? nope Qcad i tried qcad, but couldn't get it to run :( that's cad, not cam, isn't it? it's both i think * jmkasunich didn't know that gCAD3D There is a list on the links page at LinuxCNC.org i have a windows version of gCAD3D, but again... it seems a little bit .... odd (to say the least) I'm searching for something like DesKam jmk: i just remembered. about homing... I am actually programming welding robots at work, and... there have also been major changes in homing the old types used home switches and zero impulse but newer types (still 10 years old ;) don't anymore zero impulse? zero impulse on the encoder you mean index pulse? yes :) OK what do the new ones use? anyways, the newer types save the position of the joint in the servo after switching the control cabnet off so when the unit is switched on again it just loads the position from the servo what happens if somebody moves it manually while the power is off? of course there are sometimes errors well... the joints are equipped with resolvers, not encoders so the robot always knows the position within one motor turn and it is highly unlikely that the joint gets turned exactly one turn so when the joint gets moved during power-off, this will be noticed the next time and the cabinet signals an error the joint needs to be homed manually (you need to jog the joint to a specified position- exactly like jogging to the home switch, and then it searches for the nearest index impulse) the joints are equipped with brakes, so when the power is switched off it is pretty improbable that the joint gets moved. so the actual homing operation is only done once, then it remembers it's position thru power cycles? exactly but this is only some software homing there is another hardware homing to set the index pulse the motor is connected to the mechanics using a shaft and a coupling coupling which can slip and in that case it need to be readjusted but that's a little bit off topic to emc ;) it does point out how complicated homing can be well... yes but implemented like this I only get to home a robot every few months or even more the new homing code is a state machine, so changes to it will be simpler than changing the old version I think you could modify it to meet your needs. well... the main idea was, that I think homing is still pretty complicated, and maybe it can be improved or simplified for the user well the idea of remembering the machine position over a power cycle is only applicable to machines that can't move when powered down yes, or at least machines that are unlikely to move there are two parts to that... 1) knowing where the joint is, and 2) telling the higher level code that the axis is already homed * jmkasunich looks at emc2_code_notes well... another way is to use absolute encoders the number in motor-offset (joint controller block diagram) is the key to knowing where you are. if that number is remembered over a power cycle, and the joint doesn't move, then when you power up, you know where you are however, emc powers up thinking that all axes are not homed. yes but I think that can be changed I'll look into that I suppose that upon receipt of a home command, if that number is known to be valid, the state machine could just jump to the final state the final state reports to the higher level code that the joint is homed so there must be some code at shutdown to write the values into a file and some code to reload at startup right absolute encoders are another special case, that could be handled by always setting motor-offset to zero, and again skipping to the end of the homing sequence also needed is a flag to tell the state machine "motor_offset is valid, skip the homing sequence" seems doable ;) maybe there could be a way for the driver to tell emc that it uses absolute encoders or that the joint is homed there are already flags for "ignore_limits" and "use_index", additional homing config flags are possible i guess ... anything is possible ;) first I'm modifying minimill to use E-Stop cause there are some unused pins on the parport (on emc1) and bridgeport is way too much for what I need well... now I'm really gone thanks for the chat ;) thanks for your input thalx: you there? He seems to have wandered off. I just tried to call his land line to chat about something else and got machine. I'm trying to figure out how to extract the body from an email, while rejecting all the headers. it's non-trivial You should try identifying attachments. Simple if everyone follows the rules, but they don't. The dropbox gets all sorts of weird stuff. most header lines are of the form : stuff attachments just make it worse I have five test responses here, and all five are different four of them use Content-Type header lines that would help to define the body, but the fifth does not one has two copies of the body, one in plain text, one in html The second copy in HTML is quite common. ello' one also has most of the headers from the original mail as well as the reply headers (two subject lines, for example) hi robin... you missed a guy who wanted to talk about cnc plasmas... oh, ok. name? (alex joni) I sent him to your website 'k thanks SteveStallings: the second copy won't really hurt if it merely duplicates the content of the first oh, I see you are having email fun I'm more concerned about parsing headers as body... many folks have their own name appear in the header. If they are a candidate, that appearance would be counted as a vote for themselves (which they probably did anyway, but...) jmkasunich: are you sure it had two sets of headers? remember, headers are up to the first blank line, after that it is message body, even if they *look* like headers ... I was racking my brain trying to figure out how to distinguish headers from body... blank line never occurred to me so did you consider consulting the RFCs? yes, the extra set of headers follows the blank line see RFC2822 for instance Also, some messages are HTML only, no plain text. This used to be a sure sign of spam, but now I get some from free web-base mail sites without plain test. SteveStallings: I dont get *any* messages that are HTML only .. if I use the blank line as the delimiter, then I _might_ get some headers from the original (outgoing) ballot in the body, but that's OK, because those headers are known and don't contain any candidate names. robin_sz: cause you filter them to /dev/null>? robin - I try to be user friendly with my web sites, but it does wear on me a bit. 8-( jmkasunich: spot on. thats set up on our mail server, so they never make it as far as even my inbox .. anyway ... there are several Perl modules that have addressed parsing email messages in a variety of fun ways, its an already-invented-wheel ... in this case the learning curve needed to attach the existing wheel to my quick and dirty car is more trouble than re-inventing I'm actually parsing a mailbox file, rather than messages, but there are many similarities mailbox file? so its just a lot of emails cat'd together? pretty much this is for the 'election' ? yeah I'm working on a script that will parse and count votes (I have 5 sample ballot returns, where the candidiate are Mickey Mouse, etc) when I get it done, Chris (thalx) will change the names and run it on the real ballots are you expecting so many votes you can;t count em by hand? 369 ballots went out 39 back so far, I hope we get lots more I suppose its doable by hand, but you know programmers, why spend two hours doing something manually when you can spend five hours automating it ;-) I would expext that you have around 90% by now ... I'm afraid you may be right, but that would be dissapointing predictable I would have said you did quite well getting 10% to be honest pity its all in one file, would have been simple if it was individual messages splitting messages is easy, I already have that done. ls | xargs grep -il "john kasunich" | wc -l "/^From /" is the delimiter for messages in a file ahh, you must be using kmail :) classic UNIX mailbox format the simple wc won't work reliably... don't want to count multiple appearances of the same name in a message as multiple votes for that person errm, if you look carefully you'll see that my thing would only count the files, so 1 count per file maximum oops thats the -l option on grep tee hee ;) I see (was doing man grep, but spoke before I read about -l ) what about if the name appears in the headers? yeah, there it fails ... there's also extraction of the code from the subject line... and it also fails in several other ways http://search.cpan.org/~simon/Email-Simple-1.9/Simple.pm ewwww, perl * jmkasunich does awk ok, mail me your test data ;) trying to take away my fun? nah, you have your fun ... I wass just trying to have some fun of my own ;) on the way ta ;) cool, extraction of the body is sorted (already got hash code extraction sorted as well) jmkasunich: the 'token' in the subject, how do you validate it? is there a rule/ checksum? or can I assume it to be [0-F] x 4 0-F gets you a code then you need to match it against a list to see if it's valid OK and if you get two identical ballots with the same code, only count one obviously if you get two ballots with different votes and the same code, some further investigation would be needed nah, just use the last ballot that code sent in I'd at least call it to the attention of a human yeah and if they vote for 5 candidates? again, alert a human... if they really voted for 5 it gets thrown out, but it could also be some kind of parsing error I was planning to parse each msg into a line of the form "code 0 0 1 0 1 1 0" where the 1's and 0's indicate the candidates they voted for then sort, uniq, etc, can be appied to that to handle duplicates, etc followed by counting the 1's in each column too complicated ;) ach that voting code is a bit of a got git and if they havent included their code in the subject? discard it (flag it, perhaps...) there should be nothing in the mailbox that isn't a ballot, so flag it is appropriate (if there were lots of other messages, the false alarms would be annoying) since your only way of detecting a valid ballot is the presence of [0-F]{4} ... mails with the subject "Haaaa! fooled you!" will pass the test aaaa being valid in theory ... perhaps, but aaaa isn't likely to be in the list (we have 369 valid codes, out of 65536 possibles true what about "Haaaa! my vote 12b5" grrrr pesky edge cases :) if we wanted to be really bulletproof, we would have left the codes longer right .. votes now acquired ... now to count them ... (they started as md5sum's of the email addy, 32 characters) md5sums of email addy and a secret surely? nope would have saved keeping a list ... still need the list we allow joe@foo.com to reply from joes-wife@bar.com, as long as he submits the code in hindsight, matching codes to From: addresses probably would be a good idea, the joes-wife@bar.com case is pretty unlikely done thalx: you there? Here now... Just came downstairs w/ lunch. I'd like to throw you for a loop ;-), but I'll take your question first. that file you sent me look at line 20 (or maybe 21) is it "From emc@" or ">From emc@"? For me, it is >From. It is the beginning of my included message.... But, it's possible my mailer did something freaky. Lemme check the orig. that's what I got too, but I forwarded it to Robin so he could play with scripting, and the > got stripped en-route the > should be correct, cause From without the > delimits messages - the > is added to prevent that Ok, that follows. Yes, it appears to be there, in all occurrances. OK, robin can add it back to test his scripts and we can count on it being there when you run the scripts on your box Looking manually thru the actual ballot mailspool... "grep /^From / | wc" should yield one line per received ballot Personally, I jumped thru hoops to have all inbound connections go thru quinta. and thence to raffica., so I was gonna do it with the Received: headers. Outbound ballots did NOT go thru quinta, thus would not possibly be included from an inclusion of any part or headers from the orig. message. does anyone want my solution, or do you wish to play more with your own code? i.e. scan for 'quinta' --> start of record, scan for subject line --> record hash, then the wiggy stuff starts UNTIL you see 'quinta' again. according to some docs I found, a line starting with "From " (note the space) is the cannonical message seperator in mailbox files the first blank line after that separates body from headers... body may include headers from the original message Yes, from docs... sure. I'll trust any Un*x machine to do the right thing. Microsoft boxes, on the other hand... when I think Microsoft, I think of a bunch of eggheads that go out of their way to *ignore* and 'legacy' standards, and they invent their own. er, that should read " ...*ignore* any 'legacy' standards..." thalx: the "From " standard is for unix mailbox files, so we can assume that M$ haven't got their fingers in there... your mail client wouldn't be able to separate messages in your own box otherwise If you've got a solution, more power to ya! Personally, I'm focussed on accounting for all ballots from the list I was handed. I.e. did they all get delivered, and if not, why? mine is scan for "From ", set headers=true on next blank line, set headers=false if Subject and headers=true, then found a _real_ subject line, extract hash all the more reason for robin and/or me to focus on scripts to count the results... leaves you free to handle the delivery issues ok .. and just made 12a9 as valid as 12A9 robin_sz: don't oh?, OK, 12A9 invalid, 12a9 valid then the real ballots use upper case only, specifically to minimize the Haaaa thing you were talking about earlier the practice ballots were lower case tho whatever .. the subject version now has to match the validation file I declare it finished :) what happens if I mail you a message containinf From foo etc on a line? try it... I bet it gets quoted when it winds up in my mailbox file (send it to thalx too) anyway, I'm done. time for food ... Looks like, thus far, only one ballot had included the headers from the original message.. so "From " is fine. (And yes, that instance had >From ) Ok John, ready for the puzzle? OK Ok, seven candidates, four positions. I've not voted yet. I've narrowed my choices to five candidates. Only one of which is firm. I was thinking of voting for the firm one now, and send another message sometime later, whenever I've decided on the other 3. *grin* Not necessarily against the rules, mind you! ;-) My first impression is that I would reject that however, the script would not reject it blindly, it would report that something was fishy and request a human look-see if I was the human, I would ask the user to confirm their intent thalx, IMHO that is not voting for 3 more, thats changing your vot from person a to persons b,c and d right - that's how I'd be inclined to interpret it I would want to do it so I at least get my firm candidate voted for - and if I didn't overcome my waffling before close of voting, then at least I didn't just *abstain* from voting. But yes, I sorta agree - In Real Life, you can only enter the voting booth once. if you do anything like that, you should clearly explain your intentions in english in the body so when the scripts flag it, the vote counter can make the right call without having to send a message Oh yeah - peeking at the voting stuff... I was doing things like this to see how irregular returns might be: egrep "orner|teve|atts|asun|enry|alk|lson" /usr/spool/mail/emc | sort | uniq and what did you see? This allows me to ignore capitalization, but doesn't quite ignore all misspellings. my script accepted Corner corner and even cOrnEr ... I see lots of headers included because it matches up with a number of machine names. In addition to all ballot entries. yeah, searching only in message bodies is pretty much required * robin_sz nods I'll note that there is one line that popped up...


name1
name2
name3
name4
html email - the scourge of the internet thats OK, mine works fine with that too :) Wonderful! I expect mine would too Oh, and I tracked down my DATE: error to my package of elm. of course it doesnt do BillBloggs I was planning on using last names only anyway, by rejecting all votes from people sending HTML only email, you are doing the world a favour ;) Something I thought of that would prob. make parsing easier... but obfuscate the voting... is require each name on a separate line, and require the hash value present on each line, also. too late now you should use the names exactly as written on the ballot (unpper/lower case excepted) better to make voting as simple as possible, even if it complicates the parsing Yeah, and make it simpler for the people. you reckon it will make it as far as 50? Something that would be (er, would have been before that server crashed) was implement a web form. Mail people the hash values, and have them key in their votes on a simple web interface thing. yes, that would have been good better still ... that thought crossed my mind use one of the many thousands of websites that offers polls etc but having neither a web server nor any knowledge of dynamic web stuff (cgi, etc) I didn't say anything robin_sz: I actually googled that possibility many of those thousands want money for the service uh huh ... 24 hours --> 32 votes, 48 hours --> 38 votes, 72 hours --> 39 votes. I certainly see a decay rate in relative interest. people either vote when they get the mail, or bin it. we might pick up a couple more if they were on vacation, etc, and see it when they get home I never did CGI, but spent a few years doing weird stuff on my home machines with PHP/FI and mSQL. What's the relative traffic, user vs. developer? I'm only on the developer list, and it's pretty low traffic. traffic varies, sometimes user is busier, sometimes dev is I've been tossing messages into folders since the lists started developers is 7 meg, users is 12 meg have you considered the possibility that the list might be full of anarchists? I haven't voted yet ... maybe I won't lazy not really unconvinced that a board is needed. not aware of the 'manifestos' of the candidates, so its tricky to make a choice even if I wanted to vote Robin - I'll spell it out, if you like. My own version of why its needed. im not subbed to the user list ... true... the only thing people have to go on is what each candidate says/does on the lists has there even been a mail setting out what the election is for? I mean spelling out what the 'board' will do? yep, on both lists, from Matt that post refered to a page on Linuxcnc.org that also describes what the board will do I'm ambivalent about the need for a board date of Matt's posting? or title? July 5th, "Organizational Information, please read and comment" ahh there it is. 'develop an EMC mission statement' ROTFLMAO .. ;) Ray was one of the strongest supporters of the idea. He's become the public face of EMC for folks like sherline and smithy, and I think he's uncomfortable about doing that without the blessing of the community as a whole (or the board, as representatives of the comm) shrug seems like a lot of fuss ... does it address the fundamental point of providing a development leadership, to keep the coding efforts directed the right way? I was actually suprized at how little discussion happened after Matts posting - I expected a mailstorm of "we don't need no steenking board" and "yes we do dammit" Robin - there was a range of responses to this whole board thing. What we are left with - Matt's directives - is the result of the discussion. Rather a bastardization, but at least a step. as I pointed out at the time, just cause the board says we should do something, doesn't mean coders are gonna listen well sure .. Whether we like it or not, EMC is an entity. There are those in industry that wish to address that entity - whether it's to ask questions, solicit input, or offer development support. right - the board provides a contact point (other than Ray) for that entity (I fully expect Ray to be elected, I'll be shocked if he isn't) Currently, they see Ray's name, and call him up. He's been asked to make decisions that he ain't comfortable making - not without either A) oversight, or B) ... can't think, missing the phrase... (group agreement and head-nodding in his direction from a majority of those-people-that-collectively-make-up-the-entity-that-is-EMC) B) a blessing from the community that he can speak for them? Yes, blessing is a good word. But... I wouldn't say he feels his thoughts are gospel. He wants a someone or a group that he can "take things to" for decisions, okays, etc. it's complicated by the fact that company "A" may want to explore the use of EMC in their product without their competition knowing about it until they release the product ? ... they just download it and play with it ... no? and if they want to ask questions, or have a detailed discussion, or perhaps even fund someone extending emc to meet their needs? Let's just say more than one company has come forward with questions... and maybe even dollars... wanting to do whatever needs done to tailor it for 'em. Just as a f'rinstance. for instance, I _think_ Sherline paid Ray to make them a custom GUI jmkasunich: so, sherline pay ray to write a custome GUI, how exactly does that affect EMC at all ? answer: it doesnt thats just $company paying a consultant to write someting ... happens all the time jmkasunich> in that particular case, no... but what if they wanted to pay somebody to change the motion controller, where Ray isn't confortable working... how would they figure out who is gonna be their consultant while keeping their plans private? (of course it wont be able to happen with EMC2, but thats another matter) < why not with EMC2? GPL I believe the Sherline GUI is part of the public EMC sure? dunno, never had a reason to check before Robin - thanks for the script. The sunos machine is collecting the email, but nothing says the vote tallying needs to be done on it. There are many other machines. thalx: well, keep it safe .. mine has gone to the bit bucket ;) and don't care to dive into that mess looking for it I hope GPL doesn't turn out to be a problem, but I can't live with public domain it depeneds doesnt it ... I don't like the viral aspects of GPL, or RMS's political leanings, but GPL is the most widely recognized open source license out there right now if the framework is such that soemone wanting to plugin a custom, closed-source module on top of the GPL stuff still can, then fine ie a module they write that contians no GPL code at all, but interacts with the GPL core but if its such that ONLY fully disclosed modules can be plugged in, then its a dead duck for commercial development I tink the HAL lib is licensed under LGPL, to allow exactly that for stuff interecting with EMC by way of the HAL right I think that emcsh should be under LGPL too, so that Tcl GUIs can plug in Lots and lots of places use Apache .. and write custom, closed plugins for it .. have been doing for years and libnml is GPL... I was wondering if you were still here not willing to consider LGPL for libmnl? and they contribute effort and $$$ to Apache for doing it too busy hacking... jmkasunich: its probably too late to convert libnml to LGPL why do you say that well, you'd have to contact all the delevlopers who have edited the file since it became GPL that would be me.. libmnl contains pauls code and PD code ok, if its just pauls code ... then thats just him then I see no good reason to make libnml LGPL would a LGPL libnml allow folks to make NML connected modules that work with EMC but aren't themselves GPLed? if so, that's a reason to do it IMHO, the core should be GPL, with well defined and LGPL interfaces * robin_sz nods eg custom in house written screens etc If someone wants to link an external module using libnml, it would too be GPL.. However, if they want to use rcslib for the same purpose... well, I for one have little interest in persuing a 'GPL ONLY' approach. mind ewe, I've not contributed much so I doubt thats much of a argument something for the board to argue about ;-) of course, most list members have no idea what each candidate thinks on the subject As far as I'm concerned, the argument was settled at the emcFest * paul_M greps the cvs logs for robin_sz you'll find nuthin ... I never did find a good place to put my GUI stuff, or all the C++ plasma stuff http://www.redpoint.org.uk/cgi-bin/cvsweb.cgi/tkemc/ blimey .. untouched for over 12 months ... you could get Steve to link it from linuxcnc.org... nah, bad plan better to put it into the real CVS ... actually, I cant even find my C++ stuff .. you have an SF usr name ? yes and you are also listed on the emc dev team... so you do have write access to cvs yes ... but quite where to put it ... shrug, its still in need of tidying anyway that TCL is it GPL work ? shrug ... its my work ... the idea was to make a GPL framework for the GUI into which some non-GPL components would plug ... so then at least parts of it would have to be LGPL at least they could be GPL its tricky though, to interface to a GPL progrma from non GPL code is not usually doable, unless the interface is LGPL so, I cant write a LGPL framework that connects to a GPL emcsh is emcsh currently GPL, PD, or PD with some stuff that's been added since the GPL notice was added if emcsh is PD, just add a LGPL notice A tcl GUI is not linked to emcsh (by gcc) anyway ... my desire is to see it progress, time spent worrying about voting and GPL is time not spent developing so emcsh is considered an acceptable interface to non-GPL TCL stuff? shrug robin_sz: true enough would you consider any and all bash scripts to be GPL ? no or perl scripts ? I dunno I think of TCL as a language, not just scripts... basically, if the *interface* is GPL, you need to be GPL to use it AIUI it matters not whether its C, Perl or Ruby ... its not what language you access th einterface from that matters something as complex as an EMC GUI certainly is worthy of licensing, so even if it's tcl, if it's author puts a GPL notice in it, it's GPL quite but what if I want to write a non-gpl GUI? A tcl script is just that, a script. paul_M: so what about a Perl/Tk GUI? the script it's self could be closed source not so ... not if emcsh is GPL it cant anyway .. my point is: if you want to see commercial entities contribute, make sure they have ways they can, otherwise ... they'll just take the latest PD variant they can find and run off with it and a developer I'd like to see them do there closed source stuff on GUI's and custom control stuff, and pay someone to work on the core as GPL At what point is a script (be it tcl, perl, or ruby) linked to the runtime GPL binary ? emcsh is GPL right? the emc2 version, probably. or if i write a Perl interface, then it will use the usual perl XS stuff in C to interface to the nml stuff so its compiled in as the Perl module is built robin_sz: I think paul is correctly saying that it's not a violation of GPL if linking into a common binary isn't involved but emcsh is compiled in with the estended Wish shell so if emcsh serves as a shell to execute a non-GPL tcl script, that's not a violation even if the shell itself is GPL if that was true, people would just go around writning text or XML interface wrappers to GPL stuff and usin ghtem as non GPL all over the place after all (sorry it took me so long to get it Paul) bash is GPL, but you run non-gpl scripts without hesitation exactly ! but, bash INTERPRETS the scripts, not links to them. even if bash had an NML extension, the case remains. it is an interpreter hmmm same for the G code files used with EMC OK ... I'll think about it On the other hand, if someone were to write a gtk GUI and link it to libnml, then it too would be a GPL work so, anyone wanting to develop a closed-source GUI is forced to use a clunky interface? so no closed-source QT screens then? they could use rcslib.... or they could just use a PD version from as late as they could find which would be rcslib so, does that make it easy for them to contribute to development? how would a closed source GUI contribute to development ? presumably they will not just be writing a GUI, they will be contributing towards the core too the core work is GPL and benefits everyone from a slightly different angle.... the GUI is for their commercial product (mill, lather whatever) why would anyone want to write a closed source GUI ? well, say I want to make a really easy to use plasma, with just two axes showing, and a display for torch height etc i contribute all the torch height stuff into the core but the user friendly GUI is mine, all mine joe soap uses the 'standard' GUI, but my customers get the nice one so where is the problem ? so .. if I cant write my QT gui to a LGPL interface, then I have to choose either to GPL the whole GUI or ... use an older PD version of EMC and keep it all locked up now, you are a pretty informed user about GPL etc but you reckon the $commercialEntites are that switched on? you need to let them keep control of someting, whilst contributing, or they just wont get it GPL does not prevent you from selling a custom GUI (even if it is linked to a GPL work) it does if its got compiled with GPL'd headers the text of the GPL only requires you to provide the customer with the source code if/when asked. yeah true even with the use of GPL headers, you can still sell the binary sure? read the GPL again - It is quite clear on that. so if I wanted to write a non-gpl trajectory planner ... I could write provide all the GPL bits as source, and a non-gpl .a file? .o file even http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic http://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney Under GPL, you would have to provide the source code for your planner if asked for it http://www.gnu.org/licenses/gpl-faq.html#GPLUSGov and ... http://www.gnu.org/licenses/gpl-faq.html#TOCIfLibraryIsGPL which applies to emc & rcslib but I and jmkasunich are not US.gov employees and we decide the license details of any work we do. http://www.gnu.org/licenses/gpl-faq.html#TOCLinkingOverControlledInterface thats an interesting idea ... Part of the agreement I have with Fred Proctor is that any contribution I make to emc 1 or 2 is under GPL Confusion on my part..... paul_M vs. paul_c I know who paul_c is, but paul_M ??? paul_c on a laptop Thought something like that... Laptop must mellow you a bit.... nope... My memory fails me, what sort of machine were you building with the large servos? retrofit of a Bridgeport Ineract II a Series II Interact II Was this the one with the rectilinear only moves? Bigger version of a BOSS machine Series II is familiar. I was asking about the control. There were some old ones that did not do arcs. Is your Z quill or knee? Quill and it does arcs too I saw some Heidenhain controls on Bridgeport and Maho machines that did not do arcs, just linear X, Y, and Z. And single axis at a time only. must have been a vintage TNC control then... Sound familiar. boss5 does arcs, and thats ancient Not so sure it was age as much as the user interface concept. They were run from a control box on the machine sort of like a simple conversational control. No CRT display, just LEDs, switches and buttons. sounds like a TNC131 Do you know if these worked with conventional servo amps, or were they some sort strange animal? It probably used thyristor based amps and certainly fitted with resolvers ...so may as well rip the out.... 8-( I know where to get some copley amps @ $150 per axis I have no need at the moment, just collecting info for future use. Most of the older Heidenhain systems used thyristor or SCR amps and resolvers Just look in the main control cabinet for a bank of capacitors No caps - Old amp. Old iron needing new controls seems such a pity. I already have more than I can use. Have a Boss 8 that is supposedly still running, but don't have it powered up yet. gotta disappear for ten mins... May as well call it a night. Later.....