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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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
> > [email protected]
> >
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
> >
>
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help