[Tinyos-contrib-commits] CVS: tinyos-1.x/contrib/diku/evb13192/apps/TestIeee802154Mac TestIeee802154Mac.nc, 1.9, 1.10 TestIeee802154MacM.nc, 1.23, 1.24

Jan Flora janflora at users.sourceforge.net
Sat Sep 16 10:52:27 PDT 2006


Update of /cvsroot/tinyos/tinyos-1.x/contrib/diku/evb13192/apps/TestIeee802154Mac
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv10095/apps/TestIeee802154Mac

Modified Files:
	TestIeee802154Mac.nc TestIeee802154MacM.nc 
Log Message:
802.15.4 GTS functionality updates

Index: TestIeee802154Mac.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/diku/evb13192/apps/TestIeee802154Mac/TestIeee802154Mac.nc,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** TestIeee802154Mac.nc	23 Aug 2006 09:41:13 -0000	1.9
--- TestIeee802154Mac.nc	16 Sep 2006 17:52:24 -0000	1.10
***************
*** 91,94 ****
--- 91,96 ----
  	Ieee802154MacC.TimeoutAlarm1 -> AsyncAlarmC.Alarm[unique("AsyncAlarm")];
  	Ieee802154MacC.TimeoutAlarm2 -> AsyncAlarmC.Alarm[unique("AsyncAlarm")];
+ 	Ieee802154MacC.CfpAlarm -> AsyncAlarmC.Alarm[unique("AsyncAlarm")];
+ 	Ieee802154MacC.CfpAlarm2 -> AsyncAlarmC.Alarm[unique("AsyncAlarm")];
  	
  	Ieee802154MacC.LocalTime -> AsyncAlarmC.LocalTime;
***************
*** 97,102 ****
   	Ieee802154MacC.Random -> RandomLFSR.Random;
   	
!  	// Wire buffer manager
   	SimpleBufferManM.Queue -> FIFOQueueM.FIFOQueue;
   	Ieee802154MacC.BufferMng -> SimpleBufferManM.BufferMng;
   //	TestIeee802154MacM.BufferManDebug -> SimpleBufferManM.BufferManDebug;
--- 99,105 ----
   	Ieee802154MacC.Random -> RandomLFSR.Random;
   	
!  	// Wire buffer manager and queue
   	SimpleBufferManM.Queue -> FIFOQueueM.FIFOQueue;
+  	Ieee802154MacC.FIFOQueue -> FIFOQueueM.FIFOQueue;
   	Ieee802154MacC.BufferMng -> SimpleBufferManM.BufferMng;
   //	TestIeee802154MacM.BufferManDebug -> SimpleBufferManM.BufferManDebug;

Index: TestIeee802154MacM.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/diku/evb13192/apps/TestIeee802154Mac/TestIeee802154MacM.nc,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -d -r1.23 -r1.24
*** TestIeee802154MacM.nc	23 Aug 2006 09:41:13 -0000	1.23
--- TestIeee802154MacM.nc	16 Sep 2006 17:52:24 -0000	1.24
***************
*** 119,122 ****
--- 119,129 ----
  	void (*nextSetFunc)() = NULL;
  
+ 	// GTS support.
+ 	bool gtsSend = FALSE;
+ 
+ 	// Data transmission support.
+ 	uint8_t txType;
+ 	uint16_t sendToAddr;
+ 
  	// P2P send sender and recipient info
  	uint8_t p2pRcptAddr[8] = {0x00, 0x50, 0xC2, 0x37, 0xB0, 0x01, 0x03, 0x02};
***************
*** 125,129 ****
  	// Short address we got
  	uint16_t panClientShort;
- 	uint16_t sendToAddr;
  	uint16_t tos_local_address;  //This node
  	
--- 132,135 ----
***************
*** 150,154 ****
  	task void help();
  	task void info();
! 	task void requestGts();
  	task void startpan();
  	task void disassociate();
--- 156,161 ----
  	task void help();
  	task void info();
! 	task void requestSendGts();
! 	task void sendToDevice();
  	task void startpan();
  	task void disassociate();
***************
*** 397,402 ****
  		call ConsoleOut.printHex(status);
  		call ConsoleOut.print("\n");
-   		prompt();
    		call MlmeGtsRequestConfirm.destroy(confirm);
    	}
    	
--- 404,414 ----
  		call ConsoleOut.printHex(status);
  		call ConsoleOut.print("\n");
    		call MlmeGtsRequestConfirm.destroy(confirm);
+   		if (!status && gtsSend) {
+   			// We send a frame in our gts send slot.
+   			post sendToDevice();
+   		} else {
+   			prompt();
+   		}
    	}
    	
***************
*** 703,707 ****
  	}
  	
! 	task void requestGts()
  	{
  		Mlme_GtsRequestConfirm request;
--- 715,719 ----
  	}
  	
! 	task void requestSendGts()
  	{
  		Mlme_GtsRequestConfirm request;
***************
*** 721,724 ****
--- 733,754 ----
  	}
  	
+ 	task void dropGts()
+ 	{
+ 		Mlme_GtsRequestConfirm request;
+ 		
+ 		call MlmeGtsRequestConfirm.create(&request);
+ 		call MlmeGtsRequestConfirm.combineGtsCharacteristics(request,1,0,0);
+ 		
+ 		if (call MlmeRequestConfirmGts.request(request))
+ 		{
+ 			call ConsoleOut.print("Dropping guaranteed timeslot... \n");
+ 		}
+ 		else
+ 		{
+ 			call ConsoleOut.print("Could not drop guaranteed timeslot... \n");
+ 			prompt();
+ 		}
+ 	}
+ 	
  	/* ********************************************************************** */
  	/**
***************
*** 844,855 ****
  		memcpy(call IeeeSdu.getPayload( myMsdu ), testBuffer, testBufferLen);
  		call McpsDataRequestConfirm.setMsduHandle( request, myMsduHandle );
! 		call McpsDataRequestConfirm.setTxOptions( request, 0x05 ); //indirect transfer
  
  		if (SUCCESS == call McpsRequestConfirmData.request(request)) {
! 			DBG_STRINT("Data succesfully queued for indirect transmission to device at: ",sendToAddr,1);
  			DBG_STRINT("MSDU Handle is: ",myMsduHandle,1);
  			myMsduHandle++;
  		} else {
! 			DBG_STR("Indirect transmission failed",1);
  		}
  		prompt();
--- 874,885 ----
  		memcpy(call IeeeSdu.getPayload( myMsdu ), testBuffer, testBufferLen);
  		call McpsDataRequestConfirm.setMsduHandle( request, myMsduHandle );
! 		call McpsDataRequestConfirm.setTxOptions( request, (0x01 | txType) );
  
  		if (SUCCESS == call McpsRequestConfirmData.request(request)) {
! 			DBG_STRINT("Data succesfully queued for transmission to device at: ",sendToAddr,1);
  			DBG_STRINT("MSDU Handle is: ",myMsduHandle,1);
  			myMsduHandle++;
  		} else {
! 			DBG_STR("Transmission failed",1);
  		}
  		prompt();
***************
*** 1135,1140 ****
  	 * logicalChannel, etc.</p>
  	 *
! 	 * <p>Note, that the Freescale hardware leaves RX on after a PAN
! 	 * start. This is not standard behaviour, as far as I know.</p>
  	 */
  	/* ********************************************************************** */
--- 1165,1170 ----
  	 * logicalChannel, etc.</p>
  	 *
! 	 * <p>Note, that the Freescale stack leaves RX on after a PAN
! 	 * start. This is not standard behaviour.</p>
  	 */
  	/* ********************************************************************** */
***************
*** 1147,1151 ****
  		if (iAmBeaconEnabled) {
  			beaconOrder = 0x0A;
! 			superframeOrder = 0x06;
  		} else {
  			beaconOrder = 0x0F;
--- 1177,1181 ----
  		if (iAmBeaconEnabled) {
  			beaconOrder = 0x0A;
! 			superframeOrder = 0x0A;
  		} else {
  			beaconOrder = 0x0F;
***************
*** 1161,1166 ****
  		call MlmeStartRequestConfirm.setPanId(request,myPanId);
  		call MlmeStartRequestConfirm.setLogicalChannel(request,logicalChannel);
! 		call MlmeStartRequestConfirm.setBeaconOrder(request,beaconOrder); // beacon often 6
! 		call MlmeStartRequestConfirm.setSuperframeOrder(request,superframeOrder); // superframe often 6
  		call MlmeStartRequestConfirm.setPanCoordinator(request,TRUE);
  		call MlmeStartRequestConfirm.setBatteryLifeExtension(request,FALSE);
--- 1191,1196 ----
  		call MlmeStartRequestConfirm.setPanId(request,myPanId);
  		call MlmeStartRequestConfirm.setLogicalChannel(request,logicalChannel);
! 		call MlmeStartRequestConfirm.setBeaconOrder(request,beaconOrder);
! 		call MlmeStartRequestConfirm.setSuperframeOrder(request,superframeOrder);
  		call MlmeStartRequestConfirm.setPanCoordinator(request,TRUE);
  		call MlmeStartRequestConfirm.setBatteryLifeExtension(request,FALSE);
***************
*** 1302,1305 ****
--- 1332,1336 ----
  			} else if (0 == strcmp2("sendTo", cmd_input, 6)) {
  				sendToAddr = parseArg(&cmd_input[7]);
+ 				txType = 0x04;
  				post sendToDevice();
  			} else if (0 == strcmp2("purge", cmd_input, 5)) {
***************
*** 1324,1329 ****
  //			} else if (0 == strcmp("get", cmd_input)) {
  //				post testGet();
! 			} else if (0 == strcmp("requestgts", cmd_input)) {
! 				post requestGts();
  			} else if (0 == strcmp("rxon", cmd_input)) {
  				post rxon();
--- 1355,1365 ----
  //			} else if (0 == strcmp("get", cmd_input)) {
  //				post testGet();
! 			} else if (0 == strcmp2("gtsSendTo", cmd_input, 9)) {
! 				sendToAddr = parseArg(&cmd_input[10]);
! 				txType = 0x02;
! 				gtsSend = TRUE;
! 				post requestSendGts();
! 			} else if (0 == strcmp("dropgts", cmd_input)) {
! 				post dropGts();
  			} else if (0 == strcmp("rxon", cmd_input)) {
  				post rxon();



More information about the Tinyos-contrib-commits mailing list