⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 channelm.nc

📁 无线传感器密钥管理算法
💻 NC
字号:
/*									tab:4
 *
 *
 * Copyright (C) 2004 by North Carolina State University.  
 * All rights reserved.
 *
 * Permission to use, copy, modify, and distribute this software and its
 * documentation for any purpose, without fee, and without written agreement is
 * hereby granted, provided that the above copyright notice, the following
 * two paragraphs and the author appear in all copies of this software.
 * 
 * IN NO EVENT SHALL THE NORTH CAROLINA STATE UNIVERSITY BE LIABLE TO ANY PARTY 
 * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING 
 * OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE NORTH
 * CAROLINA STATE UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * 
 * THE NORTH CAROLINA STATE UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
 * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
 * ON AN "AS IS" BASIS, AND THE NORTH CAROLINA STATE UNIVERSITY HAS NO OBLIGATION 
 * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
 *
 * Authors: Donggang Liu
 * Date:    4/25/04
 */

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 + -