[Tinyos-help] Timer going crazy
Pedro Almeida
pedralm at gmail.com
Sat Jun 2 09:25:09 PDT 2007
Hey, David!
I have updated to version 2.0.1 and things seem to be working fine. I just
get a warning about
a clock skew detected, but it seems it has nothing to do with the
program itself.
Timers behave properly now (need to do more tests)!
Thank you very much,
Pedro.
On 6/1/07, David Gay <dgay42 at gmail.com> wrote:
>
> The mica timer was rewritten for 2.0.1 because of problems with the
> old version, yes.
>
> David Gay
>
> On 6/1/07, Pedro Almeida <pedralm at gmail.com> wrote:
> > Hello, David!
> >
> > No, I haven't tried 2.0.1, I'm currently using 2.0. Is this a reported
> > error? Are there more people experiencing this problem and there's no
> > solution? Does the 2.0.1 release acknowledges this bug and
> > had it fixed?
> >
> > Thank you for any help!
> >
> > Pedro
> >
> >
> > On 6/1/07, David Gay <dgay42 at gmail.com> wrote:
> > > Sounds like the mica timer bug in 2.0.0. Have you tried 2.0.1?
> > >
> > > David Gay
> > >
> > > On 6/1/07, Pedro Almeida <pedralm at gmail.com> wrote:
> > > > Hello;
> > > >
> > > > So I've been working over the TestNetwork application, and now have
> two
> > > > timers implemented, both doing exactly the same, except for
> the periods
> > of
> > > > the timers and some fields in the message. Both go like:
> > > >
> > > > task void sendKeepAlive() {
> > > > TestNetworkMsg* msg = (TestNetworkMsg*)call Send.getPayload
> (&packet);
> > > > uint16_t metric;
> > > > am_addr_t parent;
> > > >
> > > > call CtpInfo.getParent(&parent);
> > > > call CtpInfo.getEtx(&metric);
> > > >
> > > > msg->source = TOS_NODE_ID;
> > > > msg->seqno = seqno;
> > > > msg->datah = 0x20;
> > > > msg->datal = 0x00;
> > > > msg->parent = parent;
> > > > msg->hopcount = 0;
> > > > msg->metric = metric;
> > > >
> > > > if (call Send.send (&packet, sizeof(TestNetworkMsg)) != SUCCESS) {
> > > > failedSend();
> > > > dbg("TestNetworkC", "%s: Transmission failed.\n", __FUNCTION__);
> > > > }
> > > > else {
> > > > sendBusy = TRUE;
> > > > seqno++;
> > > > call Leds.led2Toggle();
> > > > dbg("TestNetworkC", "%s: Transmission succeeded.\n", __FUNCTION__);
> > > > }
> > > > }
> > > >
> > > > the task above is ran when the timer triggers here:
> > > >
> > > > event void Timer1.fired(){
> > > > if (!sendBusy) {
> > > > post sendKeepAlive();
> > > > }
> > > > }
> > > >
> > > > and the timer is created with
> > > >
> > > > call Timer1.startPeriodic(TIMER_PERIOD_KEEP_ALIVE);
> > > >
> > > > where the period is around 5 seconds.
> > > >
> > > > the sendDone is as follows:
> > > >
> > > > event void Send.sendDone(message_t* msg, error_t err) {
> > > > if (err != SUCCESS) {
> > > > }
> > > > sendBusy = FALSE;
> > > > dbg("TestNetworkC", "Send completed.\n");
> > > > }
> > > >
> > > > and the failedSend is:
> > > >
> > > > void failedSend() {
> > > > dbg("App", "%s: Send failed.\n", __FUNCTION__);
> > > > call CollectionDebug.logEvent(NET_C_DBG_1);
> > > > }
> > > >
> > > >
> > > > both tasks use the same sendDone/failedSend (since both taks have
> just
> > about
> > > > the same code).
> > > >
> > > > what happens is that a few timer cycles after the program has
> started
> > (where
> > > > everything works fine), the yellow led (led2) starts blinking
> > continuously
> > > > as if the timer was only of a few miliseconds, which indicates the
> > > > associated task with the timer is being called repeatedly, without
> > apparent
> > > > respect for the timer.
> > > > the only solution is to shut down and on the mica z mote (after a
> > while,
> > > > the problem again arises). This happens even when the other timer is
> > > > disabled!
> > > >
> > > > What may be causing this?
> > > >
> > > > Thanks in advance,
> > > >
> > > > Pedro
> > > >
> > > > _______________________________________________
> > > > Tinyos-help mailing list
> > > > Tinyos-help at Millennium.Berkeley.EDU
> > > >
> >
> https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
> > > >
> > >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.millennium.berkeley.edu/pipermail/tinyos-help/attachments/20070602/d7c652d6/attachment-0001.html
More information about the Tinyos-help
mailing list