📄 byteradio.nc
字号:
/* $Id: ByteRadio.nc,v 1.5 2008/06/03 04:08:34 regehr Exp $ * Copyright (c) 2005 Intel Corporation * All rights reserved. * * This file is distributed under the terms in the attached INTEL-LICENSE * file. If you do not find these files, copies can be found by writing to * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA, * 94704. Attention: Intel License Inquiry. *//** * Radio logic is split between Csma (media-access control, low-power * listening and general control) and SendReceive (packet reception and * transmission). This interface specifies the interaction between these * two components. * * @author David Gay */ interface ByteRadio{ /** * SendReceive wants to send a packet. * @param msg Message to be sent. */ event void rts(message_t * ONE msg); /** * Access to the media granted. Start sending. SendReceive must signal * sendDone when transmission is complete. Note: the media-access-contro * layer must have enabled listening before calling cts(). */ async command void cts(); /** * Between the rts() and sendDone() events, this must return the * message under transmission. * @return Message being transmitted. */ async command message_t *getTxMessage(); /** * Transmission complete. */ async event void sendDone(); /** * Set message preamble length. * @param bytes Preamble length in bytes */ async command void setPreambleLength(uint16_t bytes); /** * Get message preamble length. * @return Preamble length in bytes */ async command uint16_t getPreambleLength(); /** * Enable listening for incoming packets. */ async command void listen(); /** * Disable listening for incoming packets. */ async command void off(); /** * SendReceive signals this event for every radio-byte-time while * listening is enabled and a message isn't being received or * transmitted. * @param preamble TRUE if a message preamble byte has been received */ async event void idleByte(bool preamble); /** * Detect if SendReceive is attempting to sync with an incoming packet. * During sync, idleByte events are not signaled. If sync is successful, * an rx() event will be signaled, if it fails, idleByte events will * resume. If syncing() returns TRUE, the last idleByte() event must * have had preamble = TRUE. * * @return TRUE if a sync attempt is in progress, FALSE if not. */ async command bool syncing(); /** * A message is being received */ async event void rx(); /** * Message reception is complete. */ async event void rxDone();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -