diff --git a/sys/net/sixlowpan/rpl/etx_beaconing.c b/sys/net/sixlowpan/rpl/etx_beaconing.c index df97995fc5..c05bdc5f64 100644 --- a/sys/net/sixlowpan/rpl/etx_beaconing.c +++ b/sys/net/sixlowpan/rpl/etx_beaconing.c @@ -40,7 +40,7 @@ uint8_t etx_rec_buf[ETX_BUF_SIZE] = { 0 }; static uint8_t rounds = 0; //Message queue for radio -msg_t msg_que[ETX_RCV_BUFFER_SIZE] = { 0 }; +msg_t msg_que[ETX_RCV_QUEUE_SIZE] = { 0 }; /* * This could (and should) be done differently, once the RPL implementation @@ -232,7 +232,7 @@ uint8_t etx_add_candidate(ipv6_addr_t * address, uint8_t * pkt_rcvd) { continue; } else { //We still have a free place add the new candidate - candidate->addr = address; + candidate->addr = * address; candidate->cur_etx = 0; candidate->packets_rx = *pkt_rcvd; candidate->used = 1; @@ -279,7 +279,7 @@ void etx_handle_beacon(ipv6_addr_t * candidate_address) { //Candidate was not found in my list, maybe I should add it uint8_t addresult = 0; addresult = etx_add_candidate(candidate_address, - probe->data[i * ETX_TUPLE_SIZE + ETX_PKT_REC_OFFSET]); + &(probe->data[i * ETX_TUPLE_SIZE + ETX_PKT_REC_OFFSET])); if(addresult == 1){ puts("[WARNING] Candidate could not get added"); @@ -296,7 +296,7 @@ void etx_radio(void) { ieee802154_frame_t frame; - msg_init_queue(msg_que, ETX_RCV_BUFFER_SIZE); + msg_init_queue(msg_que, ETX_RCV_QUEUE_SIZE); ipv6_addr_t ll_address; ipv6_addr_t candidate_addr; diff --git a/sys/net/sixlowpan/rpl/etx_beaconing.h b/sys/net/sixlowpan/rpl/etx_beaconing.h index b2f1312fa8..ed5fc1974d 100644 --- a/sys/net/sixlowpan/rpl/etx_beaconing.h +++ b/sys/net/sixlowpan/rpl/etx_beaconing.h @@ -11,16 +11,16 @@ #include "sys/net/sixlowpan/sixlowip.h" -#define ETX_BEACON_STACKSIZE 4500 //TODO debug stacksize, set for production -#define ETX_RADIO_STACKSIZE 4500 //TODO debug stacksize, set for production -#define ETX_UPDT_STACKSIZE 4500 //TODO debug stacksize, set for production +#define ETX_BEACON_STACKSIZE 2000 //TODO debug stacksize, set for production +#define ETX_RADIO_STACKSIZE 2000 //TODO debug stacksize, set for production +#define ETX_UPDT_STACKSIZE 800 //TODO debug stacksize, set for production //[option|length|ipaddr.|packetcount] with up to 15 ipaddr|packetcount pairs // 1 Byte 1 Byte 1 Byte 1 Byte #define ETX_BUF_SIZE (32) -#define ETX_RCV_BUFFER_SIZE (128) +#define ETX_RCV_QUEUE_SIZE (128) //Constants for packets diff --git a/sys/net/sixlowpan/rpl/rpl_structs.h b/sys/net/sixlowpan/rpl/rpl_structs.h index 8000bf7631..af1e4703f7 100644 --- a/sys/net/sixlowpan/rpl/rpl_structs.h +++ b/sys/net/sixlowpan/rpl/rpl_structs.h @@ -95,7 +95,7 @@ * Default 40, should be enough to get all messages for neighbors. * In my tests, the maximum count of neighbors was around 30-something */ -#define RPL_MAX_CANDIDATE_NEIGHBORS 40 +#define RPL_MAX_CANDIDATE_NEIGHBORS 15//TODO change #define RPL_MAX_PARENTS 5 #define RPL_MAX_ROUTING_ENTRIES 128 #define RPL_ROOT_RANK 1