Sorry, my fat fingers somehow hit a key combo that sent the previous message before it was ready!
Chris, I commented out those lines and sure enough I now get all the errors in my UI again. I guess I have two options: Stop using HAL gremlin and sourceview or use Gstat exclusively. I don't see any reason to remove the error polling from Gstat if it works in most other situations, so i think I will see about embedding gremlin directly (which I assume would not then use Gstat) and make my own sourceview, which I was planning to do anyway. Thanks a bunch Chris. On Thu, Apr 27, 2017 at 12:29 PM, Kurt Jacobson <kurtcjacob...@gmail.com> wrote: > Chris, I commented out those lines and sure enough I now get all the > errors in my UI again. > I guess I have two options: Stop using HAL gremlin and sourceview or use > Gstat exclusively. > > Gstat > > one solution would be for my to stop using the HAL_ > > On Thu, Apr 27, 2017 at 12:09 PM, Chris Morley <chrisinnana...@hotmail.com > > wrote: > >> >> >> >> ________________________________ >> From: Kurt Jacobson <kurtcjacob...@gmail.com> >> Sent: April 27, 2017 3:22 PM >> To: EMC developers >> Subject: Re: [Emc-developers] Error channel missing errors >> >> > >> > A change recently in master has Gstat poll for errors. >> >> >> Does it poll even if I am not using Gstat? >> >> >> > Are you using Gstat or are you using gladevcp (it uses Gstat) ? >> >> >> I am not using Gstat. The only GladeVCP widgets I am using are Gremlin and >> Sourceveiw. Do these use Gstat now? >> >> >> > Are you also polling separately for errors? >> >> >> Yes, I have my GUI polling for errors. >> >> >> > Are you using axis for the main GUI? >> >> >> No, it is a completely stand alone GUI. >> >> >> > Errors can only be read by _ONE_ source,. >> > if using multiply programs to read error stats It's unpredictable who >> gets >> > them. >> >> >> So do errors "get popped from the stack" when they are polled or is there >> some other reason why only one source can poll errors? >> I guess I assumed that error.poll() would be like stat.poll(), which as >> far >> as I know can be polled by multiple sources. >> >> >> > Ideally I would recommend using Gstat. >> > I have noticed GStat doesn't seem to send the error messages all the >> time >> > too. >> > I have not figured out the problem nor confirmed if it's just my system. >> >> >> So it seems like you have noticed that same behavior I have. Could this >> problem be elsewhere, maybe in the python interface, or deeper? >> >> >> > In the end I may need to remove error polling from GStat. >> >> >> >> Chris M >> >> >> Thank you very much Chris, and sorry for all the questions! >> >> Kurt >> >> >> >> Any gladevcp widget that uses linuxcnc status uses Gstat (gremlin and >> sourceview use it) >> This somewhat explains the situation: >> http://linuxcnc.org/docs/2.7/html/config/python-interface.ht >> ml#_reading_the_error_channel >> I am sure that it is done this way so you can't poll and get a 'stale' >> error message. >> >> <http://linuxcnc.org/docs/2.7/html/config/python-interface.h >> tml#_reading_the_error_channel>Gladevcp uses Gstat in a way that only >> uses one instance between all the widgets, unfortunately if another >> python program (even another instance of gladevcp) uses Gstat then there >> will be two polling of the error channel. >> >> The more I explain this the more I realize I think I need to remove error >> polling. >> That would be too bad as using Gstat with error polling was simple and >> clean. >> It seems a rethink of error status in linuxcnc is in order. >> >> One check to see if it this is the problem is edit the >> lib/python/hal_glib.py file. >> remove these line from def update: >> >> try: >> e = self.error.poll() >> if e: >> kind, text = e >> if kind in (linuxcnc.NML_ERROR, linuxcnc.OPERATOR_ERROR): >> self.emit('error-message',text) >> elif kind in (linuxcnc.NML_TEXT, linuxcnc.OPERATOR_TEXT): >> self.emit('text-message',text) >> elif kind in (linuxcnc.NML_DISPLAY, >> linuxcnc.OPERATOR_DISPLAY): >> self.emit('display-message',text) >> except: >> pass >> >> No need to recompile after this. >> Then try your program again. >> If all is well then that is the problem. >> >> Chris M >> >> <http://linuxcnc.org/docs/2.7/html/config/python-interface.h >> tml#_reading_the_error_channel> >> ------------------------------------------------------------ >> ------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> _______________________________________________ >> Emc-developers mailing list >> Emc-developers@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/emc-developers >> > > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers