Commit graph

834 commits

Author SHA1 Message Date
fros4943 ac424ca88a bugfix: interfered nondestination radio 2009-11-25 18:13:05 +00:00
fros4943 7d6ee814da added documentation 2009-11-25 16:05:47 +00:00
fros4943 ff93ba8e0f decreased transmission interval and increased transmission duration of disturber mote, since short packets could still get through with the current settings 2009-11-25 16:03:00 +00:00
fros4943 451be82efd radio connection update: radio should not be removed from destinations, but instead flagged as interfered.
(and the radio medium will keep delivering data also to interfered destinations to avoid the half-filled RXFIFO problem)

+ minor fix: the received signal strength is the maximum of all sending radio
2009-11-25 15:49:58 +00:00
fros4943 5c67d113c8 minor bug fix: arraydequeue may return null entries 2009-11-25 15:44:51 +00:00
fros4943 3c4fe0e3b7 closing fileoutputstream 2009-11-25 15:43:45 +00:00
fros4943 24d0330d2d radio connection update: radio should not be removed from destinations, but instead flagged as interfered 2009-11-25 15:43:03 +00:00
fros4943 45d23c026e new radio medium method signature + increased history size 2009-11-25 15:40:46 +00:00
fros4943 0a9e9dea59 * observing motes' radio states ("is transmitting") instead of radio events ("started transmitting").
previously the last radio event was logged in the Timeline, which could be very confusing when a radio was interfered while transmitting a packet: it looked like the radio stopped transmitting. (this behavior did not, however, affect the simulation output but only the timeline)

* added Radio Logger menu option shortcut, for quickly moving from the Timeline to the Radio Logger plugin
* minor ui fixes regarding event tooltips: tooltip info appear at mouse clicks
2009-11-25 15:39:57 +00:00
fros4943 d27a2dfb5b added Payload Alias for easier overview of several packets with identical payloads.
added Timeline menu option for quickly viewing the selected radio packet in the Timeline plugin.
2009-11-25 15:32:34 +00:00
fros4943 d4f674c053 updated obsolete method signature:
when the radio medium was still tick-based, several radio connection could finish "simultaneously" (during the same tick), which is no longer possible
2009-11-25 15:26:35 +00:00
fros4943 2955eb9798 distinct between a radio connection's interfered radios, and interfered destination radios: interfered destinations still receive connection data
+ faster code and updated documentation
2009-11-25 15:21:15 +00:00
fros4943 01e9498dd9 radio medium update: receiving nodes that become interfered still receive connection data, but may (should) choose to ignore or corrupt it.
this solves a problem with half-filled FIFO buffers on CC2420 radio platforms

+ minor fixes: the received signal strength is the maximum of all active connection, and a transmitting radio may still be interfered
2009-11-25 10:36:08 +00:00
fros4943 5ed294f001 minor patch: remember last exported jar filename 2009-11-25 10:29:21 +00:00
fros4943 857c7d5a9d fixed integer to long wrap bug for simulation times over 2000s 2009-11-23 15:25:13 +00:00
fros4943 c869104e83 bug fix: schedule button events from simulation thread 2009-11-14 11:09:41 +00:00
fros4943 721a698a24 + progress message type 2009-11-13 14:27:46 +00:00
fros4943 a3bd96f97e show compilation warnings dialog after successful load + save config to history even if load fails 2009-11-13 14:25:43 +00:00
fros4943 29310addc5 improved timeline zooming 2009-11-13 13:01:13 +00:00
fros4943 eded6497f2 removed dependency on mote interface getEnergyConsumption() method 2009-11-13 08:52:26 +00:00
fros4943 28f910b8d9 removed delay configuration option + lots of obsolete code from dialog 2009-11-13 08:51:23 +00:00
fros4943 977809144f cleaning up after a removed simulation by the removed() methods +
exposing methods for loading simulations from external plugins +
minor bug fix: the reload progress dialog sometimes disappear even when a simulation is loading
2009-11-13 08:49:26 +00:00
fros4943 467cf88bcd removed energyConsumption() method from mote interface: obsolete, we should instead interface Contiki's power profiler or MSPSim for better estimations
+
added stub removed() method: mote interfaces that need explicit cleanup should override this method
2009-11-13 08:41:06 +00:00
fros4943 499c3b8c26 removeDestination(Mote) method returns true is the argument mote was actually a destination (and hence was removed) 2009-11-13 08:38:45 +00:00
fros4943 a9eecb03df strict event scheduling from simulation thread +
added method for removing mote types from a simulation +
added cleanup-methods for simulation/motes/mote interfaces: void removed();
2009-11-13 08:37:36 +00:00
joxe 474698b36e added common emulation classes for emulated motes 2009-11-10 12:54:39 +00:00
fros4943 91a4322d2b minor fix: show rime address when no IP address was found 2009-11-05 11:54:59 +00:00
fros4943 0b2cd19cac removed debugging output 2009-11-02 13:18:27 +00:00
fros4943 5bd2008def minor fix: check that event is not already scheduled 2009-11-02 10:02:58 +00:00
nifi a22348a496 Use canonical path to find parent directory when creating config relative path 2009-10-30 15:27:26 +00:00
fros4943 a45aa8e89c minor changes in executable jars: removed jdk dependency on simulating computer + temporary files from simulation are stored in a subdirectory + temporary files from building the jar are removed when done 2009-10-29 17:05:13 +00:00
fros4943 b4a4572d97 added help method for reading from streams 2009-10-29 16:48:50 +00:00
fros4943 54ac5bc64e added two example scripts 2009-10-29 14:39:08 +00:00
fros4943 62c8535678 bugfix: radio medium should reset last connection data before notifying observers that a new connection has begun 2009-10-29 10:31:55 +00:00
fros4943 53b6e0e7fa new feature: generate executable jar from current simulation
useful for preparing a simulation, and then running it elsewhere without having to configure cooja
2009-10-29 10:17:15 +00:00
fros4943 4c7ef8b022 added experimental feature: generate executable JAR from current simulation
+ made some methods public for accessing configuration state etc from outside the GUI class + minor bug fix in reparse projectes method
2009-10-29 10:16:05 +00:00
fros4943 7f1d5c90d6 added method for writing text to files 2009-10-29 10:10:22 +00:00
fros4943 82b8006c0c using MoteTimeEvent instead of TimeEvent: scheduled events are automatically removed when the mote is removed 2009-10-28 15:58:42 +00:00
fros4943 281639c779 fixed potential memory leak when motes are removed during a simulation 2009-10-28 15:42:03 +00:00
fros4943 a4226e14c5 fixed potential memory leak when motes are removed during a simulation 2009-10-28 15:34:34 +00:00
fros4943 51130cea80 fixed potential memory leak: did not unregister mote observer if the mote was removed from the simulation while the skin was active
+
added ability to copy mote IP addresses to clipboard
2009-10-28 15:16:21 +00:00
fros4943 5650e818ec abstract application mote, used for implementing application-level motes, now extends wakeup mote.
+ reimplemented disturber mote using abstract application mote
+ removed obsolete dummy mote example
2009-10-28 14:38:02 +00:00
fros4943 cb04423a57 added default methods for saving and restoring the mote id 2009-10-28 14:35:10 +00:00
nifi c51956bc8c Minor fix with config relative path and allow external tools editing with specified Contiki path. 2009-10-28 13:37:29 +00:00
fros4943 be230d4d37 exporting paths relative to contiki, not cooja
+ new project management api
2009-10-28 12:07:37 +00:00
fros4943 226a41abbf throw exception if project directory or config file does not exist 2009-10-28 12:05:43 +00:00
fros4943 8e1de297d5 new dialog api + removed lots of obsolete code 2009-10-28 12:03:48 +00:00
fros4943 175e39a3d2 remember last source file used relative to current contiki 2009-10-28 12:02:21 +00:00
fros4943 c5dd2726f3 removed debug output 2009-10-27 10:36:01 +00:00
fros4943 29f618836f new radio medium api 2009-10-27 10:14:09 +00:00
fros4943 38dcc8ed93 extending abstract wakeup mote 2009-10-27 10:12:33 +00:00
fros4943 ed8867bcb5 new event scheduling api 2009-10-27 10:11:17 +00:00
fros4943 a81f216acb radio medium patch: udgm uses hash table for efficient lookup in large networks + minor patches to dgrm 2009-10-27 10:10:03 +00:00
fros4943 59e1c464e7 introduced new abstract mote classes:
AbstractWakeupMote shared functionality common to both contiki-based and mspsim-based motes
2009-10-27 10:07:56 +00:00
fros4943 64293abe03 major update to cooja's event scheduler:
* all events must now be scheduled from the simulation thread
* added new methods for requesting simulation thread execution

this patch solves some race conditions introduced by the new mspsim execution scheduling, but affects many existing plugins and interfaces
2009-10-27 10:06:59 +00:00
fros4943 a344925b50 added methods for writing and reading byte array from files 2009-10-27 09:52:24 +00:00
fros4943 6100734897 added convenience method for accessing active plugins 2009-10-27 09:31:22 +00:00
fros4943 1dba4d40ca minor fix for non-GUI simulations: stop simulation and clean-up before shutting down COOJA 2009-10-23 11:55:53 +00:00
fros4943 d8f31b6630 check that radio connection is non-null when painting radio traffic history 2009-10-19 17:37:50 +00:00
fros4943 1c4b6afea3 minor feature: show mouse drag distance (in time) from mouse press 2009-10-19 17:36:28 +00:00
fros4943 9d7275db7e added option to limit the number of messages in list 2009-10-19 17:33:25 +00:00
fros4943 2bc52699c6 bugfix: removed-flag should become false when rescheduling unsorted event 2009-10-19 17:32:38 +00:00
fros4943 2c1b7013d5 by request: added mote type visualizer skin 2009-10-16 13:14:53 +00:00
nifi 51cbcd9193 minor bug fix: enforce string to avoid merging mote ids 2009-09-24 08:56:17 +00:00
fros4943 0c4dc6fc6b start plugins in non-dispatcher thread 2009-09-18 16:13:31 +00:00
fros4943 e974b896dc removing unsafe MoteID interface dependencies 2009-09-17 13:19:08 +00:00
fros4943 87aa2c2aad bug fix: z-coord was not painted + some (even) positions caused errors 2009-09-17 12:38:04 +00:00
fros4943 ca0f2c91c8 paint both actual transmission range (depends on current tx power), and the maximum value as configured in the radio medium 2009-09-17 12:10:28 +00:00
fros4943 b526851ac1 added getID() stub to avoid compiler errors: the application motes does not yet respect the configured mote IDs 2009-09-17 11:12:25 +00:00
fros4943 b2ea7ba9b2 removed reference to potentially non-existing mote ID interface: the mote getID() method should instead be used 2009-09-17 11:07:58 +00:00
fros4943 8116da5c4e removed mote state references 2009-09-17 11:06:35 +00:00
fros4943 62287dcb03 implements mandatory getID() method 2009-09-17 11:05:56 +00:00
fros4943 72105a161e added getID() method (mandatory for all motes)
removed the common state notion: these are instead mote specific
2009-09-17 11:05:09 +00:00
nvt-se b5295fef10 use PATH_MAKE when compiling Contiki mote types. doesn't work on BSD systems
otherwise.
2009-09-07 15:05:05 +00:00
fros4943 eacda19281 support for extracting very simple statistics from observed events 2009-08-27 16:38:09 +00:00
fros4943 a69c8f03fe minor update: sorting variables by name + decreased default plugin size 2009-08-27 14:38:57 +00:00
fros4943 39aeb2f150 visualizer skin updates: broke out traffic visualization from the udgm radio medium skin (the stand-alone traffic skin can be used with any radio medium), added a simple background grid skin and a mote position skin 2009-08-27 13:59:47 +00:00
fros4943 23f13a2b6f visualizer plugin major update: support for zooming and panning, hiding window decorations, and a more powerful visualization skin api 2009-08-27 13:57:42 +00:00
nvt-se b8e268e598 Added FreeBSD support.
Made the Sky mote type use PATH_MAKE for the build procedure.
2009-08-27 12:25:11 +00:00
fros4943 d13f47a64f bugfix: clock drift must be set even when the random startup delay is zero 2009-08-20 13:10:35 +00:00
nifi e8c11209da added notification to model when removing events 2009-07-06 14:04:21 +00:00
fros4943 28976d9e15 allow simulation delays below real-time 2009-07-06 12:29:57 +00:00
fros4943 d5a7a18145 more debugging output + minor refactoring 2009-07-03 14:06:20 +00:00
fros4943 739e21caaf + support for configurable buffer sizes (currently only for log output events) 2009-07-03 13:37:40 +00:00
fros4943 d282c70572 using event central for keeping track of simulation motes + for sharing log output events among different log listeners.
note that at least one log listener plugin must be kept opened, otherwise the event central will clear the history
2009-07-02 12:07:18 +00:00
fros4943 47bf1de4ca using event central for keeping track of simulation motes 2009-07-02 12:05:24 +00:00
fros4943 9b164adc35 method for accessing event central + include mote when notifying simulation observers that a mote was added/removed 2009-07-02 12:04:28 +00:00
fros4943 f13a313a7d event central used for simplifying plugin implementations: a plugin can listen for simulation-wide mote interface changes via this class, and does not need to keep track of added/removed motes.
in addition, the event central may be configured to keep an event history of selected mote interface events, useful for sharing events among several different plugins
2009-07-02 12:03:09 +00:00
fros4943 fe0f03a5fd help methods for manipulating arrays 2009-07-02 11:58:37 +00:00
nifi ac11dc90d8 only reload with new seed if simulation exists 2009-06-30 13:31:42 +00:00
nifi adbe225132 removed unused import 2009-06-30 13:10:14 +00:00
fros4943 5a053d7d4e added quick help 2009-06-30 12:46:26 +00:00
fros4943 bed44c8f55 made desktop scrollable + added quick help pane (keyboard F1) 2009-06-30 12:45:51 +00:00
fros4943 e36479f0b5 added mote separator background colors + painting LED events as three thin lines (RGB) instead of in a single color 2009-06-25 16:44:08 +00:00
fros4943 124380e354 more efficient toggle warnings implementation + listen to all popup triggers 2009-06-25 15:46:57 +00:00
fros4943 e6fa5334ae print random seed and end time to all test logs 2009-06-24 14:08:14 +00:00
fros4943 25893c463e minor fixes: allow copy to clipboard and output to console when hinding stdout + always show the last output 2009-06-24 14:07:19 +00:00
fros4943 b70f013ab4 added support for hiding normal output, only showing warnings/errors 2009-06-24 12:41:05 +00:00
fros4943 5d20b01f04 bugfix: random generator was initialized differently at load vs reload 2009-06-24 07:56:15 +00:00
fros4943 e353666550 removed regexp filtering on time column 2009-06-23 12:57:19 +00:00
fros4943 34584fc05e show watchpoint colors and use a fix watchpoint event width 2009-06-16 12:16:02 +00:00
fros4943 752e80167b added breakpoint colors and user defined messages 2009-06-16 12:15:15 +00:00
fros4943 ebb47546a2 replaceFirst() also for Contiki relative paths + verify that the generated config path is valid 2009-06-15 18:13:45 +00:00
fros4943 d7b35b5b40 bugfix: only replace the first instance when generating portable paths (simulation configs) 2009-06-15 17:43:48 +00:00
fros4943 9dd0e076a6 GENERATE_MESSAGE() argument in milliseconds 2009-06-15 17:39:02 +00:00
fros4943 32ac82fc22 added debugging output + generated javascript code tooltip 2009-06-15 16:53:32 +00:00
fros4943 67bca87c1d bugfix: remove unsorted time event 2009-06-15 16:51:42 +00:00
fros4943 a45e2382b2 bugfix: do not activate script engine according to simulation config in test mode (without GUI), instead, always keep it activated
+ more debugging output
2009-06-15 15:41:32 +00:00
fros4943 4c4cdeb546 schedule wakeup after new data has been written 2009-06-15 14:40:28 +00:00
fros4943 244d780809 support for character arrays + various UI updates, contributed by Kasun Hewage. 2009-06-15 11:59:21 +00:00
fros4943 4a4630d9ec added menu options: copy to clipboard and save to file 2009-06-15 10:53:24 +00:00
fros4943 3c7d0329ef minor fixes: integer wrap in repaint method + check watchpoint cast 2009-06-15 09:47:05 +00:00
fros4943 61885eba09 added menu options: copy to clipboard and save to file 2009-06-15 08:34:51 +00:00
fros4943 e7a6df77f3 directly call java script method instead of parsing GENERATE_MESSAGE calls 2009-06-12 15:12:46 +00:00
nifi e7c13890ee log listener plugin update: support for regexp filtering + nicer ui
+ minor tooltip fix in radio logger
2009-06-12 14:34:29 +00:00
nifi b2c0df08af radio logger update: autosizing columns + support for new microsecond resolution + some minor fixes 2009-06-12 14:12:59 +00:00
nifi be03c380c5 Show config file when reloading 2009-06-12 13:00:57 +00:00
fros4943 3b25d8b5e4 no stack trace printout when a visualized plugin fails to in test mode 2009-06-11 10:23:29 +00:00
fros4943 a39b87f214 implemented watchpoint visualization +
saving current zoom and divider locations in simulation configs
2009-06-11 10:02:53 +00:00
fros4943 b63322ebb1 added simple watchpoint interfaces, currently only implemented on mspsim motes 2009-06-11 10:02:11 +00:00
fros4943 8a44b78934 + startPlugin method throws exceptions 2009-06-10 15:57:08 +00:00
fros4943 1776fb0449 bugfix: if timer expired but was not yet handled due to long running operations (such as radio transmits), warn and reschedule timer handling later 2009-06-09 19:12:30 +00:00
fros4943 02733e15ab made test editor plugin a simulation plugin: it now depends on a specific simulation
this change enables multiple simultaneous scripts in a simulation, and also makes it easier to create tests since they will be stored with the simulation config

since the plugin now depends on a simulation it is no longer possible to create/reload simulations from the test scripts (this was however not often used)
2009-06-09 09:47:04 +00:00
fros4943 5bac672099 added help methods for reading text files from disk 2009-06-09 09:42:01 +00:00
fros4943 efe1bb9cff warn if Contiki has an event timer scheduled to the current time, which has for some reason not been executed 2009-06-08 13:07:54 +00:00
fros4943 646fb6fec0 bug fix: delay field is in milliseconds, not microseconds 2009-06-08 12:42:58 +00:00
fros4943 24f00bce76 reload simulation bug fix (lost edges) + removed some debugging output 2009-06-08 12:42:10 +00:00
fros4943 6e26f08c15 + automatically add/remove simulation motes 2009-06-08 11:55:58 +00:00
fros4943 c6c7c51c10 generate random mote type identifiers 2009-06-03 17:27:37 +00:00
fros4943 7ada9705a4 show dialog at script errors 2009-06-03 17:26:31 +00:00
fros4943 7877d54e1e bugfix: mote plugins should use the start plugin action 2009-06-02 15:04:49 +00:00
fros4943 9ea673f3be minor fix: always show start of lines 2009-06-02 09:34:12 +00:00
fros4943 cdf4bfd4f8 gui action fix: do not directly change isEnabled() from the simulation thread 2009-05-28 14:53:26 +00:00
fros4943 e54e0db966 bugfix: non-simulation plugins menu items need separate action listeners 2009-05-28 13:45:18 +00:00
fros4943 c9e97fd1ae fix: only toggle actions state in visualized mode + documentation 2009-05-28 12:59:02 +00:00
fros4943 02b5d5e230 gui update: enable menu items depending on whether a simulation is loaded or not 2009-05-28 12:55:14 +00:00
nifi efbae10245 Load last opened simulation configuration file when reloading without simulation.
Added key shortcuts to last opened files.
2009-05-27 23:23:41 +00:00
fros4943 62db437c2d minor bugfixes + added zoom functionality 2009-05-26 14:30:20 +00:00
fros4943 7985a9310b milliseconds -> microseconds update + more effective repainting using swing timers (avoid AWT event floods) 2009-05-26 14:27:00 +00:00
fros4943 e5219e0d8b better description 2009-05-26 14:25:29 +00:00
fros4943 cf9b7b76fe milliseconds -> microseconds update 2009-05-26 14:25:07 +00:00
fros4943 d996ae1476 event based mote interfaces: less dependencies on tick polling + using new mote time events 2009-05-26 14:24:20 +00:00
fros4943 fba3701a86 contiki mote schedules their next wakeup based on Contiki etimers + removed notion of active vs LPM state (optimization no longer needed) 2009-05-26 14:21:20 +00:00
fros4943 a327180762 new help class: time event associated with (or scheduled from) a mote. if the mote is removed during simulation, this enables removing all its scheduled events 2009-05-26 14:19:17 +00:00
fros4943 633f9bb5ef radio medium updates: removed obsolete tick observer + notifying observers for each finished radio connection separately 2009-05-26 14:17:29 +00:00
fros4943 61c2ed2e1a two major updates:
simulation time now uses microsecond resolution instead of earlier millisecond (allows for better simulation accuracy)
+
Contiki motes schedule their own events instead of the earlier approach of having the simulation loop register tick events common to all Contiki motes (faster simulation)

both changes require extensive changes throughout COOJA
2009-05-26 14:15:41 +00:00
fros4943 1b937d8287 added static connection ID for debugging purposes 2009-05-26 13:37:26 +00:00
fros4943 7c2e0a4b48 added method for peeking at first scheduled event 2009-05-26 13:36:36 +00:00
fros4943 1fdd19079f catch exceptions thrown from script threads 2009-05-20 14:11:21 +00:00
fros4943 bd2ac3991a show also converted packet data in tooltip 2009-05-20 12:02:06 +00:00