BlinkToRadio与ActiveMessageC
来源:互联网 发布:ps磨皮滤镜mac中文版 编辑:程序博客网 时间:2024/06/09 20:54
module BlinkToRadioC { ///tinyos-2.x/apps
uses interface Boot;
uses interface Leds;
uses interface Timer<TMilli> as Timer0;
uses interface Packet;
uses interface AMPacket;
uses interface AMSend;
uses interface Receive;
uses interface SplitControl as AMControl;
}
configuration BlinkToRadioAppC {
}
implementation {......
components BlinkToRadioC as App;
components ActiveMessageC;
App.AMControl -> ActiveMessageC;..............
}
..................................................................................................................................................................................................................................
configuration ActiveMessageC { //tinyos-2.x/tos/lib/mac/tkn154
provides {
interface SplitControl;
interface AMSend[am_id_t id];
interface Receive[am_id_t id];
interface Receive as Snoop[am_id_t id];
interface Packet;
interface AMPacket;
interface PacketAcknowledgements;
interface IEEE154Frame;
}
}
implementation {
components TKN154ActiveMessageP as AM;
SplitControl = AM;
AMSend = AM;
Receive = AM.Receive;
Snoop = AM.Snoop;
AMPacket = AM;
Packet = AM;
PacketAcknowledgements = AM;
.........}
.....................................................................................................................................................................................................
module TKN154ActiveMessageP { //tinyos-2.x/tos/lib/mac/tkn154
provides {.......
interface IEEE154Frame as Frame;
}
command void* AMSend.getPayload[am_id_t id](message_t* m, uint8_t len)
{
return call Packet.getPayload(m, len);
}
command void* Packet.getPayload(message_t* msg, uint8_t len)
{if (len > call Packet.maxPayloadLength())
return NULL;
else
return call Frame.getPayload(msg);
}
default event message_t* Receive.receive[am_id_t id](message_t* msg, void* payload, uint8_t len) { return msg; }
default event message_t* Snoop.receive[am_id_t id](message_t* msg, void* payload, uint8_t len) { return msg; }
default event void AMSend.sendDone[uint8_t id](message_t* msg, error_t err) { }
}
...................................................................................................................................................................................................................................................
#include <TKN154.h>
#include <message.h>
interface IEEE154Frame //tinyos-2.x/tos/lib/mac/tkn154/interfaces/public
{
command uint8_t getSrcAddrMode(message_t* frame);
command error_t getSrcAddr(message_t* frame, ieee154_address_t *address);
command error_t getSrcPANId(message_t* frame, uint16_t* PANID);
command uint8_t getDstAddrMode(message_t* frame);
command error_t getDstAddr(message_t* frame, ieee154_address_t *address);
command error_t getDstPANId(message_t* frame, uint16_t* PANID);
command error_t setAddressingFields(message_t* frame,
uint8_t SrcAddrMode,
uint8_t DstAddrMode,
uint16_t DstPANID,
ieee154_address_t *DstAddr,
ieee154_security_t *security);
command void* getPayload(message_t* frame);
command uint8_t getPayloadLength(message_t* frame);
command uint32_t getTimestamp(message_t* frame);
command bool isTimestampValid(message_t* frame);
command uint8_t getDSN(message_t* frame);
command uint8_t getLinkQuality(message_t* frame);
command int8_t getRSSI(message_t* frame);
command uint8_t getFrameType(message_t* frame);
command void* getHeader(message_t* frame);
command uint8_t getHeaderLength(message_t* frame);
command bool wasPromiscuousModeEnabled(message_t* frame);
command bool hasStandardCompliantHeader(message_t* frame);
}
- BlinkToRadio与ActiveMessageC
- BlinkToRadio与ActiveMessageC的渊源
- BlinkToRadio与AMSenderC,AMReceiveC
- BlinkToRadio分析
- tinyos学习笔记2-BlinkToRadio
- 试验三:MicaZ-TinyOS2.x平台下点对点通讯试验-----BlinktoRadio实验
- 与
- 与
- “” 与 “”
- ##与#
- >> 与 > >
- :与::
- &与&&
- && 与 &
- [[与((
- >>与>>>
- *与++
- *与++
- 数据结构_链队列相关操作
- xcode意外退出解决方案
- Maven的安装配置及常用插件技巧
- 判断Service是否启动
- C/C++中字符指针和字符数组
- BlinkToRadio与ActiveMessageC
- mysql中查询前10条记录
- uvalive4062
- 大端小端 && 网络字节序
- Android 4主线程访问网络
- TTL与COMS
- (转载一后学习用)SQLServer事务的隔离级别
- HttpUtil---网络请求工具类
- 库存控制本质需求物性分析专家申明江