fixed a bug in nbr policy and DAO retransmission handling and added new wismote simulation
This commit is contained in:
parent
ee97dc4bcd
commit
12ac02650b
|
@ -976,6 +976,25 @@ dao_output(rpl_parent_t *parent, uint8_t lifetime)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if RPL_WITH_DAO_ACK
|
||||||
|
/* set up the state since this will be the first transmission of DAO */
|
||||||
|
/* retransmissions will call directly to dao_output_target_seq */
|
||||||
|
/* keep track of my own sending of DAO for handling ack and loss of ack */
|
||||||
|
if(lifetime != RPL_ZERO_LIFETIME) {
|
||||||
|
rpl_instance_t *instance;
|
||||||
|
instance = parent->dag->instance;
|
||||||
|
|
||||||
|
instance->my_dao_seqno = dao_sequence;
|
||||||
|
instance->my_dao_transmissions = 1;
|
||||||
|
ctimer_set(&instance->dao_retransmit_timer, RPL_DAO_RETRANSMISSION_TIMEOUT,
|
||||||
|
handle_dao_retransmission, parent);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
/* We know that we have tried to register so now we are assuming
|
||||||
|
that we have a down-link - unless this is a zero lifetime one */
|
||||||
|
rpl_set_downward_link(lifetime != RPL_ZERO_LIFETIME);
|
||||||
|
#endif /* RPL_WITH_DAO_ACK */
|
||||||
|
|
||||||
/* Sending a DAO with own prefix as target */
|
/* Sending a DAO with own prefix as target */
|
||||||
dao_output_target(parent, &prefix, lifetime);
|
dao_output_target(parent, &prefix, lifetime);
|
||||||
}
|
}
|
||||||
|
@ -1074,19 +1093,6 @@ dao_output_target_seq(rpl_parent_t *parent, uip_ipaddr_t *prefix,
|
||||||
|
|
||||||
if(rpl_get_parent_ipaddr(parent) != NULL) {
|
if(rpl_get_parent_ipaddr(parent) != NULL) {
|
||||||
uip_icmp6_send(rpl_get_parent_ipaddr(parent), ICMP6_RPL, RPL_CODE_DAO, pos);
|
uip_icmp6_send(rpl_get_parent_ipaddr(parent), ICMP6_RPL, RPL_CODE_DAO, pos);
|
||||||
#if RPL_WITH_DAO_ACK
|
|
||||||
if(lifetime != RPL_ZERO_LIFETIME) {
|
|
||||||
/* keep track of my own sending of DAO for handling ack and loss of ack */
|
|
||||||
instance->my_dao_seqno = dao_sequence;
|
|
||||||
instance->my_dao_transmissions = 1;
|
|
||||||
ctimer_set(&instance->dao_retransmit_timer, RPL_DAO_RETRANSMISSION_TIMEOUT,
|
|
||||||
handle_dao_retransmission, parent);
|
|
||||||
}
|
|
||||||
#else /* RPL_WITH_DAO_ACK */
|
|
||||||
/* We know that we have tried to register so now we are assuming
|
|
||||||
that we have a down-link - unless this is a zero lifetime one */
|
|
||||||
rpl_set_downward_link(lifetime != RPL_ZERO_LIFETIME);
|
|
||||||
#endif /* RPL_WITH_DAO_ACK */
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
|
@ -111,36 +111,33 @@ update_nbr(void)
|
||||||
linkaddr_t *lladdr = nbr_table_get_lladdr(ds6_neighbors, nbr);
|
linkaddr_t *lladdr = nbr_table_get_lladdr(ds6_neighbors, nbr);
|
||||||
is_used = 0;
|
is_used = 0;
|
||||||
|
|
||||||
|
/* Check if this neighbor is used as nexthop and therefor being a
|
||||||
|
RPL child. */
|
||||||
|
if(uip_ds6_route_is_nexthop((uip_lladdr_t *)lladdr) != 0) {
|
||||||
|
is_used++;
|
||||||
|
num_children++;
|
||||||
|
}
|
||||||
|
|
||||||
parent = rpl_get_parent((uip_lladdr_t *)lladdr);
|
parent = rpl_get_parent((uip_lladdr_t *)lladdr);
|
||||||
if(parent != NULL) {
|
if(parent != NULL) {
|
||||||
num_parents++;
|
num_parents++;
|
||||||
is_used++;
|
|
||||||
|
|
||||||
if(parent->dag != NULL && parent->dag->preferred_parent == parent) {
|
if(parent->dag != NULL && parent->dag->preferred_parent == parent) {
|
||||||
/* This is the preferred parent for the DAG and must not be removed */
|
/* This is the preferred parent for the DAG and must not be removed */
|
||||||
|
|
||||||
/* Note: this assumes that only RPL adds default routes. */
|
/* Note: this assumes that only RPL adds default routes. */
|
||||||
|
|
||||||
} else if(worst_rank < INFINITE_RANK &&
|
} else if(is_used == 0 && worst_rank < INFINITE_RANK &&
|
||||||
parent->rank > 0 &&
|
parent->rank > 0 &&
|
||||||
parent->dag != NULL &&
|
parent->dag != NULL &&
|
||||||
parent->dag->instance != NULL &&
|
parent->dag->instance != NULL &&
|
||||||
(rank = parent->dag->instance->of->calculate_rank(parent, 0)) > worst_rank) {
|
(rank = parent->dag->instance->of->calculate_rank(parent, 0)) > worst_rank) {
|
||||||
/* This is the worst-rank neighbor - this is a good candidate for removal */
|
/* This is the worst-rank neighbor - this is a good candidate for removal */
|
||||||
if(uip_ds6_route_is_nexthop((uip_lladdr_t *)lladdr) == 0) {
|
|
||||||
worst_rank = rank;
|
worst_rank = rank;
|
||||||
worst_rank_nbr = lladdr;
|
worst_rank_nbr = lladdr;
|
||||||
} else {
|
|
||||||
printf("*** Can not use this as worst rank as it is a next hop\n");
|
|
||||||
}
|
}
|
||||||
}
|
/* add to is_used after evaluation of is_used above */
|
||||||
}
|
|
||||||
|
|
||||||
/* Check if this neighbor is used as nexthop and therefor being a
|
|
||||||
RPL child. */
|
|
||||||
if(uip_ds6_route_is_nexthop((uip_lladdr_t *)lladdr) != 0) {
|
|
||||||
is_used++;
|
is_used++;
|
||||||
num_children++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(is_used == 0) {
|
if(is_used == 0) {
|
||||||
|
|
721
examples/ipv6/rpl-udp/rpl-udp-scale-wismote.csc
Normal file
721
examples/ipv6/rpl-udp/rpl-udp-scale-wismote.csc
Normal file
|
@ -0,0 +1,721 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<simconf>
|
||||||
|
<project EXPORT="discard">[APPS_DIR]/mrm</project>
|
||||||
|
<project EXPORT="discard">[APPS_DIR]/mspsim</project>
|
||||||
|
<project EXPORT="discard">[APPS_DIR]/avrora</project>
|
||||||
|
<project EXPORT="discard">[APPS_DIR]/serial_socket</project>
|
||||||
|
<project EXPORT="discard">[APPS_DIR]/collect-view</project>
|
||||||
|
<project EXPORT="discard">[APPS_DIR]/powertracker</project>
|
||||||
|
<simulation>
|
||||||
|
<title>RPL up and downstream scaleability test network using IPv6 and RPL</title>
|
||||||
|
<randomseed>generated</randomseed>
|
||||||
|
<motedelay_us>5000000</motedelay_us>
|
||||||
|
<radiomedium>
|
||||||
|
org.contikios.cooja.radiomediums.UDGM
|
||||||
|
<transmitting_range>150.0</transmitting_range>
|
||||||
|
<interference_range>150.0</interference_range>
|
||||||
|
<success_ratio_tx>1.0</success_ratio_tx>
|
||||||
|
<success_ratio_rx>1.0</success_ratio_rx>
|
||||||
|
</radiomedium>
|
||||||
|
<events>
|
||||||
|
<logoutput>40000</logoutput>
|
||||||
|
</events>
|
||||||
|
<motetype>
|
||||||
|
org.contikios.cooja.mspmote.WismoteMoteType
|
||||||
|
<identifier>sky1</identifier>
|
||||||
|
<description>WisMote Type #sky1</description>
|
||||||
|
<source EXPORT="discard">[CONTIKI_DIR]/examples/ipv6/rpl-udp/udp-server.c</source>
|
||||||
|
<commands EXPORT="discard">make SERVER_REPLY=1 clean udp-server.wismote TARGET=wismote DEFINES=TEST_MORE_ROUTES=1</commands>
|
||||||
|
<firmware EXPORT="copy">[CONTIKI_DIR]/examples/ipv6/rpl-udp/udp-server.wismote</firmware>
|
||||||
|
<moteinterface>org.contikios.cooja.interfaces.Position</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.interfaces.RimeAddress</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.interfaces.IPAddress</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.interfaces.Mote2MoteRelations</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.interfaces.MoteAttributes</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.MspClock</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.MspMoteID</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.MspButton</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.Msp802154Radio</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.MspDefaultSerial</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.MspLED</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.MspDebugOutput</moteinterface>
|
||||||
|
</motetype>
|
||||||
|
<motetype>
|
||||||
|
org.contikios.cooja.mspmote.WismoteMoteType
|
||||||
|
<identifier>sky2</identifier>
|
||||||
|
<description>WisMote Type #sky2</description>
|
||||||
|
<source EXPORT="discard">[CONTIKI_DIR]/examples/ipv6/rpl-udp/udp-client.c</source>
|
||||||
|
<commands EXPORT="discard">make SERVER_REPLY=1 clean udp-client.wismote TARGET=wismote</commands>
|
||||||
|
<firmware EXPORT="copy">[CONTIKI_DIR]/examples/ipv6/rpl-udp/udp-client.wismote</firmware>
|
||||||
|
<moteinterface>org.contikios.cooja.interfaces.Position</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.interfaces.RimeAddress</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.interfaces.IPAddress</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.interfaces.Mote2MoteRelations</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.interfaces.MoteAttributes</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.MspClock</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.MspMoteID</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.MspButton</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.Msp802154Radio</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.MspDefaultSerial</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.MspLED</moteinterface>
|
||||||
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.MspDebugOutput</moteinterface>
|
||||||
|
</motetype>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>48.435974731198804</x>
|
||||||
|
<y>-66.16503914182063</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>1</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky1</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>-65.3176930733124</x>
|
||||||
|
<y>17.4304162608286</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>2</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>127.9689727848476</x>
|
||||||
|
<y>91.71883780610729</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>3</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>154.92605604103275</x>
|
||||||
|
<y>40.97896551774433</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>4</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>47.34887596588397</x>
|
||||||
|
<y>-30.341495695501195</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>5</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>47.13486576528276</x>
|
||||||
|
<y>32.944481932122315</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>6</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>-11.42091423859419</x>
|
||||||
|
<y>17.879870626121914</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>7</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>118.92746659954325</x>
|
||||||
|
<y>57.05973076244069</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>8</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>56.66768196114595</x>
|
||||||
|
<y>74.35652008990945</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>9</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>16.45706316609417</x>
|
||||||
|
<y>23.9075414163248</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>10</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>-13.423161364506493</x>
|
||||||
|
<y>-38.483037144768275</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>11</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>-9.034961217472201</x>
|
||||||
|
<y>44.411389162165406</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>12</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>35.60049910164592</x>
|
||||||
|
<y>87.95154356223047</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>13</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>66.93880603404335</x>
|
||||||
|
<y>-42.39683727590697</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>14</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>94.81678343873172</x>
|
||||||
|
<y>26.921376811426246</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>15</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>-49.449656689283934</x>
|
||||||
|
<y>57.924813144367945</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>16</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>-34.02467970185502</x>
|
||||||
|
<y>-24.313824905298304</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>17</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>-28.750467760427494</x>
|
||||||
|
<y>48.01822457713635</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>18</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>124.95513738974614</x>
|
||||||
|
<y>20.140247172447996</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>19</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>14.85247487703553</x>
|
||||||
|
<y>-34.478542892943686</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>20</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>154.43072661267115</x>
|
||||||
|
<y>-3.279765376986134</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>21</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>99.90960713878738</x>
|
||||||
|
<y>-21.76043658444847</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>22</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>88.4612185198951</x>
|
||||||
|
<y>-49.763990463932714</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>23</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>24.745110502623138</x>
|
||||||
|
<y>-1.7100594420374744</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>24</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>94.06332458995635</x>
|
||||||
|
<y>-2.4635182908128352</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>25</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>-4.639784599615941</x>
|
||||||
|
<y>-10.849236218849724</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>26</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>2.4901685804620115</x>
|
||||||
|
<y>-60.89843789583528</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>27</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>100.55144245441083</x>
|
||||||
|
<y>97.41861446767646</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>28</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>-12.355761328741393</x>
|
||||||
|
<y>82.72616691655692</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>29</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>57.79962925723111</x>
|
||||||
|
<y>0.6828700499064966</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>30</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
<mote>
|
||||||
|
<breakpoints />
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.interfaces.Position
|
||||||
|
<x>76.5550413097159</x>
|
||||||
|
<y>77.33875258624342</y>
|
||||||
|
<z>0.0</z>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspClock
|
||||||
|
<deviation>1.0</deviation>
|
||||||
|
</interface_config>
|
||||||
|
<interface_config>
|
||||||
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
||||||
|
<id>31</id>
|
||||||
|
</interface_config>
|
||||||
|
<motetype_identifier>sky2</motetype_identifier>
|
||||||
|
</mote>
|
||||||
|
</simulation>
|
||||||
|
<plugin>
|
||||||
|
org.contikios.cooja.plugins.SimControl
|
||||||
|
<width>289</width>
|
||||||
|
<z>4</z>
|
||||||
|
<height>184</height>
|
||||||
|
<location_x>31</location_x>
|
||||||
|
<location_y>41</location_y>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
org.contikios.cooja.plugins.Visualizer
|
||||||
|
<plugin_config>
|
||||||
|
<moterelations>true</moterelations>
|
||||||
|
<skin>org.contikios.cooja.plugins.skins.IDVisualizerSkin</skin>
|
||||||
|
<skin>org.contikios.cooja.plugins.skins.UDGMVisualizerSkin</skin>
|
||||||
|
<skin>org.contikios.cooja.plugins.skins.AttributeVisualizerSkin</skin>
|
||||||
|
<viewport>2.349818846983307 0.0 0.0 2.349818846983307 187.19773526533345 190.95275613586946</viewport>
|
||||||
|
</plugin_config>
|
||||||
|
<width>659</width>
|
||||||
|
<z>2</z>
|
||||||
|
<height>622</height>
|
||||||
|
<location_x>296</location_x>
|
||||||
|
<location_y>11</location_y>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
org.contikios.cooja.plugins.LogListener
|
||||||
|
<plugin_config>
|
||||||
|
<filter>ID:22.*DAO</filter>
|
||||||
|
<formatted_time />
|
||||||
|
<coloring />
|
||||||
|
</plugin_config>
|
||||||
|
<width>937</width>
|
||||||
|
<z>3</z>
|
||||||
|
<height>442</height>
|
||||||
|
<location_x>20</location_x>
|
||||||
|
<location_y>297</location_y>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
org.contikios.cooja.plugins.ScriptRunner
|
||||||
|
<plugin_config>
|
||||||
|
<script>TIMEOUT(12000000, log.log("Total PRR " + totalPRR + "\n"));
|
||||||
|
packetsReceived= new Array();
|
||||||
|
packetsSent = new Array();
|
||||||
|
serverID = 1;
|
||||||
|
nodeCount = 31;
|
||||||
|
totalPRR = 0;
|
||||||
|
|
||||||
|
for(i = 0; i <= nodeCount; i++) {
|
||||||
|
packetsReceived[i] = 0;
|
||||||
|
packetsSent[i] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
while(1) {
|
||||||
|
YIELD();
|
||||||
|
|
||||||
|
msgArray = msg.split(' ');
|
||||||
|
if(msgArray[0].equals("#A")) {
|
||||||
|
if(msgArray[1].charAt(0) == 'r') {
|
||||||
|
// Received packet
|
||||||
|
senderID = id;
|
||||||
|
arr2 = msgArray[1].split(',')[0].slice(2).split('/');
|
||||||
|
recv = parseInt(arr2[0]);
|
||||||
|
sent = parseInt(arr2[1]);
|
||||||
|
log.log("Sent:" + sent + " Recv:" + recv + "\n");
|
||||||
|
packetsSent[senderID] = sent;
|
||||||
|
packetsReceived[senderID] = recv;
|
||||||
|
|
||||||
|
log.log("SenderID " + senderID + " PRR " + packetsReceived[senderID] / packetsSent[senderID] + "\n");
|
||||||
|
totalReceived = totalSent = 0;
|
||||||
|
for(i = serverID + 1; i <= nodeCount; i++) {
|
||||||
|
totalReceived += packetsReceived[i];
|
||||||
|
totalSent += packetsSent[i];
|
||||||
|
}
|
||||||
|
totalPRR = totalReceived / totalSent;
|
||||||
|
log.log("Total PRR " + totalPRR + " recv " + totalReceived + " sent " + totalSent + "\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}</script>
|
||||||
|
<active>true</active>
|
||||||
|
</plugin_config>
|
||||||
|
<width>600</width>
|
||||||
|
<z>5</z>
|
||||||
|
<height>700</height>
|
||||||
|
<location_x>946</location_x>
|
||||||
|
<location_y>6</location_y>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
org.contikios.cooja.plugins.MoteInterfaceViewer
|
||||||
|
<mote_arg>3</mote_arg>
|
||||||
|
<plugin_config>
|
||||||
|
<interface>Position</interface>
|
||||||
|
<scrollpos>0,0</scrollpos>
|
||||||
|
</plugin_config>
|
||||||
|
<width>350</width>
|
||||||
|
<z>6</z>
|
||||||
|
<height>300</height>
|
||||||
|
<location_x>976</location_x>
|
||||||
|
<location_y>36</location_y>
|
||||||
|
</plugin>
|
||||||
|
</simconf>
|
||||||
|
|
Loading…
Reference in a new issue