Commit graph

839 commits

Author SHA1 Message Date
fros4943 38e0b7918a set radio interfered even when it is turned off -> cca is set immediately when radio is turned on 2009-12-07 11:03:19 +00:00
fros4943 8bd7187491 the simulation object now handles the motetype configuration for motes; common functionality that was earlier implemented in each mote.
this patch allows the simulator more freedom for hand-picking mote class loaders

+ some debug output in experimental ImportAppMoteType
2009-11-27 15:53:10 +00:00
fros4943 236a6eee15 added new application mote type that loads a configurable application mote java class.
the new mote type makes it easier to create and load new application-level motes
2009-11-25 20:52:33 +00:00
fros4943 fa26d2f213 configure and load methods may throw a MoteTypeCreationException 2009-11-25 20:48:22 +00:00
fros4943 93672649d2 made project class loader public + throw exception is mote class could not be loaded 2009-11-25 20:47:18 +00:00
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