I've been thinking (this can be a dangerous thing)... NML may be great but it seems to me that a d-bus interface for building UIs would be nice as there are libraries for nearly every conceivable language and toolkit.
Maybe a NML to D-Bus bridge could be written using emc.py from Axis.
voxadam, does d-bus work over a network or a serial link? (as NML does)
I was thinking about that... Since NML is already capable of being run over a network or serial line D-Bus doesn't need to be. [EMCTASK] <-- NML link --> [emc.py] <--> [D-Bus bridge] <-- D-Bus --> [UI]
what's the gain?
Not having to deal with NML when building custom UIs.
but you'd have to deal with D-bus ... :)
note that not all UIs are written in python
in fact, only one is
(though that wouldn't be a restriction using DBus as you've outlined)
it isn't a restriction now either, so again I don't see the benefit
There aren't NML libs for every language like there are D-Bus libs.
true, we've only got C/C++, tcl, and python
I guess that should really be enough.
SWPadnos: and freepascal
yeah, I was going to mention that, but wasn't sure what he had used :)
Who still writes Pascal?
voxadam: there's a new configurable GUI called mocca
to each his own
It's one of the great things about open source
there are some folks who really really like FreePascal as a RAD system
the successor to Delphi
I guess it could be worse, they could like Cobal or something.
yeah, or BASIC
Pascal was actually pretty good back in the day
when TurboPascal had many libraries available
I think someone should port EMCMOT to Fortran.
Or maybe erlang.
using AT&T syntax
I like it.
don't come back until it's done!
err, I mean "good night, and good luck"
Maybe I'll try porting it to ActionScript.
don't hut yourself
voxadam: there is an emc Java GUI
alex_joni: Is there an NML library for Java?
rcslib (the original NIST code) is multi-platform/multi-language
emc1 used that directly
Is RCS still used in emc2?
emc2 uses a subset called libnml which eliminated some of the "unused" features
voxadam: otoh rcslib has been improved since the version that has been integrated in emc1, and later taken over into emc2
mozmck: think you can upload a 2.4.1 package to http://linuxcnc.org/mozmck/
If NML is capable of running over a network what is the purpose of emcrsh?
doing the same thing with a simpler interface
with a telnet like interface, where you can connect to from any language/platform
even manually if you want
I think the guy that wrote emcrsh used it for some windows GUI
It provides a interactive text based interface?
I can't imagine trying to build a GUI using such an interface.
it's similar to fetching mails
and yet most programs for reading email have GUIs using the same kind of interface to retrieve messages
some have UIs (the non-X apps like mutt, alpine, etc)
KimK: so now both 10.04 + 2.4.0 work for you
and 2.4.1 works ok with the ppmc ?
How is it going?
alex_joni: 2.4.1 still had ppmc problems, hopefully fixed by 00a2bcf Use ECP control register to request EPP mode
skunkworks: busy ;)
skunkworks: was wondering how your projects are.. K&T, puma, ...
alex_joni: I'll try to upload a 2.4.1 package tomorrow. Should it be 2.4.1 or the current v2.4_branch?
been quite busy here myself the last week :(
either would be fine. If you use the current v2.4_branch then remember to run debian/update-dch-from-git to create a changelog that indicates differences from 2.4.1.
skunkworks: I finished homing for locking rotaries the other night
skunkworks: I was wrong: it's not in 2.4 OR master yet
skunkworks: I still have to figure out what to do about jogs. I think just disallowing jogging will be the ticket.
cradek: very cool! I can't wait to test it.
what do you think about jogging?
well - I don't think it should be an issue if I can home. from that point on I can tell it where to go.
yeah I guess my thought is if there are only certain acceptable positions, using g0 to get there is the most obvious
on the other hand, something like incremental jog can make sense
I don't see how to reject invalid target positions
I am not going to worry about that. If I program a wrong move - oh well.
I assume the machine will fail to lock then, and if it fails to lock, emc won't continue
not sure what the recovery process is -- maybe home again?
anyway, any time you're ready to play with it, you can merge it into v2.4_branch or master and try it
I'll put it in master as soon as I figure out what to do about jogging, I think.
right - there are limit switches to know if the table is locked.
did you see my question yesterday? How to keep the internal estop pressed after the external estop has been released... (if that made sense)
I only see a halui pin that would allow me to 'push' the internal estop so it stays down/
skunkworks: fire up demo_sim_cl and look at the top rung
halui is not involved
hmm - I will look again.
it must not have been making sense yesterday.
triggering the ladder with E-RESET (the iocontrol signal that comes on briefly when you try to enable by hitting F1 in the gui) is the key
oh - ok. I looked at that - but didn't have time to try it.
I actally halmetered that pin - whatever it was (iocontrol user mumble..) and saw it go true for a bit.
I wasn't making the connection though ;)
alex_joni: (1) Yes, 2.4.0 is running on 10.04, only one sim looked at so far. I'll try a actual (Mesa) config soon if I can get the firmware. (2) v2.4_branch/2.4.1plus/2.4.2pre is working (8.04) with John's pico-systems USC. Looking good so far. Thanks again for your help, I'll look forward to fiddling with EMC on 10.04.
imnsho... Ubuntu 10.04 was released WAY TOO EARLY, can be flaky
I hope I am not making folks' teeth itch too badly discussing kinematics with Visteurs?
i thought it was more coding than kinematics?
Yes, guess so,
you're a hero for trying to help, but I don't think emc-users is the place to teach C programming.
saying that you can't figure out what "double" means is a sign that you haven't done ANY work to try to figure things out for yourself... I avoid helping people who don't figure things out for themselves because it's an albatross.
is that called the albatross?
cradek: It's called mighty tasty in my book, especially if it's animal style =)
ries_ is now known as ries
Anticipating the creation of new repositories for 10.04/lucid, and following the format used with 8.04, I added new non-existent repositories to Synaptic: http://imagebin.ca/view/J2igihl.html
And of course, since they don't exist yet, I got "not found" errors: http://imagebin.ca/view/9po-jlw.html
Is the 8.04 repository format being followed for 10.04/lucid? Do these errors seem correct/expected? Is it OK to leave it this way? (The EMC key is installed, I
should be ready to receive upgrades). Thanks, any advice appreciated.
it'll probably be the same I guess
OK, thanks, and if you think of any reason why I should hold off doing this, please let me know.
KimK: since everything is working for you, you'll be receiving an invoice soon
I wonder how this guy ended with that location..
[20:07:34] <alex_joni> http://www.linuxcnc.org/component/option,com_kunena/Itemid,20/func,view/catid,21/id,3091/lang,en/index.php#3093
"you've obviously f---ed something up but as we don't have access to your system and barely believe the few specific details you've reported, we don't feel we can help you at this time."
</reason I don't post much on the users list and never on the forum>
jepler: no kidding ;)
[20:24:18] <skunkworks> http://cnczone.com/forums/showpost.php?p=511991&postcount=6
oh 'the' forum.
not 'a' forum
never mind :)
I suppose the acronym 'lmgtfy' didn't exist in 2007 yet
[20:34:12] <alex_joni> http://imagebin.ca/view/IEDfQ5.html
cool, they copied the extents idea from AXIS
(but yikes, should've copied the font too) :-)
and they added a big button to switch it on/off
is there any new kind of breakthrough in mocca? I can't read the labels so I can't guess if it does anything new and cool
one thing is that the GUI is built based on an xml file
so you can describe what goes where, and what the buttons read
well, I meant functionality as a machine control
well.. it only does what emc2 always did
I doubt there are any new "features"
I can see it's user configurable (like mach, that's why things don't line up or fit very well and it looks kind of amateurish)
I shouldn't have said that
I won't tell
I want clouds in the back ground.
skunkworks: you can add a custom picture to the background
I'm having trouble understanding the widgets - what works like radiobuttons, what works like checkbuttons, what works like buttons, what works like tabs
/Blocke is like a checkbutton
Editor... is like a button
start/stop/pause might be like radio buttons maybe?
cradek: one thing they added are scripts
for some of the indicators like the yellow rectangle to the right of 100% under Spindel, I don't understand what they're connected to
those are actually programs, called name.mdi
alex_joni: what kind of scripts?
which you can connect to various buttons
somehting like tool_measure.mdi
basicly a collection of MDI commands
it sends those lines one at a time as mdi?
(jepler wrote a similar extension to touchy, using O<macro-sub> call, but O-call doesn't work well enough)
O-call from MDI specifically
sending it as mdi is a fine workaround I guess
why not just open the program and run it though? (then maybe reopen the original one)
jepler: are you planning to commit emc_pkg_update_v3.mbox to master? my comment was: ok with me
cradek: I'm not sure how it's implemented
dgarr: hm, I forget if there was something that still bugged me about it..
cradek: another thing they included support for rotating/skewing coordinates
but you have to use millkins.c
mocca exports some hal pins which are then connected to millkins
if that actually works we should copy it. how do they get around the discontinuity problem when changing?
* jepler will always hate UIs with m--h style button-and-colored-indicator. it's a visceral thing I just can't get over..
apparently you can use mach skins directly
that's another thing that would never have been a design goal of mine
thank goodness for open source.
emc can already rotate coordinates (without the discontinuity problem)
I don't see how you can rotate OR scale in kins and have the machine behave correctly
heh, the instructions to compile mocca remind me of AXIS
AXIS the early days..
for once I'm not nostalgic
EMCDIR = /home/dein_name/emc2/emc2-2.3.4
INCLUDES = -I/usr/include/emc2
something like that
the intent is that UIs be buildable with the emc2-dev package installed, no source tree required. if it's not, I want a good bug report so we can fix it..
[21:06:15] <alex_joni> http://axis.unpy.net/downloads/01118085613
5 years this week
hah, from before I was convinced emc2 was viable
jepler: of course
jepler: I Googled "m--h screen sets" and "m--h screen designer", could you point out one of the "...button-and-colored-indicator[s]..." that you dislike?
[21:11:15] <alex_joni> http://media.unpythonic.net/axis-files/01118963491/emc2.png
KimK: check the imagebin picture I pasted earlier
KimK: like the button labeled "mm" in http://imagebin.ca/view/IEDfQ5.html
23:33 < alex_joni> http://imagebin.ca/view/IEDfQ5.html
jepler: baby pictures!
jepler: OK, thanks. And I presume you would not like it any better if it was upside down (light above button)?
KimK: it's nothing to do with the relative position of the text and the colored region
"just use a checkbutton, it's already in your GUI toolkit"
jepler: I'll take that as a no, lol
Despite the fact that my servos are half the rated torque of my steppers, I have now got them moving my Z axis at 2000mm.min compared to the 660mm.min that the stepper could manage.
yeah, servo and stepper torque can't be directly compared
Can you combine kinematics modules? Like rotatekins for a gantry machine?
Looks like Viesturs will be making a very special-purpose kinematics module then.
Is there an Imax term in emc's PID implementation to avoid integral "wind-up"?
[23:19:11] <andypugh> http://www.linuxcnc.org/docview/html//man/man9/pid.9.html
I have just noticed that http://www.linuxcnc.org/docview/html//man/man9/rotatekins.9.html
It says that the X and Y are rotated 45 degrees relative to (0,1) whereas they are rotated according to the value of C. (much more useful...)