623 lines
20 KiB
Text
623 lines
20 KiB
Text
<?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>My simulation</title>
|
|
<randomseed>123456</randomseed>
|
|
<motedelay_us>1000000</motedelay_us>
|
|
<radiomedium>
|
|
org.contikios.cooja.radiomediums.UDGM
|
|
<transmitting_range>100.0</transmitting_range>
|
|
<interference_range>0.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.SkyMoteType
|
|
<identifier>sky1</identifier>
|
|
<description>Sky Mote Type #sky1</description>
|
|
<source EXPORT="discard">[CONTIKI_DIR]/examples/ipv6/rpl-collect/udp-sink.c</source>
|
|
<commands EXPORT="discard">make udp-sink.sky TARGET=sky</commands>
|
|
<firmware EXPORT="copy">[CONTIKI_DIR]/examples/ipv6/rpl-collect/udp-sink.sky</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.SkyButton</moteinterface>
|
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.SkyFlash</moteinterface>
|
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.SkyCoffeeFilesystem</moteinterface>
|
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.Msp802154Radio</moteinterface>
|
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.MspSerial</moteinterface>
|
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.SkyLED</moteinterface>
|
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.MspDebugOutput</moteinterface>
|
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.SkyTemperature</moteinterface>
|
|
</motetype>
|
|
<motetype>
|
|
org.contikios.cooja.mspmote.SkyMoteType
|
|
<identifier>sky2</identifier>
|
|
<description>Sky Mote Type #sky2</description>
|
|
<source EXPORT="discard">[CONTIKI_DIR]/examples/ipv6/rpl-collect/udp-sender.c</source>
|
|
<commands EXPORT="discard">make udp-sender.sky TARGET=sky</commands>
|
|
<firmware EXPORT="copy">[CONTIKI_DIR]/examples/ipv6/rpl-collect/udp-sender.sky</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.SkyButton</moteinterface>
|
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.SkyFlash</moteinterface>
|
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.SkyCoffeeFilesystem</moteinterface>
|
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.Msp802154Radio</moteinterface>
|
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.MspSerial</moteinterface>
|
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.SkyLED</moteinterface>
|
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.MspDebugOutput</moteinterface>
|
|
<moteinterface>org.contikios.cooja.mspmote.interfaces.SkyTemperature</moteinterface>
|
|
</motetype>
|
|
<mote>
|
|
<breakpoints />
|
|
<interface_config>
|
|
org.contikios.cooja.interfaces.Position
|
|
<x>242.83184008074136</x>
|
|
<y>-88.93434685786869</y>
|
|
<z>0.0</z>
|
|
</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>223.5175954004352</x>
|
|
<y>-69.05842098947238</y>
|
|
<z>0.0</z>
|
|
</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>250.51864863077387</x>
|
|
<y>-59.2420165357677</y>
|
|
<z>0.0</z>
|
|
</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>294.4736028715864</x>
|
|
<y>-63.23792146675066</y>
|
|
<z>0.0</z>
|
|
</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>188.6638305152632</x>
|
|
<y>-41.28432709660093</y>
|
|
<z>0.0</z>
|
|
</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>222.54731411389315</x>
|
|
<y>-32.869043991280165</y>
|
|
<z>0.0</z>
|
|
</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>273.694897230475</x>
|
|
<y>-29.672320046493798</y>
|
|
<z>0.0</z>
|
|
</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>321.64575640227054</x>
|
|
<y>-33.66822497747676</y>
|
|
<z>0.0</z>
|
|
</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>159.4120162043624</x>
|
|
<y>-2.500166515809672</y>
|
|
<z>0.0</z>
|
|
</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>196.97352255560222</x>
|
|
<y>-0.10262355721989598</y>
|
|
<z>0.0</z>
|
|
</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>252.91619158936365</x>
|
|
<y>1.495738415173288</y>
|
|
<z>0.0</z>
|
|
</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>301.66623174735577</x>
|
|
<y>-0.10262355721989598</y>
|
|
<z>0.0</z>
|
|
</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>346.4203669743649</x>
|
|
<y>1.495738415173288</y>
|
|
<z>0.0</z>
|
|
</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>124.24805281171236</x>
|
|
<y>22.27444405628468</y>
|
|
<z>0.0</z>
|
|
</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>180.1907218454738</x>
|
|
<y>35.86052082162674</y>
|
|
<z>0.0</z>
|
|
</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>224.14567608628633</x>
|
|
<y>30.266253918250598</y>
|
|
<z>0.0</z>
|
|
</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>276.0924401890648</x>
|
|
<y>35.86052082162674</y>
|
|
<z>0.0</z>
|
|
</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>351.2154528915445</x>
|
|
<y>37.45888279401993</y>
|
|
<z>0.0</z>
|
|
</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>89.08408941906231</x>
|
|
<y>47.04905462837903</y>
|
|
<z>0.0</z>
|
|
</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>180.1907218454738</x>
|
|
<y>75.02038914525976</y>
|
|
<z>0.0</z>
|
|
</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>245.7235627135943</x>
|
|
<y>66.22939829709723</y>
|
|
<z>0.0</z>
|
|
</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>290.4776979406035</x>
|
|
<y>67.82776026949043</y>
|
|
<z>0.0</z>
|
|
</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>370.3957965602627</x>
|
|
<y>64.63103632470406</y>
|
|
<z>0.0</z>
|
|
</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>93.07999435004527</x>
|
|
<y>82.21301802102909</y>
|
|
<z>0.0</z>
|
|
</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>204.16615143137156</x>
|
|
<y>106.18844760692684</y>
|
|
<z>0.0</z>
|
|
</interface_config>
|
|
<interface_config>
|
|
org.contikios.cooja.mspmote.interfaces.MspMoteID
|
|
<id>25</id>
|
|
</interface_config>
|
|
<motetype_identifier>sky2</motetype_identifier>
|
|
</mote>
|
|
</simulation>
|
|
<plugin>
|
|
org.contikios.cooja.plugins.SimControl
|
|
<width>259</width>
|
|
<z>3</z>
|
|
<height>184</height>
|
|
<location_x>0</location_x>
|
|
<location_y>0</location_y>
|
|
</plugin>
|
|
<plugin>
|
|
org.contikios.cooja.plugins.Visualizer
|
|
<plugin_config>
|
|
<skin>org.contikios.cooja.plugins.skins.IDVisualizerSkin</skin>
|
|
<skin>org.contikios.cooja.plugins.skins.AttributeVisualizerSkin</skin>
|
|
<skin>org.contikios.cooja.plugins.skins.UDGMVisualizerSkin</skin>
|
|
<viewport>1.836243522352668 0.0 0.0 1.836243522352668 -93.43273668589363 192.8080782058222</viewport>
|
|
</plugin_config>
|
|
<width>666</width>
|
|
<z>4</z>
|
|
<height>510</height>
|
|
<location_x>764</location_x>
|
|
<location_y>5</location_y>
|
|
</plugin>
|
|
<plugin>
|
|
org.contikios.cooja.plugins.LogListener
|
|
<plugin_config>
|
|
<filter />
|
|
<formatted_time />
|
|
<coloring />
|
|
</plugin_config>
|
|
<width>1347</width>
|
|
<z>2</z>
|
|
<height>150</height>
|
|
<location_x>0</location_x>
|
|
<location_y>438</location_y>
|
|
</plugin>
|
|
<plugin>
|
|
org.contikios.cooja.plugins.TimeLine
|
|
<plugin_config>
|
|
<mote>0</mote>
|
|
<mote>1</mote>
|
|
<mote>2</mote>
|
|
<mote>3</mote>
|
|
<mote>4</mote>
|
|
<mote>5</mote>
|
|
<mote>6</mote>
|
|
<mote>7</mote>
|
|
<mote>8</mote>
|
|
<mote>9</mote>
|
|
<mote>10</mote>
|
|
<mote>11</mote>
|
|
<mote>12</mote>
|
|
<mote>13</mote>
|
|
<mote>14</mote>
|
|
<mote>15</mote>
|
|
<mote>16</mote>
|
|
<mote>17</mote>
|
|
<mote>18</mote>
|
|
<mote>19</mote>
|
|
<mote>20</mote>
|
|
<mote>21</mote>
|
|
<mote>22</mote>
|
|
<mote>23</mote>
|
|
<mote>24</mote>
|
|
<showRadioRXTX />
|
|
<zoomfactor>52818.041078329756</zoomfactor>
|
|
</plugin_config>
|
|
<width>1347</width>
|
|
<z>1</z>
|
|
<height>233</height>
|
|
<location_x>0</location_x>
|
|
<location_y>588</location_y>
|
|
</plugin>
|
|
<plugin>
|
|
org.contikios.cooja.plugins.ScriptRunner
|
|
<plugin_config>
|
|
<script>function
|
|
print()
|
|
{
|
|
log.log("Received:\n");
|
|
for(i = 1; i <= nrNodes; i++) {
|
|
log.log("Node " + i + " ");
|
|
if(i == sink) {
|
|
log.log("sink. Got " + total + " non-dups from " + num_reported + " nodes.\n");
|
|
} else {
|
|
log.log("received: " + received[i] + " hops: " + hops[i] + "\n");
|
|
}
|
|
}
|
|
}
|
|
|
|
TIMEOUT(400000);
|
|
|
|
|
|
/* Conf. */
|
|
sink = 1;
|
|
booted = new Array();
|
|
received = new Array();
|
|
hops = new Array();
|
|
nrNodes = 25;
|
|
total = 0; /* number of non-dups the sink received */
|
|
reported = new Array(); /* nodes that have reported at least once */
|
|
|
|
nodes_starting = true;
|
|
for(i = 1; i <= nrNodes; i++) {
|
|
booted[i] = false;
|
|
received[i] = "_____";
|
|
hops[i] = received[i];
|
|
reported[i] = 0;
|
|
}
|
|
|
|
/* Wait until all nodes have started */
|
|
while(nodes_starting) {
|
|
YIELD_THEN_WAIT_UNTIL(msg.startsWith('Star'));
|
|
|
|
log.log("Node " + id + " booted\n");
|
|
booted[id] = true;
|
|
|
|
for(i = 1; i <= nrNodes; i++) {
|
|
if(!booted[i]) {
|
|
break;
|
|
}
|
|
if(i == nrNodes) {
|
|
nodes_starting = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
log.log("All nodes booted.\n");
|
|
while(true) {
|
|
YIELD();
|
|
|
|
/* Count sensor data packets */
|
|
|
|
if (msg.contains("ÿ")) {
|
|
log.log("WARN: Detected bad character in: '" + msg + "'\n");
|
|
msg = msg.replace("ÿ", "");
|
|
}
|
|
|
|
data = msg.split(" ");
|
|
|
|
if(data[24]) {
|
|
|
|
len = parseInt(data[0]);
|
|
timestamp1 = parseInt(data[1]);
|
|
timestamp2 = parseInt(data[2]);
|
|
timesynched_timestamp = parseInt(data[3]);
|
|
node_id = parseInt(data[4]);
|
|
seqno = parseInt(data[5]);
|
|
hop = parseInt(data[6]);
|
|
latency = parseInt(data[7]);
|
|
data_len2 = parseInt(data[8]);
|
|
clock = parseInt(data[9]);
|
|
timesyncedtime = parseInt(data[10]);
|
|
time_cpu = parseInt(data[11]);
|
|
time_lpm = parseInt(data[12]);
|
|
time_transmit = parseInt(data[13]);
|
|
time_listen = parseInt(data[14]);
|
|
best_neighbor = parseInt(data[15]);
|
|
best_neighbor_etx = parseInt(data[16]);
|
|
best_neighbor_rtmetrix = parseInt(data[17]);
|
|
|
|
source = node_id & 0xff;
|
|
seqno = seqno - 1;
|
|
dups = received[source].substr(seqno, 1);
|
|
reported[source]++;
|
|
|
|
if(dups == "_") {
|
|
dups = 1;
|
|
total++;
|
|
} else if(dups < 9) {
|
|
dups++;
|
|
}
|
|
received[source] = received[source].substr(0, seqno) + dups +
|
|
received[source].substr(seqno + 1, 10 - seqno);
|
|
|
|
if(hop > 9) {
|
|
hop = "+";
|
|
}
|
|
hops[source] = hops[source].substr(0, seqno) + hop +
|
|
hops[source].substr(seqno + 1, 10 - seqno);
|
|
print();
|
|
}
|
|
/* Signal OK if all nodes have reported 10 messages. */
|
|
num_reported = 0;
|
|
for(i = 1; i <= nrNodes; i++) {
|
|
if(reported[i] > 0) {
|
|
num_reported++;
|
|
}
|
|
}
|
|
|
|
if((num_reported == nrNodes - 1) && (total >= 75)) {
|
|
print();
|
|
log.testOK();
|
|
}
|
|
}</script>
|
|
<active>true</active>
|
|
</plugin_config>
|
|
<width>600</width>
|
|
<z>0</z>
|
|
<height>700</height>
|
|
<location_x>416</location_x>
|
|
<location_y>8</location_y>
|
|
</plugin>
|
|
</simconf>
|
|
|