Skip navigation.
Home
The QNX Community Portal

View topic - PTTimer Widget

PTTimer Widget

Read-only archive of qnx.gui (Creating graphical applications within a GUI environment, such as Photon or PhAB) at inn.qnx.com

PTTimer Widget

Postby yudansha » Wed Feb 21, 2007 10:29 am

I have a PHAB application that uses the RT Trend widget to display a
short-term, medium-term, and long-term trend graph. I have 3 seperate
PTTimer widgets that drive the data update. One with a repeat of 1 sec, one
with a repeat of 10 sec. and one with a repeat of 3 minutes. This
application has been running for around one year and I have recently
determined that the long term trend graph is no longer updating. Is there a
way for me to see the associated OS level timer associated with each of
these widgets so I can determine whether or not the timer is firing? I've
looked at sin rt and sin timers but don't know if this shows the timers
associated with the widgets or how to determine which would be associated
with which widget. Has anyone experienced this before? Is there any way to
see if my timer is still firing?

Thanks for your help.
yudansha
Active Member
 
Posts: 10
Joined: Thu Dec 07, 2006 3:50 pm

Re: PTTimer Widget

Postby Wojtek Lerch » Wed Feb 21, 2007 5:34 pm

Lawrence R. Sweet wrote:
I have a PHAB application that uses the RT Trend widget to display a
short-term, medium-term, and long-term trend graph. I have 3 seperate
PTTimer widgets that drive the data update. One with a repeat of 1 sec, one
with a repeat of 10 sec. and one with a repeat of 3 minutes. This
application has been running for around one year and I have recently
determined that the long term trend graph is no longer updating. Is there a
way for me to see the associated OS level timer associated with each of
these widgets so I can determine whether or not the timer is firing? I've
looked at sin rt and sin timers but don't know if this shows the timers
associated with the widgets or how to determine which would be associated
with which widget. Has anyone experienced this before? Is there any way to
see if my timer is still firing?

PtTimer uses Photon timer events, and all timer events are triggered by
a single realtime timer in the Photon server. Unless *all* the timers
in all the applications in your Photon session have stopped, that timer
is doing fine. If it's just one widget that has stopped ticking, the
only reason I can think of is that something went wrong in the Photon
library -- a memory corruption could do that of course, or maybe you
accidentally unrealized the widget, or maybe when the widget was trying
to re-arm itself, a signal interrupted it (I think the library normally
retries when that happens though).

Actually, there is another reason I can think of: could it be that your
widget's callback function runs a modal loop instead of returning right
away? A PtTimer doesn't re-arm itself until after its callback has
returned.
Wojtek Lerch
 

Re: PTTimer Widget

Postby yudansha » Wed Feb 21, 2007 7:49 pm

I have a single code call back on all three PtTimer widgets that updates a
single RtTrend widget with new data based on whether the user has selected
short, medium or long term trend display. The widget was created in PHAB.
If the widget was accidently unrealized then no displays would work since
there is only one widget. I have gathered all of the outputs from sin rt,
sin pr, sin timers sin ver etc. I read a previous thread that talked about
timers going negative. Since I have 3 timer widgets and two are still
working (and since they use a single Photon timer) I guess that can't be my
scenario. I also have Proc 4.25O I believe. Newr than the G patch
mentioned in the thread. Since the machine is still running and hasn't been
rebooted, is there anything other than the various 'sin' outputs that I
could gather to help troubleshoot?

Thanks
"Wojtek Lerch" <Wojtek_L@yahoo.ca> wrote in message
news:erhvq4$9u9$1@inn.qnx.com...
Lawrence R. Sweet wrote:
I have a PHAB application that uses the RT Trend widget to display a
short-term, medium-term, and long-term trend graph. I have 3 seperate
PTTimer widgets that drive the data update. One with a repeat of 1 sec,
one with a repeat of 10 sec. and one with a repeat of 3 minutes. This
application has been running for around one year and I have recently
determined that the long term trend graph is no longer updating. Is there
a way for me to see the associated OS level timer associated with each of
these widgets so I can determine whether or not the timer is firing? I've
looked at sin rt and sin timers but don't know if this shows the timers
associated with the widgets or how to determine which would be associated
with which widget. Has anyone experienced this before? Is there any way
to see if my timer is still firing?

PtTimer uses Photon timer events, and all timer events are triggered by a
single realtime timer in the Photon server. Unless *all* the timers in
all the applications in your Photon session have stopped, that timer is
doing fine. If it's just one widget that has stopped ticking, the only
reason I can think of is that something went wrong in the Photon
library -- a memory corruption could do that of course, or maybe you
accidentally unrealized the widget, or maybe when the widget was trying to
re-arm itself, a signal interrupted it (I think the library normally
retries when that happens though).

Actually, there is another reason I can think of: could it be that your
widget's callback function runs a modal loop instead of returning right
away? A PtTimer doesn't re-arm itself until after its callback has
returned.
yudansha
Active Member
 
Posts: 10
Joined: Thu Dec 07, 2006 3:50 pm

Re: PTTimer Widget

Postby Wojtek Lerch » Thu Feb 22, 2007 3:56 pm

Lawrence R. Sweet wrote:
I have a single code call back on all three PtTimer widgets that updates a
single RtTrend widget with new data based on whether the user has selected
short, medium or long term trend display. The widget was created in PHAB.
If the widget was accidently unrealized then no displays would work since
there is only one widget.

There's only RtTrend widget, but three PtTimer widgets, right? A
PtTimer is equally invisible no matter whether it's realized or not, but
it's only counting the time when realized.

I have gathered all of the outputs from sin rt,
sin pr, sin timers sin ver etc. I read a previous thread that talked about
timers going negative. Since I have 3 timer widgets and two are still
working (and since they use a single Photon timer) I guess that can't be my
scenario. I also have Proc 4.25O I believe. Newr than the G patch
mentioned in the thread. Since the machine is still running and hasn't been
rebooted, is there anything other than the various 'sin' outputs that I
could gather to help troubleshoot?

If you could attach to the process with a debugger and get the values of
"flags" and "eflags" of the three PtTimers, that might be helpful...

Thanks
"Wojtek Lerch" <Wojtek_L@yahoo.ca> wrote in message
news:erhvq4$9u9$1@inn.qnx.com...

Lawrence R. Sweet wrote:

I have a PHAB application that uses the RT Trend widget to display a
short-term, medium-term, and long-term trend graph. I have 3 seperate
PTTimer widgets that drive the data update. One with a repeat of 1 sec,
one with a repeat of 10 sec. and one with a repeat of 3 minutes. This
application has been running for around one year and I have recently
determined that the long term trend graph is no longer updating. Is there
a way for me to see the associated OS level timer associated with each of
these widgets so I can determine whether or not the timer is firing? I've
looked at sin rt and sin timers but don't know if this shows the timers
associated with the widgets or how to determine which would be associated
with which widget. Has anyone experienced this before? Is there any way
to see if my timer is still firing?

PtTimer uses Photon timer events, and all timer events are triggered by a
single realtime timer in the Photon server. Unless *all* the timers in
all the applications in your Photon session have stopped, that timer is
doing fine. If it's just one widget that has stopped ticking, the only
reason I can think of is that something went wrong in the Photon
library -- a memory corruption could do that of course, or maybe you
accidentally unrealized the widget, or maybe when the widget was trying to
re-arm itself, a signal interrupted it (I think the library normally
retries when that happens though).

Actually, there is another reason I can think of: could it be that your
widget's callback function runs a modal loop instead of returning right
away? A PtTimer doesn't re-arm itself until after its callback has
returned.





--
Wojtek Lerch
QNX Software Systems
Wojtek Lerch
 


Return to qnx.gui

Who is online

Users browsing this forum: No registered users and 1 guest