#linuxcnc-devel | Logs for 2016-10-13

Back
[07:25:54] <skunkworks> I swear I live in an alternate universe.. I could have sworn I posted on the mailing list the exact explanation of trying a 1000X acc/vel config and run the FO at 100 or 1000 times for a time estimate..
[09:43:05] <tinkerer> greetings!
[09:46:12] <tinkerer> how can I increase the loglevel for a more meaningful message:
[09:46:17] <tinkerer> Embeded tab command "halcmd loadusr -Wn gladevcp -x 161481133 -u" exited with error: 1
[10:21:03] <seb_kuzminsky> tinkerer: i see in the gladevcp manpage that it accepts a "-d" command-line argument to turn on debugging, you could try adding that
[10:23:36] <seb_kuzminsky> hmm, also are you sure you're running that right? I think the "-Wn gladevcp" is saying "wait for a component named gladevcp to show up", and then the following part is the command to run, so "-x" in this case
[10:28:26] <tinkerer> seb_kuzminsky: thank you, will try the -d switch. it's a scenario from andy posted on the devel-list
[10:29:41] <seb_kuzminsky> i think you need either "halcmd loadusr -Wn gladevcp gladevcp $ARGS" or "halcmd loadusr -W gladevcp $ARGS"
[10:30:00] <seb_kuzminsky> the -W by default waits for a comp with the same name as the program you're running
[10:30:31] <tinkerer> thanks. will play with it
[10:36:28] <tinkerer> argh, typo! sorry for the noise
[12:31:29] -linuxcnc-github:#linuxcnc-devel- [13linuxcnc] 15tseufl closed pull request #175: Update README (configs/sim/axis/) (062.7...062.7) 02https://github.com/LinuxCNC/linuxcnc/pull/175
[12:37:40] <cradek> when I want to see how far a program is from finishing I look at the scrollbar in AXIS
[12:40:34] <cradek> hm the DRO doesn't line up nice anymore
[12:41:31] <cradek> but i18n seems to work, de and fr are fairly complete, ja and es are not
[12:51:41] <seb_kuzminsky> some situation make it hard to estimate program runtime, even by "running it fast first, without making any motion"
[12:52:36] <seb_kuzminsky> for example, probing moves take variable amounts of time, and if you use the probing result to vary (for example) the number of cutting passes, it multiplies from there
[12:53:14] <seb_kuzminsky> the axis program text scroll bar doesn't tell you how long the program will spend or has spent in loops and subroutines etc
[12:53:31] <cradek> nope
[12:56:45] <pcw_home> probing aside a sim that runs the code with the proper accel and velocity (but sped up time) seems like a good way
[13:03:35] <cradek> hm I can imagine a canon-level interface that knows machine accels and estimates the runtime for each canon call
[13:03:59] <cradek> imagine it like sai but instead of printing the moves it'd print their times
[13:04:25] <cradek> you don't really want to run the motion controller and all that
[13:05:54] <cradek> but of course you'd have to hardcode assumptions about blending
[13:06:09] <cradek> (wait I bet this is what AXIS does already)
[13:06:18] * cradek waves his hands and goes to lunch
[13:06:19] <jepler> it doesn't model accel at all
[13:06:42] <jepler> it tries to sum up length/feedrate and that's about it
[13:52:56] <tinkerer> btw: in src/hal/user_comps/gladevcp.py the line 114 (continue) starts with a tab. jfyi
[16:10:32] <andypugh> I can’t believe how hard it is to even decide on a good tactic to make a GladeVCP tab aware of its status.
[16:10:53] <andypugh> I am even thinking I might have to tunnel out to HAL and back in again….
[16:11:43] <jepler> some days I think glade/gtk is not good technology
[16:13:12] <andypugh> Unfortunately it is what we have.
[16:13:46] <jepler> the docs say the notebook emits a signal when the page is changed, but I assume somebody else mentioned it already http://www.pygtk.org/pygtk2reference/class-gtknotebook.html#signal-gtknotebook--switch-page
[16:13:55] <jepler> in other news pygtk.org is back which is nice
[16:14:44] <andypugh> Yes, the Notebook in Touchy/Axis emits a signal, but that is trapped by a handler in Touchy/Axis.
[16:15:02] <andypugh> How to pass that to the handler in the embedded “thing”?
[16:16:15] <andypugh> I thought about using the property_change() function, but that is barely documented: https://developer.gnome.org/pygtk/stable/class-gdkwindow.html#method-gdkwindow--property-change
[16:17:26] <andypugh> The only example I found of the use of property_change is:
[16:17:37] <andypugh> self.window.window.property_change("_NET_WM_STRUT", "CARDINAL", 32, gtk.gdk.PROP_MODE_REPLACE, [0, 100, 0, 0])
[16:18:38] <andypugh> So I have no idea how you go about choosing valid values for “proprty” and “type”
[16:22:31] <andypugh> Anyway, that’s rather by-the-by as it turns out that what Touchy (and presumably Axis) end up with when they run a GladeVCP command isn’t any sort of GTH object that can have its properties tweaked, it’s a “Popen” object. And I have no real idea what you can do with those.
[16:23:31] <cradek> just other processes then. you could send them (unix) signals.
[16:24:35] <andypugh> The only ones I can think of might be less than useful. Keyboard interrupt?
[16:24:57] <andypugh> But, that actually sounds possibly useful.
[16:26:35] <cradek> you could send STOP and CONT, or USR1/USR2
[16:26:51] <cradek> doesn't matter which ones exactly, as long as you have handlers registered for them
[16:26:59] <andypugh> Stop and Continue sound almost ideal.
[16:28:00] <andypugh> And, in fact, might have exactly the behaviour I want automatically, if they actually halt the process.
[16:52:57] <andypugh> If, at dynamic tab creation time, I have “ child.send_signal(signal.SIGSTOP)” then the tab contents don’t even appear. This seems rather promising.
[17:37:07] <tinkerer> andypugh: I think I've got it.
[17:38:54] <andypugh> So do I.
[17:39:18] <andypugh> Hmm. your way better be really inconvenient, because I spent a lot of effort on my way :-)
[17:41:20] <tinkerer> hehe
[17:41:48] <tinkerer> a question?
[17:42:36] <tinkerer> how can I write to the "messagebox" in axis in python?
[17:48:40] <tinkerer> no idea?
[17:56:57] <andypugh> What do you mean by “messagebox”?
[17:57:43] <tinkerer> where the "following error" appears
[17:57:58] <andypugh> One way is http://linuxcnc.org/docs/2.7/html/man/man3/rtapi_print.3rtapi.html
[17:58:38] <tinkerer> and python?
[17:58:47] <andypugh> trapi_print_msg(RTAPI_MSG_ERR, “this is my message’)
[17:58:57] <andypugh> Hmm.
[17:58:59] <jepler> that will work only if it is in the context of a realtime component
[17:59:54] <jepler> in the axis process, the 'notifications' object is in charge of those messages
[17:59:57] <jepler> ifications.add("info",self.notify_message)
[18:00:01] <andypugh> The manpage says it can be called from user code
[18:00:23] <jepler> andypugh: yes that is true, but only in a realtime component does it get propelled all the way to an axis notification, because legacy and reasons
[18:00:30] <andypugh> But that is as far as I checked
[18:00:49] <andypugh> Fair enough
[18:01:53] <jepler> the motion real time component "hooks" into things and in cooperation with task turns those messages into nml "operator messages", which are picked up by the first UI to receive them
[18:03:05] <jepler> so for instance I wrote this line in ~/.axisrc, and the message is displayed once at startup of axis:
[18:03:08] <jepler> notifications.add("info", "added by a line in axisrc")
[18:03:52] <tinkerer> notifications is a lib?
[18:04:32] <jepler> $ git grep '^notifications ='
[18:04:33] <jepler> src/emc/usr_intf/axis/scripts/axis.py:notifications = Notification(root_window)
[18:07:10] <jepler> it's an implementation detail of axis
[18:09:20] <tinkerer> yes I see
[18:09:33] <jepler> afk for dinner
[18:09:48] <tinkerer> this is too expensive for my short demo ;)
[18:10:04] <tinkerer> bon appetit
[18:12:36] <tinkerer> andypugh: please try this in bin/gladevcp:
[18:13:38] <tinkerer> after line 226 (window.show)
[18:13:46] <tinkerer> def signaltest(event, widget):
[18:13:55] <tinkerer> print "Signaltest!!"
[18:14:02] <andypugh> I have Touchy sending signals to the socket. But they don’t seem to get through :-(
[18:14:15] <tinkerer> window.set_events(gtk.gdk.ALL_EVENTS_MASK)
[18:14:22] <tinkerer> window.connect("visibility_notify_event", signaltest)
[18:14:38] <andypugh> OK
[18:14:47] <tinkerer> just this 4 lines
[18:14:55] <tinkerer> just for testing
[18:15:50] <tinkerer> and you have to start lcnc in the term for watching the print output
[18:17:51] <tinkerer> and I hope, jepler shows us how we can throw the window obj to the glade app :)
[18:19:32] <andypugh> It looks like about 25% of the answer. There isn’t anything happening when the tab is deselected, for example.
[18:20:36] <tinkerer> yes I know, but we have a foot in the door
[18:25:19] <andypugh> Indeed.
[18:25:39] <andypugh> It looks more general than my change to Touchy
[18:26:27] <andypugh> And you can imagine GladeVCP looking for “on_show” and “on_hide” handlers in the handler file like it looks for the handler class.
[18:26:55] -linuxcnc-github:#linuxcnc-devel- [13linuxcnc] 15phillc54 opened issue #179: Incorrect Axis view mode 02https://github.com/LinuxCNC/linuxcnc/issues/179
[18:28:42] <cradek> I don't understand what Phillip means
[18:28:55] <cradek> what is jog_order
[18:39:21] <tinkerer> maybe this is a clue http://www.pygtk.org/pygtk2tutorial/ch-ContainerWidgets.html#sec-EventBox
[18:42:47] <andypugh> Maybe, though I think all the things that I want to recieve events are vaguely capable of doing so.
[18:46:43] <andypugh> The event box just seems to be for thinks like labels that don’t normally get events.
[18:47:49] <tinkerer> yes, and it seems that the panel has a similar prob
[18:48:23] <tinkerer> therefor the hide event get lost
[19:36:34] <andypugh> tinkerer: I can’t help feeling that using socket.get_plug_window() and plug.get_socket_window() I ought to be able to meet in the middle.
[19:37:35] <andypugh> But I am seeinng two different xids for the two things.
[19:39:12] <tinkerer> maybe yes
[19:39:48] <tinkerer> but now I cant beat the feeling to go to sleep ;)
[19:40:53] <tinkerer> will further investigate next days
[19:41:04] <tinkerer> g8
[20:06:30] <KGB-linuxcnc> 03Jeff Epler 05master 3d4fc3b 06linuxcnc 10src/rtapi/rtapi_uspace.hh 10src/rtapi/uspace_rtapi_app.cc uspace: revamp privilege handling to not setfsuid * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=3d4fc3b
[20:06:31] <KGB-linuxcnc> 03Jeff Epler 05master 5cc4942 06linuxcnc 10src/rtapi/rtapi.h 10src/rtapi/uspace_rtapi_app.cc uspace: implement rtapi_spawn{,p}_as_root * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=5cc4942
[20:06:31] <KGB-linuxcnc> 03Jeff Epler 05master 94ee974 06linuxcnc 10src/rtapi/rtapi.h 10src/rtapi/uspace_rtapi_app.cc uspace: implement rtapi_do_as_root * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=94ee974
[20:06:33] <KGB-linuxcnc> 03Jeff Epler 05master 84f111a 06linuxcnc 10src/rtapi/uspace_rtapi_app.cc uspace: debugging code for privilege handling * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=84f111a
[20:06:36] <KGB-linuxcnc> 03Jeff Epler 05master e8e4116 06linuxcnc 10src/hal/drivers/mesa-hostmot2/hm2_eth.c hm2_eth: Use rtapi_spawn_as_root, rtapi_do_as_root * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=e8e4116
[20:07:09] -linuxcnc-github:#linuxcnc-devel- [13linuxcnc] 15jepler commented on issue #173: we'll take the version for master branch only. 02https://github.com/LinuxCNC/linuxcnc/pull/173#issuecomment-253679192
[20:07:27] -linuxcnc-github:#linuxcnc-devel- [13linuxcnc] 15jepler commented on issue #174: incorporated, but github won't figure it out because it was rebased before pushed. 02https://github.com/LinuxCNC/linuxcnc/pull/174#issuecomment-253679224
[20:14:45] -linuxcnc-github:#linuxcnc-devel- [13linuxcnc] 15jepler commented on issue #172: @tseufl any idea why github says "unknown repository":... 02https://github.com/LinuxCNC/linuxcnc/pull/172#issuecomment-253680095
[20:19:56] -linuxcnc-github:#linuxcnc-devel- [13linuxcnc] 15jepler commented on issue #172: @tseufl Not all commits are signed off, so this is rejected by our git server:... 02https://github.com/LinuxCNC/linuxcnc/pull/172#issuecomment-253680779
[20:28:53] -linuxcnc-github:#linuxcnc-devel- [13linuxcnc] 15jepler commented on issue #174: @trasz I think this may be helpful for the freebsd port, it's in master branch now... 02https://github.com/LinuxCNC/linuxcnc/pull/174#issuecomment-253681976
[20:30:55] <jepler> (trasz'd probably notice anyway, it'll conflict with whatever patch freebsd is carrying to get rid of setfsuid)