-
- /***************** PacketTimeStamp32khz Commands ****************/
- async command bool PacketTimeStamp32khz.isValid(message_t* msg)
- {
- return (getMetadata(msg)->timestamp != CC1000_INVALID_TIMESTAMP);
- }
-
- async command uint32_t PacketTimeStamp32khz.timestamp(message_t* msg)
- {
- return getMetadata(msg)->timestamp;
- }
-
- async command void PacketTimeStamp32khz.clear(message_t* msg)
- {
- getMetadata(msg)->timesync = FALSE;
- getMetadata(msg)->timestamp = CC1000_INVALID_TIMESTAMP;
- }
-
- async command void PacketTimeStamp32khz.set(message_t* msg, uint32_t value)
- {
- getMetadata(msg)->timestamp = value;
- }
-
- /***************** PacketTimeStampMilli Commands ****************/
- // over the air value is always T32khz
- async command bool PacketTimeStampMilli.isValid(message_t* msg)
- {
- return call PacketTimeStamp32khz.isValid(msg);
- }
-
- 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();
- }
-
- async command void PacketTimeStampMilli.clear(message_t* msg)
- {
- call PacketTimeStamp32khz.clear(msg);
- }
-
- async command void PacketTimeStampMilli.set(message_t* msg, uint32_t value)
- {
- int32_t offset = (value - call LocalTimeMilli.get()) << 5;
- call PacketTimeStamp32khz.set(msg, offset + call LocalTime32khz.get());
- }
-
- /*----------------- PacketTimeSyncOffset -----------------*/
- async command bool PacketTimeSyncOffset.isSet(message_t* msg)
- {
- return getMetadata(msg)->timesync;
- }
-
- async command uint8_t PacketTimeSyncOffset.get(message_t* msg)
- {
- return sizeof(cc1000_header_t) + getHeader(msg)->length - sizeof(timesync_radio_t);
- }
-
- async command void PacketTimeSyncOffset.set(message_t* msg)
- {
- getMetadata(msg)->timesync = TRUE;
- }
-
- async command void PacketTimeSyncOffset.cancel(message_t* msg)
- {
- getMetadata(msg)->timesync = FALSE;
- }
+
+ // Default events for radio send/receive coordinators do nothing.
+ // Be very careful using these, or you'll break the stack.
+ default async event void RadioTimeStamping.transmittedSFD(uint16_t time, message_t *msgBuff) { }
+ default async event void RadioTimeStamping.receivedSFD(uint16_t time) { }