From: kusy Date: Wed, 13 Aug 2008 07:37:05 +0000 (+0000) Subject: Fixing T32khz to TMilli conversion - coeficient 32 needs to be changed to 28.1. X-Git-Tag: rc_6_tinyos_2_1_1~657 X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=commitdiff_plain;h=f8120ec47efebf578a6edf99882d009ea6dedcd1;p=tinyos-2.x.git Fixing T32khz to TMilli conversion - coeficient 32 needs to be changed to 28.1. --- diff --git a/tos/chips/cc2420/packet/CC2420PacketP.nc b/tos/chips/cc2420/packet/CC2420PacketP.nc index 0a730484..f0c2e384 100644 --- a/tos/chips/cc2420/packet/CC2420PacketP.nc +++ b/tos/chips/cc2420/packet/CC2420PacketP.nc @@ -138,10 +138,13 @@ implementation { return call PacketTimeStamp32khz.isValid(msg); } + //timestmap is always represented in 32khz + //28.1 is coefficient difference between T32khz and TMilli on MicaZ async command uint32_t PacketTimeStampMilli.timestamp(message_t* msg) { - int32_t offset = call PacketTimeStamp32khz.timestamp(msg) - call LocalTime32khz.get(); - return (offset >> 5) + call LocalTimeMilli.get(); + int32_t offset = (call LocalTime32khz.get()-call PacketTimeStamp32khz.timestamp(msg)); + offset/=28.1; + return call LocalTimeMilli.get() - offset; } async command void PacketTimeStampMilli.clear(message_t* msg)