📄 channelm.nc
字号:
includes PolyOne;
module ChannelM {
provides {
interface StdControl;
interface Channel;
}
uses {
interface StdControl as RadioControl;
interface SendMsg;
interface ReceiveMsg;
}
}
implementation
{
TOS_Msg packet;
uint8_t Msg[29];
command result_t StdControl.init() {
return call RadioControl.init();
}
command result_t StdControl.start() {
return call RadioControl.start();
}
command result_t StdControl.stop() {
return call RadioControl.stop();
}
command result_t Channel.send(uint16_t node, uint8_t *msgP) {
packet.addr=node;
packet.length=29;
memcpy(packet.data,msgP,packet.length);
call SendMsg.send(packet.addr,packet.length,&packet);
return SUCCESS;
}
event result_t SendMsg.sendDone(TOS_MsgPtr msg, result_t success)
{
if ( msg == &packet)
{
signal Channel.sendDone((uint8_t *)msg->data,success);
}
return SUCCESS;
}
event TOS_MsgPtr ReceiveMsg.receive(TOS_MsgPtr m) {
uint8_t *msgP;
msgP = (uint8_t *)m->data;
signal Channel.receive(msgP);
return m;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -