亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mac_packet_test.c

?? 語言為C語言
?? C
字號:
/*
  V0.1 Initial Release   10/July/2006

*/



//Basic packet sending test at the MAC level, used for internal testing only.
//This packet test has one node sending out a variety of
//differently formatted packets to two assumed destination nodes.

#include "wx_lrwpan.h"



char rfd1_dest_addr[8]={0x070,0x21,0x01,0x00,0x00,0x4B,0x12,0x00}; //little endian order!
char rfd2_dest_addr[8]={0x071,0x21,0x01,0x00,0x00,0x4B,0x12,0x00}; //little endian order!


BYTE test_number;

//WARNING - this assumes the payload is a null terminated string!
void do_send(BOOL bcast_flag,BOOL rfd2_dst, BYTE fcflsb, BYTE fcfmsb, UINT16 dstPANID,
			 UINT16 srcPANID, BYTE *payload)
{

	BYTE *ptr;
	BYTE plen;
	char i;

	//grab the TX buffer lock before proceeding
	while(phyTxLocked());
	phyGrabTxLock();
	//just make sure MAC is not busy
	while(macBusy());
	//at this point, have the TX lock and MAC is not busy.

	//if short address is used, it is the last two bytes of the long addr!!!
	a_mac_tx_data.fcflsb = fcflsb;
	a_mac_tx_data.fcfmsb = fcfmsb;
	ptr = &a_mac_tx_data.DestAddr.laddr.bytes[0];
	for(i=0;i<8;i++) {
		if (bcast_flag) *ptr = 0xFF;
		else {
			if (rfd2_dst) {
				*ptr= rfd2_dest_addr[i];
			} else {
				*ptr= rfd1_dest_addr[i];
			}
		}
		ptr++;
	}
	a_mac_tx_data.DestPANID = dstPANID;
	a_mac_tx_data.SrcPANID = srcPANID;
	//use the temp space available in the PHY for the TX packet
	//point at end of buffer
	phy_pib.currentTxFrm= &tmpTxBuff[LRWPAN_MAX_FRAME_SIZE];
	//copy the payload into this temp space, the frame is built
	//in reverse order.
	plen =  strlen((char *)&payload[0])+1;
	//copy in reverse order
	while (plen) {
		phy_pib.currentTxFrm--;  //decrement to first free location
		plen--;
		*(phy_pib.currentTxFrm) = payload[plen];
	}

	phy_pib.currentTxFlen = (BYTE) strlen((char *)&payload[0])+1;

	a_mac_service.cmd = LRWPAN_SVC_MAC_GENERIC_TX;

	conPrintROMString("hit a key to send packet\n");
	halGetch();


	macDoService();
	phyReleaseTxLock();
}

//assumes that Radio PANID is  already set to the default PANID
//with address rejection turned on
void packet_test(void) {

	BOOL rfd_dest;

	conPrintROMString("Test "); conPrintUINT8((UINT8) test_number);
	if (test_number % 2) rfd_dest = TRUE;
	else rfd_dest = FALSE;
	if (rfd_dest) {
		conPrintROMString(" to RFD2: ");
	}
	else {
		conPrintROMString(" to RFD1: ");
	}

	switch(test_number) {
	  case 0:
	  case 1:
		  conPrintROMString("Long DST, Long SRC, default PANID, ackreq\n");
		  do_send(FALSE, rfd_dest,
			  (LRWPAN_FRAME_TYPE_DATA|LRWPAN_FCF_INTRAPAN_MASK |LRWPAN_FCF_ACKREQ_MASK ),
			  (LRWPAN_FCF_DSTMODE_LADDR|LRWPAN_FCF_SRCMODE_LADDR),
			  LRWPAN_DEFAULT_PANID,
			  LRWPAN_DEFAULT_PANID,
			  "Hello!");
		  test_number++;
		  break;
	  case 2:
	  case 3:
		  conPrintROMString("Long DST, Long SRC, default PANID, no ackreq\n\n");
		  do_send(FALSE, rfd_dest,
			  (LRWPAN_FRAME_TYPE_DATA|LRWPAN_FCF_INTRAPAN_MASK ),
			  (LRWPAN_FCF_DSTMODE_LADDR|LRWPAN_FCF_SRCMODE_LADDR),
			  LRWPAN_DEFAULT_PANID,
			  LRWPAN_DEFAULT_PANID,
			  "Study Hard!");
		  test_number++;
		  break;
	  case 4:
	  case 5:
		  conPrintROMString("Short DST, Short Src, default PANID, ackreq\n\n");
		  do_send(FALSE, rfd_dest,
			  (LRWPAN_FRAME_TYPE_DATA|LRWPAN_FCF_INTRAPAN_MASK |LRWPAN_FCF_ACKREQ_MASK),
			  (LRWPAN_FCF_DSTMODE_SADDR|LRWPAN_FCF_SRCMODE_SADDR),
			  LRWPAN_DEFAULT_PANID,
			  LRWPAN_DEFAULT_PANID,
			  "Make Good Grades!");
		  test_number++;
		  break;
	  case 6:
	  case 7:
		  conPrintROMString("Short DST, Short Src, Wrong PANID, ackreq\n\n");
		  do_send(FALSE, rfd_dest,
			  (LRWPAN_FRAME_TYPE_DATA|LRWPAN_FCF_INTRAPAN_MASK |LRWPAN_FCF_ACKREQ_MASK),
			  (LRWPAN_FCF_DSTMODE_SADDR|LRWPAN_FCF_SRCMODE_SADDR),
			  LRWPAN_DEFAULT_PANID+1,
			  LRWPAN_DEFAULT_PANID+1,
			  "Enjoy Life!");
		  test_number++;
		  break;
	  case 8:
	  case 9:
		  conPrintROMString("BCAST DST, Short Src, default PanID, no ackreq\n\n");
		  do_send(TRUE, rfd_dest,
			  (LRWPAN_FRAME_TYPE_DATA|LRWPAN_FCF_INTRAPAN_MASK),
			  (LRWPAN_FCF_DSTMODE_SADDR|LRWPAN_FCF_SRCMODE_SADDR),
			  LRWPAN_DEFAULT_PANID,
			  LRWPAN_DEFAULT_PANID,
			  "Need any other advice?");
		  test_number++;
		  break;

	  default:
		  test_number = 0;

		  break;
	}

}

void main (void){
	MACPKT *pkt;
	BYTE laddr[8];
	SADDR saddr;

	//this initialization set our SADDR to 0xFFFF,
	//PANID to the default PANID

	//HalInit, evbInit will have to be called by the user
	halInit();
	evbInit();
	//phyInit, macInit will eventually be called from the stack
	phyInit();
	macInit();   //does a PhyInit->evbInit->halInit
	conPrintConfig();
	ENABLE_GLOBAL_INTERRUPT();
	test_number = 0;

	debug_level = 10;

	//for testing purposes, set our shortADDR to an assigned value
	halGetProcessorIEEEAddress(&laddr[0]);
#ifdef LWRPAN_COORDINATOR
	saddr = 0;
#else
	//set short address to our last two address bytes
	saddr = (((UINT16) laddr[1])<<8) + laddr[0];
#endif
	halSetRadioShortAddr(saddr);


	while (1) {
#ifdef LWRPAN_COORDINATOR

		packet_test();
		while(macBusy()) {HAL_SUSPEND(0);macFSM();} //wait for finish
#else
		//call PhyFSM here check for packets
		conPrintROMString("Waiting on reception\n");
		while(macRxBuffEmpty()){
			HAL_SUSPEND(0);
			phyFSM();
		}
		pkt = macGetRxPacket();
		//have a packet
		printf("Contents of Rx packet: \n");
		dbgPrintMacPacket (pkt->data+1, *(pkt->data));
		//free the packet
		macFreeRxPacket(TRUE);

#endif
	}

}

void usrIntCallback(void){
	
}

LRWPAN_STATUS_ENUM  usrRxPacketCallback(void) {return LRWPAN_STATUS_SUCCESS;}
LRWPAN_STATUS_ENUM usrZepRxCallback(void){ return LRWPAN_STATUS_SUCCESS; }

//called when the slow timer interrupt occurs
#ifdef LRWPAN_ENABLE_SLOW_TIMER
void usrSlowTimerInt(void ) {}
#endif


#ifdef LRWPAN_FFD
//Callback to user level to see if OK for this node
//to join - implement Access Control Lists here based
//upon IEEE address if desired
BOOL usrJoinVerifyCallback(LADDR *ptr, BYTE capinfo){

	return TRUE;

}

BOOL usrJoinNotifyCallback(LADDR *ptr){

	return TRUE;
}
#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久91精品久久久久久秒播| 国产成人综合精品三级| 国产婷婷色一区二区三区| 色综合久久久久| 久久国产精品无码网站| 一区二区三区欧美在线观看| 精品国产人成亚洲区| 精品视频在线看| 成人aa视频在线观看| 久草精品在线观看| 五月婷婷综合在线| 中文字幕人成不卡一区| 精品裸体舞一区二区三区| 欧美三级韩国三级日本三斤| 高清国产一区二区| 国产在线精品免费| 亚洲va欧美va天堂v国产综合| 国产精品久久精品日日| 久久久久国产精品人| 日韩一区二区三| 欧美日韩和欧美的一区二区| 色综合久久天天综合网| av在线不卡观看免费观看| 国产精品1区2区3区在线观看| 免费成人av在线播放| 午夜影院在线观看欧美| 亚洲福利一区二区三区| 亚洲精品中文在线影院| 最新久久zyz资源站| 国产精品视频第一区| 国产亚洲婷婷免费| 久久久久久免费毛片精品| 欧美成va人片在线观看| 日韩久久免费av| 日韩久久久久久| 精品国产乱码久久久久久牛牛 | 欧美日韩一区成人| 97se狠狠狠综合亚洲狠狠| av午夜一区麻豆| 99久久精品久久久久久清纯| 成人app网站| 色悠悠久久综合| 欧美视频中文一区二区三区在线观看| 日本精品裸体写真集在线观看| 91麻豆精品在线观看| 色综合久久中文综合久久牛| 色婷婷综合久久久久中文| 一本大道久久a久久综合婷婷| 91极品视觉盛宴| 欧美日韩和欧美的一区二区| 欧美一卡在线观看| 亚洲精品在线电影| 国产日韩三级在线| 亚洲天堂2014| 亚洲国产精品久久不卡毛片| 亚洲国产aⅴ天堂久久| 日韩成人精品视频| 美日韩黄色大片| 国产精一区二区三区| 国产成人a级片| 91麻豆免费观看| 欧美精品xxxxbbbb| 精品第一国产综合精品aⅴ| 久久久不卡网国产精品二区 | 视频一区二区三区入口| 日韩电影免费在线| 国产一区二区不卡老阿姨| 成人免费观看男女羞羞视频| 色天天综合色天天久久| 一区二区三区中文字幕电影| 亚洲一线二线三线久久久| 男女男精品网站| 琪琪一区二区三区| 免费观看成人av| 国产不卡一区视频| 91精品办公室少妇高潮对白| 91精品国产一区二区三区香蕉| 久久综合九色欧美综合狠狠| 久久av资源站| 日韩一级视频免费观看在线| 欧美精品一区二区在线播放| 香蕉乱码成人久久天堂爱免费| 99久久国产综合精品色伊| 久久影音资源网| 麻豆视频一区二区| 欧美日韩成人激情| 洋洋av久久久久久久一区| jizz一区二区| 国产清纯白嫩初高生在线观看91 | 91在线视频免费91| 欧美国产欧美综合| 国产精品一区三区| 2023国产一二三区日本精品2022| 日日夜夜精品视频免费| 欧美区视频在线观看| 亚洲成人精品一区二区| 欧美性大战久久久久久久蜜臀| 亚洲欧美日韩一区二区| 粉嫩av一区二区三区| 亚洲国产精品黑人久久久| 高清在线不卡av| 国产精品久久久久久福利一牛影视 | 国产欧美日韩另类视频免费观看| 国产在线视频一区二区三区| 久久久亚洲午夜电影| 国产精品夜夜嗨| 国产精品三级av| eeuss影院一区二区三区| 国产精品久久久久久久久晋中| 99久久精品99国产精品| 亚洲狠狠丁香婷婷综合久久久| 色屁屁一区二区| 亚洲成av人片在线观看| 欧美一级夜夜爽| 国产专区欧美精品| 国产欧美精品一区二区色综合 | 国产精品亚洲а∨天堂免在线| 久久综合九色综合欧美就去吻| 国产自产2019最新不卡| 国产色产综合色产在线视频| 成人高清免费观看| 一区二区三区在线视频观看58| 欧美午夜影院一区| 婷婷夜色潮精品综合在线| 日韩午夜精品视频| 国产二区国产一区在线观看| 国产精品福利av| 欧美日韩精品一区二区三区四区| 免费一级欧美片在线观看| 久久免费看少妇高潮| 99久久99久久精品免费看蜜桃| 亚洲一区二区成人在线观看| 欧美一级片在线| 成人一级片网址| 亚洲一区二区三区爽爽爽爽爽 | 亚洲成人在线免费| 精品国产一区二区国模嫣然| 成人短视频下载| 亚洲第一激情av| 久久婷婷色综合| 一本色道久久综合亚洲91| 美女爽到高潮91| 国产人久久人人人人爽| 欧美日韩免费一区二区三区视频| 裸体一区二区三区| 一色桃子久久精品亚洲| 777奇米四色成人影色区| 国产精品自拍毛片| 亚洲精品福利视频网站| 日韩精品最新网址| 一本大道久久a久久综合婷婷| 99精品视频在线观看| 日韩1区2区3区| 亚洲欧美日韩在线| www日韩大片| 欧美日韩一区成人| 成人美女在线视频| 日本美女一区二区三区视频| **性色生活片久久毛片| 精品免费国产二区三区 | 婷婷一区二区三区| 久久婷婷成人综合色| 99久久综合精品| 亚洲www啪成人一区二区麻豆| 精品国产伦一区二区三区观看方式| 成人免费视频国产在线观看| 一个色妞综合视频在线观看| 日韩欧美一级在线播放| 成人精品视频.| 午夜欧美大尺度福利影院在线看 | 亚洲成人777| 国产精品人人做人人爽人人添 | 久久精品99国产精品| 亚洲综合自拍偷拍| 日本一区二区综合亚洲| 日韩一区二区不卡| 91在线码无精品| 国产精品一区二区91| 久久精品久久久精品美女| 亚洲一本大道在线| 亚洲免费资源在线播放| 日本一区二区三区高清不卡| 日韩欧美一区电影| 91精品欧美久久久久久动漫| 日本韩国欧美在线| 99精品欧美一区| 国产一区二区三区免费观看| 日韩成人av影视| 午夜精品免费在线观看| 一区二区久久久久久| 亚洲欧美视频一区| 日韩伦理电影网| 1区2区3区精品视频| 国产亚洲精品久| 久久久久久久久久久久电影 | 日本一区二区三区久久久久久久久不 | 99久精品国产| 99久久99久久精品国产片果冻| 国产高清精品在线| 国产成人在线观看免费网站|