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

📄 test_aplm.nc

📁 tinyos2.0版本驱动
💻 NC
📖 第 1 页 / 共 3 页
字号:
/* * @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise * @author Andre Cunha * */#include <Timer.h>#include "printfUART.h"module Test_APLM {	uses interface Boot;	uses interface Leds;		uses interface NLDE_DATA;//NLME NWK Management services	uses interface NLME_NETWORK_DISCOVERY;	uses interface NLME_NETWORK_FORMATION;		uses interface NLME_START_ROUTER;	uses interface NLME_JOIN;	uses interface NLME_LEAVE;	uses interface NLME_SYNC;		/*	uses interface NLME_PERMIT_JOINING;	uses interface NLME_DIRECT_JOIN;	uses interface NLME_RESET;	*/		uses interface NLME_GET;	uses interface NLME_SET;				uses interface Timer<TMilli> as T_init;		uses interface Timer<TMilli> as T_test;		uses interface Timer<TMilli> as T_schedule;		//user button  uses interface Get<button_state_t>;  uses interface Notify<button_state_t>;	  }implementation {		//descriptor of the Parent device	networkdescriptor PAN_network;	//boolean variable definig if the device has joined to the PAN	uint8_t joined =0x00;	//boolean variable defining if the device is waiting for the beacon request response	uint8_t requested_scheduling = 0x00;	//function used to start the beacon broadcast (router devices)	task void start_sending_beacons_request();	//function used to schedule the beacon requests (PAN coordinator)	void process_beacon_scheduling(uint16_t source_address,uint8_t beacon_order, uint8_t superframe_order);		void process_beacon_scheduling(uint16_t source_address,uint8_t beacon_order, uint8_t superframe_order)	{			uint8_t nsdu_pay[6];				beacon_scheduling *beacon_scheduling_ptr;				beacon_scheduling_ptr = (beacon_scheduling *)&nsdu_pay[0];				switch(source_address)		{						/*****************************************************************************/			/*DEPTH 			mwkMaxChildren (Cm)	6			nwkMaxDepth (Lm)	4			mwkMaxRouters (Rm)	4			*/			/*			case 0x0001: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x3C;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x0002: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x3C;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x0021: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x01;					beacon_scheduling_ptr->transmission_offset[1] = 0x2C;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x0003: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x3C;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x0022: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x3C;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x0004: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x3C;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x0005: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x78;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;						case 0x0023: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x3C;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;						case 0x0024: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x78;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;						*/						/*****************************************************************************/			/*NORMAL TEST			mwkMaxChildren (Cm)	6			nwkMaxDepth (Lm)	3			mwkMaxRouters (Rm)	4*/			case 0x0001: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x3C;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x0020: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x01;					beacon_scheduling_ptr->transmission_offset[1] = 0xE0;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x0002: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x3C;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x0009: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0xF0;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x0021: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x3C;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x0028: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0xF0;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x0003: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x3C;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x0004: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x78;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x000a: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x3C;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x000b: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x78;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x0022: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x3C;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x0023: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x78;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x0029: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x3C;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x002a: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x78;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;						/*******************************************************************/			/*			case 0x0001: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x3C;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x0002: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x3C;					beacon_scheduling_ptr->transmission_offset[2] = 0x00;					break;			case 0x0009: 					beacon_scheduling_ptr->request_type = SCHEDULING_ACCEPT;					beacon_scheduling_ptr->beacon_order = beacon_order;					beacon_scheduling_ptr->superframe_order = superframe_order;					beacon_scheduling_ptr->transmission_offset[0] = 0x00;					beacon_scheduling_ptr->transmission_offset[1] = 0x78;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -