[Tinyos-devel] Sleep interval and duty cycle in CC2420
Andreas Köpke
koepke at tkn.tu-berlin.de
Wed Dec 17 02:50:25 PST 2008
Hi guys,
the sleep interval computation suffers from an integer overflow bug at least for
telosb. I'd like to check in the attached fix.
Best, Andreas
*** DefaultLplP.nc 24 Jun 2008 16:26:28 +0200 1.5
--- DefaultLplP.nc 17 Dez 2008 11:39:23 +0100
***************
*** 230,236 ****
return 0;
}
! return (DUTY_ON_TIME * (10000 - dutyCycle)) / dutyCycle;
}
/**
--- 230,236 ----
return 0;
}
! return ((uint32_t)DUTY_ON_TIME * (10000 - dutyCycle)) / dutyCycle;
}
/**
***************
*** 245,251 ****
return 10000;
}
! return getActualDutyCycle((DUTY_ON_TIME * 10000)
/ (sleepInterval + DUTY_ON_TIME));
}
--- 245,251 ----
return 10000;
}
! return getActualDutyCycle(((uint32_t)DUTY_ON_TIME * 10000)
/ (sleepInterval + DUTY_ON_TIME));
}
More information about the Tinyos-devel
mailing list