Is there easy way to share some shared memory between rt hal module and let say user python hal module?
micges_work: some different memory besides the task/motion interface?
I think so, idea is to copy large amount of data to rt driver (designing rt_ethernet hal driver)
hi all, was there a recent re-factor of the AXIS opengl code? I've been looking for some easy to use OpenGL bindings for python for a while. Visual (www.vpython.org) seems best so far. But it doesn't have a function for exporting the current view to a file (screenshot). Is this in the AXIS code or would it be easy to add?
micges_work: rtapi has shared memory APIs but they aren't wrapped in Python. putting wrappers in halmodule would be appropriate
awallin: no, there's nothing specific in axis for making screenshots. the opengl function you need for that is glreadpixels, but axis's minigl doesn't wrap it yet. In C it looks like this: http://pastebin.ca/1573875
and I'm sure python-opengl includes a glReadPixels wrapper
jepler: what files from the emc tree do I need for minigl? I don't have an emc install to work with right now. Or is it just easier to do an emc-install (simulator, since my kernel is non-realtime) ?
awallin: I've made no effort to make those modules stand alone from emc, but you're welcome to try. at a guess you'd need at least the following, two of which are compiled: http://pastebin.ca/1573974
thanks, I will try when I get home later today
jepler: help me with a half-baked idea: I was thinking of trying to isolate touchoff and tool-touchoff so they could be used in multiple guis. They are very complicated because of how the various offsets and active units interact. I wonder if new G10 commands (we have lots of Lxxx available) would do what they do, but more easily because the interp knows those things. If so, the gui part becomes very simple.
cradek: you mean move those ugly calculations out of the gui? I'm sure not against that
of course, you'll introduce at least 2 bugs
but yeah, it would make the gui[s] very simple
is l an integer?
G10 L20? P1 X-.1 => change G54 such that X now = -.1
yes I think so
L10? => same for tool table
X is in the current g20/g21 units of course
... current g20/g21/g7/g8 units
now all we need is a non-modal units setting
g20.1 g10 l20 ...
(a UI showing metric when the current distance units setting is inches will have to issue 3 mdi commands)
a modal stack: G[push] G20 G10... G[pop]
looks like someone's biting off more than he could chew
I'm not going to bite either of those
oh, so by "help me", you mean "write me"?
but you're right, if you don't want to disrupt modal interp settings, the gui still has to do the crappy units conversion
no no no
I mean I wasn't going to write G20.1 or G[push]
I just wanted help baking it
I was having trouble figuring out what "either" meant
the units thing makes me sad but I don't see an easy answer
ugh this seemed easy until I looked at the code
oh, it is easy, I just had to draw a picture
I'm struggling to see what it means if you G10 L10 a tool that's not currently loaded
then reject it for now?
seems like schemes where you measure tools off-machine would use G10 L1, not G10 L10
yes that's right
I guess it means "if you would load that tool offset with the machine in this position, the coordinates would become the given numbers"
one possibility: consider tools with depth-setting rings. Load one, touch off its length. Repeat for all tools with the same ring-depth. Why force the operator to load each one?
I think the thing you said would make this work
yes it would
it would be interesting to have a standalone tool-setting application
what would that be?
(assuming the lengths are repeatable with your tool-holding scheme)
a program that uses the motion control and HAL parts of EMC2, but it just asks you for tool numbers and daimeters, and its output is a tool table
my case is a bit silly -- if I actually trusted the rings, I'd use them as length 0 or length = datasheet ring depth and only touch off non-ringed tools
you should measure a bunch of them and see how close they actually are
time to catch a plane. see you later
EMC: 03cradek 07master * r2d49a37167ae 10/src/emc/rs274ngc/ (interp_check.cc interp_convert.cc): G10 L20 to set a G5x coordinate system relative to the current position
EMC: 03cradek 07master * rfe0c83145b2b 10/src/emc/rs274ngc/interp_convert.cc: G10 L10 to touch off a tool
seems the lynx will be the next LTS
cradek: any idea why git said there were conflicts in your last two commits?
they were cherry-picked from another branch and fixed up
hm I should do that too
put those two commits on random_toolchange so merging master into random_toolchange works correctly in the future
"[Shuttleworth said Ubuntu 10.04] would extend the horizontal server scalability of Debian into cloud computing"
if you go horizontally until you reach the clouds, it's actually fog
that is kind of a foggy metaphor
EMC: 03cradek 07random_toolchange * r42462fb19fad 10/src/emc/rs274ngc/ (interp_check.cc interp_convert.cc): G10 L20 to set a G5x coordinate system relative to the current position
EMC: 03cradek 07random_toolchange * r22e21e484021 10/src/emc/rs274ngc/ (interp_check.cc interp_convert.cc): G10 L10 to touch off a tool
EMC: 03cradek 07random_toolchange * r0f5cf0ab3dca 10/ (27 files in 16 dirs): Merge branch 'master' into random_toolchange
now that it's on seventyteen branches I hope it's right
more and more I'm finding that I know how to get git to do what I want
kick the tires on this before I commit it? http://emergent.unpy.net/files/sandbox/0001-use-new-G10-L10-L20-to-simplify-touch-off-code.patch
I just remembered I forgot to try diameter mode
did you try it?
% git am <0001-use-new-G10-L10-L20-to-simplify-touch-off-code.patch
cat: /usr/local/src/emc2.trunk/.git/rebase-apply/next: No such file or directory
previous rebase directory /usr/local/src/emc2.trunk/.git/rebase-apply still exists but mbox given.
forget what I said about git earlier
you can remove a lot more kruft than that
yeah I think you're right
several vars are now altogether unused
revised patch at the same url
huh, seems to just work
EMC: 03jepler 07master * r0c5ebe3f67df 10/src/emc/usr_intf/axis/scripts/axis.py: use new G10 L10/L20 to simplify touch-off code
even diameter works
EMC: 03cradek 07random_toolchange * r342b6b27bdd2 10/src/emc/usr_intf/axis/scripts/axis.py: use new G10 L10/L20 to simplify touch-off code
EMC: 03cradek 07random_toolchange * r51cd36dc7970 10/src/emc/usr_intf/axis/scripts/axis.py: Merge branch 'master' into random_toolchange