COMPONENT=Test_APL
+TKN154_PLATFORM_INCLUDE=$(TOSROOT)/tos/platforms/telosb/mac/tkn154/Makefile.include
+
+ifndef TKN154_MAC
PFLAGS += -I$(TOSROOT)/tos/lib/net/zigbee/ieee802154/includes \
+ -I$(TOSROOT)/tos/lib/net/zigbee/Wrapper\
+ -I$(TOSROOT)/tos/lib/net/zigbee/ieee802154/macTDBS \
+ -I$(TOSROOT)/tos/lib/net/zigbee/ieee802154/phy \
+ -I$(TOSROOT)/tos/lib/net/zigbee/ieee802154/timerasyncTDBS \
+ -I$(TOSROOT)/tos/lib/net/zigbee/ieee802154/interfaces \
+ -I$(TOSROOT)/tos/lib/net/zigbee/ieee802154/interfaces/mac \
+ -I$(TOSROOT)/tos/lib/net/zigbee/ieee802154/interfaces/phy \
+ -I$(TOSROOT)/tos/lib/net/zigbee/cc2420 \
+ -I$(TOSROOT)/tos/lib/net/zigbee/ieee802154/interfaces/nwk \
+ -I$(TOSROOT)/tos/lib/net/zigbee/ieee802154/nwk
+
+else
+
+PFLAGS += -I$(TOSROOT)/tos//lib/mac/tkn154 \
+ -I$(TOSROOT)/tos//lib/mac/tkn154/dummies \
+ -I$(TOSROOT)/tos//lib/mac/tkn154/interfaces/MCPS \
+ -I$(TOSROOT)/tos//lib/mac/tkn154/interfaces/MLME \
+ -I$(TOSROOT)/tos//lib/mac/tkn154/interfaces/private \
+ -I$(TOSROOT)/tos//lib/mac/tkn154/interfaces/public\
+\
+-I$(TOSROOT)/tos/lib/net/zigbee/ieee802154/includes \
+-I$(TOSROOT)/tos/lib/net/zigbee/Wrapper\
-I$(TOSROOT)/tos/lib/net/zigbee/ieee802154/macTDBS \
-I$(TOSROOT)/tos/lib/net/zigbee/ieee802154/phy \
-I$(TOSROOT)/tos/lib/net/zigbee/ieee802154/timerasyncTDBS \
-I$(TOSROOT)/tos/lib/net/zigbee/cc2420 \
-I$(TOSROOT)/tos/lib/net/zigbee/ieee802154/interfaces/nwk \
-I$(TOSROOT)/tos/lib/net/zigbee/ieee802154/nwk
-
-include $(MAKERULES)
+
+ include $(TKN154_PLATFORM_INCLUDE)
+
+endif
+
+include $(MAKERULES)
+
/* Defines for wrapper layer*/
-#define TKN154_MAC //to use TKN MAC
-//#define OPEN_ZB_MAC //to use OPEN-ZB MAC
\ No newline at end of file
+//#define TKN154_MAC //to use TKN MAC
+#define OPEN_ZB_MAC //to use OPEN-ZB MAC
\ No newline at end of file
#include "nwk_func.h"
#include "UserButton.h"
+#include "Test_APL.h"
+
+
configuration Test_APL {
}
implementation {
+//#define OPEN_ZB_MAC
+
/*
* @author IPP HURRAY http://www.hurray.isep.ipp.pt/art-wise
* @author Andre Cunha
//printfUART("Timer fired\n", "");
if (TYPE_DEVICE == COORDINATOR)
{
- //printfUART("coordinator procedure\n", "");
+
+
+
+//printfUART("coordinator procedure\n", "");
//start forming a PAN
//command result_t request(uint32_t ScanChannels, uint8_t ScanDuration, uint8_t BeaconOrder, uint8_t SuperframeOrder, uint16_t PANId, bool BatteryLifeExtension);
call NLME_NETWORK_FORMATION.request(0x000000ff, 8, BEACON_ORDER, SUPERFRAME_ORDER, MAC_PANID,0);
//call Leds.redOff();
- call Leds.led0Off();
+ //call Leds.led0Off();
//call Test_timer.start(TIMER_REPEAT, 8000);
}
else
{
- //printfUART("child procedure\n", "");
+
+
+
+//printfUART("child procedure\n", "");
//call NLME_NETWORK_FORMATION.request(0x000000ff, 8, BEACON_ORDER, SUPERFRAME_ORDER, PANID,0);
event error_t NLME_NETWORK_FORMATION.confirm(uint8_t Status)
{
- //printfUART("NLME_NETWORK_FORMATION.confirm\n", "");
+
+
+//printfUART("NLME_NETWORK_FORMATION.confirm\n", "");
return SUCCESS;
}
event void Notify.notify( button_state_t state)
{
if (state == BUTTON_PRESSED) {
- call Leds.led0On();
+ //call Leds.led0On();
call T_init.startOneShot(5000);
}
//#include <stdio.h>
// Comment out the line below to DISABLE printf statements.
-//#define PRINTFUART_ENABLED
+#define PRINTFUART_ENABLED
// -------------------------------------------------------------------
}
else
{
- //temporariamente aqui //atenção quando for para o cluster-tree é preciso mudar para fora
+ //temporariamente aqui //aten��o quando for para o cluster-tree � preciso mudar para fora
//e necessario destinguir ZC de ZR (que tem que manter a sync com o respectivo pai)
if (on_sync == 0)
{
if ( PANCoordinator==0 )
{
- ////////////printfUART("i´m not a pan\n", "");
+ ////////////printfUART("i�m not a pan\n", "");
return;
}
atomic{
}
else
{
- //temporariamente aqui //atenção quando for para o cluster-tree é preciso mudar para fora
+ //temporariamente aqui //aten��o quando for para o cluster-tree � preciso mudar para fora
//e necessario destinguir ZC de ZR (que tem que manter a sync com o respectivo pai)
if (on_sync == 0)
{
if ( PANCoordinator==0 )
{
- //////////printfUART("i´m not a pan\n", "");
+ //////////printfUART("i�m not a pan\n", "");
return;
}
atomic{
command error_t MLME_RESET.request(uint8_t set_default_PIB)
{
-
+printfUART("MLME_RESET.request\n", "");
return SUCCESS;
}
uint32_t BO_EXPONENT;
uint32_t SO_EXPONENT;
- ////////printfUART("MLME_START.request\n", "");
+ printfUART("MLME_START.request\n", "");
//pag 102
atomic {
PANCoordinator=1;
components LedsC;
components NWKM;
- components Mac;
-
+ //components Mac;
+
+//////////
+ components WrapperC;
+
+/////////////
+
+
+
NWKM.Leds -> LedsC;
components RandomC;
NWKM.Random -> RandomC;
-
- //MAC interfaces
+
+
+
+ //MAC interfaces
+ /*
NWKM.MLME_START -> Mac.MLME_START;
NWKM.MLME_GET ->Mac.MLME_GET;
NWKM.MLME_ORPHAN->Mac.MLME_ORPHAN;
NWKM.MLME_SYNC->Mac.MLME_SYNC;
NWKM.MLME_SYNC_LOSS->Mac.MLME_SYNC_LOSS;
- NWKM.MLME_RESET->Mac.MLME_RESET;
-
+ NWKM.MLME_RESET->Mac.MLME_RESET;
NWKM.MLME_SCAN->Mac.MLME_SCAN;
-
NWKM.MCPS_DATA->Mac.MCPS_DATA;
+*/
+
+///////////
+NWKM.MLME_RESET->WrapperC;
+NWKM.MLME_START -> WrapperC;
+
+ NWKM.MLME_GET ->WrapperC;
+ NWKM.MLME_SET ->WrapperC;
+
+ NWKM.MLME_BEACON_NOTIFY ->WrapperC;
+ NWKM.MLME_GTS -> WrapperC;
+
+ NWKM.MLME_ASSOCIATE->WrapperC;
+ NWKM.MLME_DISASSOCIATE->WrapperC;
+
+ NWKM.MLME_ORPHAN->WrapperC;
+ NWKM.MLME_SYNC->WrapperC;
+ NWKM.MLME_SYNC_LOSS->WrapperC;
+ NWKM.MLME_SCAN->WrapperC;
+
+ NWKM.MCPS_DATA->WrapperC;
+
+
+
+
+///////////////
+
+
+
+
call MLME_SET.request(MACBEACONPAYLOAD,v_temp);
- ////printfUART("NLME_NETWORK_FORMATION.request\n", "");
+ printfUART("NLME_NETWORK_FORMATION.request\n", "");
//perform an energydetection scan
//perform an active scan
//and select a suitable channel
call MLME_START.request(PANId, LOGICAL_CHANNEL,BeaconOrder ,SuperframeOrder,1,0,0,0,0);
+
+
+
+call MLME_RESET.request(1);
+
+
+
+
return SUCCESS;
}
//destinaddress[0]=neighbortable[parent_index].Extended_Address0;
//destinaddress[1]=neighbortable[parent_index].Extended_Address1;
- //verificar o endereço do pan coordinator
+ //verificar o endere�o do pan coordinator
destinaddress[0]=0x00000000;
//SELECTED DEVICE TYPE
-#define TYPE_DEVICE END_DEVICE
+//#define TYPE_DEVICE END_DEVICE
//#define TYPE_DEVICE ROUTER
-//#define TYPE_DEVICE COORDINATOR
+#define TYPE_DEVICE COORDINATOR
//test definitions
-#define DEVICE_DEPTH 0x01
+#define DEVICE_DEPTH 0x00
//used to operate in a fixed channel
#define LOGICAL_CHANNEL 0x15