<?xml version="1.0" encoding="UTF-8"?> <simconf> <simulation> <title>My simulation</title> <delaytime>0</delaytime> <randomseed>generated</randomseed> <motedelay_us>1000000</motedelay_us> <radiomedium> org.contikios.cooja.radiomediums.UDGM <transmitting_range>50.0</transmitting_range> <interference_range>50.0</interference_range> <success_ratio_tx>1.0</success_ratio_tx> <success_ratio_rx>1.0</success_ratio_rx> </radiomedium> <events> <logoutput>400000</logoutput> </events> <motetype> org.contikios.cooja.mspmote.SkyMoteType <identifier>sky1</identifier> <description>Sky Mote Type #1</description> <source EXPORT="discard">[CONTIKI_DIR]/examples/rime/example-collect.c</source> <commands EXPORT="discard">make clean TARGET=sky make example-collect.sky TARGET=sky</commands> <firmware EXPORT="copy">[CONTIKI_DIR]/examples/rime/example-collect.sky</firmware> <moteinterface>org.contikios.cooja.interfaces.Position</moteinterface> <moteinterface>org.contikios.cooja.interfaces.IPAddress</moteinterface> <moteinterface>org.contikios.cooja.interfaces.Mote2MoteRelations</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.SkyByteRadio</moteinterface> <moteinterface>org.contikios.cooja.mspmote.interfaces.MspSerial</moteinterface> <moteinterface>org.contikios.cooja.mspmote.interfaces.SkyLED</moteinterface> <moteinterface>org.contikios.cooja.interfaces.RimeAddress</moteinterface> <moteinterface>org.contikios.cooja.interfaces.MoteAttributes</moteinterface> <moteinterface>org.contikios.cooja.mspmote.interfaces.SkyCoffeeFilesystem</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>87.29845932913939</x> <y>60.286214311723164</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>94.30809966340686</x> <y>22.50388779326399</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>2</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> <mote> <breakpoints /> <interface_config> org.contikios.cooja.interfaces.Position <x>82.40423567500785</x> <y>39.56979106929553</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>3</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> <mote> <breakpoints /> <interface_config> org.contikios.cooja.interfaces.Position <x>26.185019854469438</x> <y>4.800834369523899</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>4</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> <mote> <breakpoints /> <interface_config> org.contikios.cooja.interfaces.Position <x>1.9530156130507015</x> <y>78.3175061800706</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>5</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> <mote> <breakpoints /> <interface_config> org.contikios.cooja.interfaces.Position <x>48.35216700543414</x> <y>80.36988713780997</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>6</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> <mote> <breakpoints /> <interface_config> org.contikios.cooja.interfaces.Position <x>24.825985087266833</x> <y>74.27809432062487</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>7</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> <mote> <breakpoints /> <interface_config> org.contikios.cooja.interfaces.Position <x>8.356165164293616</x> <y>94.33967355724187</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>8</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> <mote> <breakpoints /> <interface_config> org.contikios.cooja.interfaces.Position <x>45.11740613004886</x> <y>31.7059041432301</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>9</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> <mote> <breakpoints /> <interface_config> org.contikios.cooja.interfaces.Position <x>68.9908548386292</x> <y>55.01991960639596</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>10</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> <mote> <breakpoints /> <interface_config> org.contikios.cooja.interfaces.Position <x>13.181122543889046</x> <y>55.9636533130127</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>11</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> <mote> <breakpoints /> <interface_config> org.contikios.cooja.interfaces.Position <x>2.1749985906538427</x> <y>78.39666095789707</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>12</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> <mote> <breakpoints /> <interface_config> org.contikios.cooja.interfaces.Position <x>37.79795217518357</x> <y>7.164284163506062</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>13</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> <mote> <breakpoints /> <interface_config> org.contikios.cooja.interfaces.Position <x>64.4595177394984</x> <y>72.115414337433</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>14</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> <mote> <breakpoints /> <interface_config> org.contikios.cooja.interfaces.Position <x>81.85663737096085</x> <y>89.31412706434035</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>15</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> <mote> <breakpoints /> <interface_config> org.contikios.cooja.interfaces.Position <x>44.74952276297882</x> <y>18.78566116347574</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>16</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> <mote> <breakpoints /> <interface_config> org.contikios.cooja.interfaces.Position <x>96.11333426285873</x> <y>90.64560410751824</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>17</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> <mote> <breakpoints /> <interface_config> org.contikios.cooja.interfaces.Position <x>21.651464136783527</x> <y>7.1381043251259495</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>18</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> <mote> <breakpoints /> <interface_config> org.contikios.cooja.interfaces.Position <x>83.6006916200628</x> <y>26.97170140682981</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>19</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> <mote> <breakpoints /> <interface_config> org.contikios.cooja.interfaces.Position <x>1.3446070721664705</x> <y>7.340373220385176</y> <z>0.0</z> </interface_config> <interface_config> org.contikios.cooja.mspmote.interfaces.MspMoteID <id>20</id> </interface_config> <motetype_identifier>sky1</motetype_identifier> </mote> </simulation> <plugin> org.contikios.cooja.plugins.SimControl <width>247</width> <z>3</z> <height>227</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.UDGMVisualizerSkin</skin> <viewport>1.685403700540615 0.0 0.0 1.685403700540615 23.872012513439184 -0.545889466623605</viewport> </plugin_config> <width>224</width> <z>2</z> <height>225</height> <location_x>247</location_x> <location_y>1</location_y> </plugin> <plugin> org.contikios.cooja.plugins.LogListener <plugin_config> <filter /> <formatted_time /> </plugin_config> <width>469</width> <z>0</z> <height>473</height> <location_x>0</location_x> <location_y>226</location_y> </plugin> <plugin> org.contikios.cooja.plugins.ScriptRunner <plugin_config> <script>TIMEOUT(600000); num_nodes = mote.getSimulation().getMotesCount(); function print_stats() { log.log("Received:\n"); for(i = 1; i <= num_nodes; i++) { log.log("Node " + i + " "); if(i == sink) { log.log("sink\n"); } else { log.log("received: " + received[i] + " hops: " + hops[i] + "\n"); } } } /* Init */ sink = 0; hops = new Array(); dups = new Array(); received = new Array(); doubleFormat = new java.text.DecimalFormat("0.00"); integerFormat = new java.text.DecimalFormat("00"); for(i = 1; i <= num_nodes; i++) { received[i] = "__________"; hops[i] = received[i]; } log.log("Simulation has " + num_nodes + " nodes\n"); while(true) { YIELD(); log.log(time + " " + id + " "+ msg + "\n"); /* Count sensor data packets */ if(msg.startsWith("Sink got message")) { node_text = msg.split(" ")[4]; seqno_text = msg.split(" ")[6]; hops_text = msg.split(" ")[8]; if(node_text) { source = parseInt(node_text); seqno = parseInt(seqno_text); hop = parseInt(hops_text); dups = received[source].substr(seqno, 1); if(dups == "_") { dups = 1; } 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_stats(); } } /* Signal OK if all nodes have reported 10 messages. */ num_reported = 0; for(i = 1; i <= num_nodes; i++) { if(!isNaN(received[i])) { num_reported++; } } if(num_reported == num_nodes) { print_stats(); log.testOK(); } }</script> <active>true</active> </plugin_config> <width>600</width> <z>1</z> <height>700</height> <location_x>469</location_x> <location_y>0</location_y> </plugin> </simconf>