Commit graph

1221 commits

Author SHA1 Message Date
Enrico Joerns 649a447c9a [cooja] plugins/analyzers: Replace StringBuffer with lightweight StringBuilder
StringBuffer is a thread-safe version of StringBuilder that introduces
unnecessary overhead.

Additional replaced concatenations with .append()
2014-07-11 02:41:44 +02:00
Enrico Joerns e16a5d65df [cooja] plugins/analyzers: Added @Override annotations 2014-07-11 02:14:46 +02:00
Enrico Joerns 3e9a780721 [cooja] plugins/analyzers: Indention and whitespace cleanups 2014-07-11 02:07:21 +02:00
Enrico Joerns d4f7cf6a83 [cooja] plugins/sinks/TrafficVisualizerSkin: Synchronized to avoid ConcurrentModificationExcpetions 2014-07-11 01:03:35 +02:00
Enrico Joerns cd9164d5e2 [cooja] skins/TrafficVisualizerSkin: Use alpha value to fade out arrow color an potentially allow to configure colors 2014-07-11 00:57:35 +02:00
Enrico Joerns 449046669f [cooja] skins/TrafficVisualizerSkin: Age handling moved to RadioConnectionArrow class which also got some lines of function documentation 2014-07-11 00:57:35 +02:00
Enrico Joerns 7c80213c3a [cooja] skins/TrafficVisualizerSkin: Reduce array copy and iteration overhead 2014-07-11 00:57:35 +02:00
Enrico Joerns 468d533c41 [cooja] skins/TrafficVisualizerSkin: Removed unnecessary 'historyCopy' 2014-07-11 00:57:35 +02:00
Enrico Joerns ea80fd9257 [cooja] skins/TrafficVisualizerSkin: Use LinkedList instead of ArrayList to increase add and remove performance 2014-07-11 00:57:34 +02:00
Enrico Joerns c92f83c048 [cooja] skins/TrafficVisualizerSkin: Indicate sent but unreceived messages by a red double circle around mote 2014-07-11 00:57:34 +02:00
Enrico Joerns 0e78bc67f9 [cooja] skins/TrafficVisualizerSkin: Added @Override annotations and added some final modifiers 2014-07-11 00:57:34 +02:00
Enrico Joerns d8cf0d1349 [cooja] plugins/Visualizer: Deselect motes when removing
This also fixes visualization issues such as
remaining transmission range underlays for removed motes
2014-07-11 00:41:53 +02:00
Enrico Joerns 8b1bf449ee [cooja] plugins/Visualizer: Key control: Allow to abort actions with ESCAPE key and delete motes using DELETE key 2014-07-11 00:41:53 +02:00
Enrico Joerns 73fbb69e39 [cooja] plugins/Visualizer: Partly implement behavior of beginMoveRequest to fit new mote movement handling 2014-07-11 00:41:53 +02:00
Enrico Joerns 39f7ca586f [cooja] plugins/Visualizer: Mouse release always terminates previous action
and reses actions state and cursor appearance

Also renamed UNKNOWN state to NONE as it is a more adequate name for the new behavior
2014-07-11 00:41:53 +02:00
Enrico Joerns 2465a361e3 [cooja] plugins/Visualizer: Group mote placement modifications together (move, delete) 2014-07-11 00:41:53 +02:00
Enrico Joerns 99e74e8348 [cooja] plugins/Visualizer: Implemented multi-mode behavior of delete mote menu for move, too
Note that this does not yet implement the correct behavior of beginMoveReques()
2014-07-11 00:41:52 +02:00
Enrico Joerns 3ada5671ef [cooja] plugins/Visualizer: Fixed node selection in Delete menu handling
Previously if multiple motes were selected
and the context menu of a non-selected mote
was used to delete, not the clicked mote
but the other selected ones were removed.

This behavior is fixed so that if another
mote is clicked only this is deleted.
2014-07-11 00:41:52 +02:00
Enrico Joerns 6594684342 [cooja] plugins/Visualizer: Enable multi-mote deletion in mote menu 2014-07-11 00:41:52 +02:00
Enrico Joerns 963d2686f3 [cooja] plugins/Visualizer: Fix: Always highlight selected motes.
Motes were highlighted only by the UDGMVisualizerSkin before.
Now highlighting moved from individual VisualizerSkin to Visualizer.

A selected mote is highlighted with a blue circle
and a semi-transparent gray overlay.
2014-07-11 00:41:52 +02:00
Enrico Joerns 80dc21d5d5 [cooja] plugins/analyzers: Added PacketAnalyzer for 6lowpan fragmentation header 2014-07-10 09:19:32 +02:00
Claes Jakobsson 9c08f28956 Added EEPROM support for Cooja with a rudimentary hexdump -C like viewer in the mote interface view 2014-05-08 22:35:58 +02:00
Fredrik Österlind 9adf75b10d Merge pull request #450 from darki2002/DGRM_support_BaseRSSI
Base RSSI support for DGRM
2014-04-27 11:36:10 +02:00
Jens Dede 823abf9d94 Fix exported simulation: add jsyntaxpane JAR, start simulation with maximum speed 2014-04-26 16:02:50 +02:00
Fredrik Österlind d3b9954342 Merge pull request #639 from ejoerns/pull-req/cooja-plugin-pos
[Cooja] Set location of newly created plugins relative to second last activated plugin
2014-04-15 09:51:29 +02:00
Enrico Joerns 055c70b455 [cooja] Set location of newly created plugins relative to second last activated plugin.
Setting the position based on the number
of total inner frames was very inflexible
and caused pad positioning for larger number
of frames.

Setting the location of new plugin frames
to the second last activated one tries to
meet two requirements:
- Avoid covering the last activated plugin frame,
i.e. the one that was active when new plugin
start was invoked.
- Set new plugin near an actively used desktop pane
location and allow 'diagonal stacking'
2014-04-15 00:48:52 +02:00
Enrico Joerns b53cee163d [cooja] plugins/LogListener: Prevent from throwing
ArrayIndexOutOfBoundsException in case of empty logTable
2014-04-15 00:22:24 +02:00
Enrico Joerns ad0e192d84 [cooja] plugins/Visualizer: Replaced multiple if-string with switch over
strings
2014-04-11 09:23:30 +02:00
Enrico Joerns cef3c4079d [cooja] Reformatted Visualizer and skins code 2014-04-11 09:23:28 +02:00
Enrico Joerns ea979fa027 [cooja] plugins/Visualizer: Use more specific catches and multi-catches
if possible
2014-04-11 09:20:53 +02:00
Enrico Joerns 84b687efeb [cooja] Automated code updates that do not make any functional changes
- made loggers final
- added some diamond interface cosmetic
- shortened if-return statements
- replaced size == 0 check with .isEmpty()
2014-04-11 09:20:52 +02:00
Enrico Joerns 6e9b0e1497 [cooja] Added @Override annotations for Visualizer and skins 2014-04-11 09:20:52 +02:00
Enrico Joerns e69b08f5fd [cooja] plugins/skins: Adapted DGRM and UDGM visualizer skins to show
adequate information for multi-selections
2014-04-11 09:20:46 +02:00
Enrico Joerns ac61c45950 [cooja] plugins/Visualizer: Updated quick help to match new control
capabilities
2014-04-11 09:05:53 +02:00
Enrico Joerns 22ac769781 [cooja] plugins/Visualizer: Multi-mote selection functionality
This adds multi-mote selection capabilities to the visualizer plugin:

- [Ctrl + Mouse Drag]: Rectangular selection of multiple motes
- [Ctrl + Mouse Click]: Add/Remove motes from current selection
- Mouse Drag on any selected Mote: Move all currently selected motes

Note: This changes previous behaviour of using Ctrl key.
2014-04-11 09:05:38 +02:00
Moritz 'Morty' Strübe 50fe1e7046 Also remove uninitialized motes 2014-03-20 14:51:05 +01:00
Fredrik Österlind 602928d948 Merge pull request #533 from g-oikonomou/cooja-pcap-timestamp-fix
Fix Cooja PCAP packet header timestamps
2014-02-21 13:41:15 +01:00
Fredrik Österlind 3fe2890ddf Merge pull request #565 from cmorty/pull/backwards
Fix backwards compatibility (and docs)
2014-02-21 13:35:09 +01:00
Fredrik Österlind 4fe17ef17f Merge pull request #568 from ejoerns/pull-req/cooja-udgmvis
[Cooja] Made UDGMVisualizerSkin closable
2014-02-21 13:01:23 +01:00
Fredrik Österlind 140b55d8f7 Merge pull request #567 from ejoerns/pull-req/vis-scroll
[Cooja] Mouse wheel zooming for Visualizer
2014-02-21 12:55:13 +01:00
Enrico Joerns 465b0ddfbe [cooja] pluings/skings/UDGMVisualizerSkin: Replaced unclosable Box implementation of JSpinner menus by JInternalFrame based variant. 2014-02-20 22:55:36 +01:00
Enrico Joerns 80b78ae6dd cooja: plugins/Visualizer: Implemented mouse wheel zooming with mouse coordinates as center 2014-02-20 16:56:49 +01:00
Enrico Joerns 90ab2e7051 cooja: interfaces/RimeAddress: renamed rimeaddr_node_addr to linkaddr_node_addr 2014-02-20 16:45:40 +01:00
Moritz 'Morty' Strübe 19e7611061 Fix backwards compatibility 2014-02-20 13:57:32 +01:00
Moritz 'Morty' Strübe 8dd4025248 Fix documentation 2014-02-20 13:57:22 +01:00
Sebastian Schinabeck c22f1ea6f1 Cooja: allow setting RSSI while sending and silence
It is now possible to set the RSSI while the radio is sending or when
no radiodata is received. This is now supported by all radiomediums
exept MRM. This also includes a GUI to configure the values.
2014-02-19 18:22:31 +01:00
George Oikonomou 10a73c9380 Fix PCAP packet header timestamp 2014-01-22 17:32:08 +00:00
Sebastian Schinabeck 86320d74ed Stopped to load plugins depending on simulations if there is no simulation 2014-01-21 15:02:46 +01:00
Laurent Deru 957be0a9be Allow user configuration of RadioLogger pcap file 2013-11-27 14:05:45 +01:00
Laurent Deru fa2dd5baec Allow configuration of pcap output file 2013-11-27 14:05:45 +01:00
Eugen Berlin a415c2bb1b Fix: preserving blank characters (tabulator and space) in Cooja serial output 2013-11-26 16:43:31 +01:00
Sébastien Dawans 700994ec1c Cooja Pcap export: Reverts PR #284 to fix #420 2013-11-25 16:36:49 +01:00
Sebastian Schinabeck 1ef80859ea start DGRMVisualizerSkin in cooja_default.config now
instead of starting in DirectedGraphMedium
2013-11-22 17:01:44 +01:00
Sebastian Schinabeck 123a7081f2 start DGRM plugin with cooja_default.config
start the DGRMconfigurator within the cooja_default.config instead of starting in DirectedGraphMedium.java
2013-11-22 17:01:44 +01:00
Fredrik Österlind c98b55b5e0 Merge pull request #338 from cmorty/Cooja-Make-updateGUIComponentState-public
Cooja: Make updateGUIComponentState public.
2013-11-22 02:30:11 -08:00
Sebastian Schinabeck 4deb687209 deleted unneeded if
getStringArrayValue never returns null
2013-11-21 15:25:52 +01:00
Moritz 'Morty' Strübe 3359a86d29 Move call to updateGUIComponentState from doAddMotes to addMote 2013-11-20 18:00:16 +01:00
Fredrik Osterlind 51e62e8cb3 Cooja backwards compatibility with simulation files that uses non-Contiki Java package names 2013-11-20 16:43:28 +01:00
Fredrik Osterlind b5c94910ac Renamed Java packages to match our contiki-os.org domain. Note that this commit does not affect external dependencies
like /tools/mspsim.

This is a very simple modification that affects a very large number of files in Contiki: Cooja,
/platform/cooja, Collect-view, Coffe-manager, and Cooja simulation files (.csc).

I've gone through Contiki to update all references I could find. Nevertheless, this commit will likely
break external dependencies, like saved Cooja simulation files.
2013-11-20 16:43:27 +01:00
Fredrik Osterlind 2a9283884c renamed getGUI() method to getCooja(), to better reflect its purpose 2013-11-20 16:43:20 +01:00
Fredrik Osterlind 625537158f renamed main Java class of Cooja from GUI to Cooja.
se.sics.cooja.GUI -> se.sics.cooja.Cooja

this commit does not contain any functional changes, but may require external scripts to be updated
such as Makefiles.
2013-11-20 16:43:18 +01:00
Yvonne-Anne Pignolet 83ae37b48e Add access to LQI and RSSI to Contiki motes 2013-11-18 15:05:23 +01:00
Moritz 'Morty' Strübe 56afc6d437 Allow setting random seed as parameter 2013-11-06 17:41:53 +01:00
Fredrik Osterlind 871ea380d0 only show printable characters in mote output plugin 2013-08-15 11:49:48 +02:00
Fredrik Osterlind e5fe37336e enable reconfigurable mote interfaces
some minor trying to fix a bug that occasionally hangs cooja when reconfiguring a mote type
2013-08-15 11:49:31 +02:00
Fredrik Osterlind ba39d98a86 store current radio transmission bitrate in .csc
trigger radio event when device radio channel is changed
2013-08-14 13:56:39 +02:00
Fredrik Osterlind 9929cc2a10 added new mote type method that returns the by default used mote interfaces, as opposed to all compatible mote
interfaces

this allows a user to override default settings in the create-new-mote-type dialogs
2013-08-14 13:30:15 +02:00
Fredrik Osterlind 8e264badb7 added new mote type method that returns the by-default used mote interfaces, as opposed to all compatible mote
interfaces

this allows the user to override default settings in the create-new-mote-type dialogs
2013-08-14 13:25:53 +02:00
Fredrik Osterlind 11d124882c made mote-to-mote relations optional, reordered how skins are painted to more easily decide which skin is
painted first
2013-08-14 13:00:00 +02:00
Fredrik Osterlind 21a901ad26 removed unnecessary imports 2013-08-14 12:57:58 +02:00
Fredrik Osterlind 5b7cc56cc5 guard amount of serial data being written to simulated contiki nodes 2013-08-14 12:57:17 +02:00
Fredrik Osterlind 0b09084b92 minor bugfix: simulation speed was not restored correctly 2013-08-14 12:54:30 +02:00
Fredrik Osterlind 9cb2fd8465 allow saving .csc with contiki-relative paths when the .csc file is in a subdirectory of the referenced
application
2013-08-14 12:52:20 +02:00
Fredrik Osterlind eb1a147d7d new feature: ability to show log listener's output in the timeline, using the mote output plugin's currently
active filter
2013-08-14 12:47:44 +02:00
Fredrik Osterlind 4811d7f378 made ip-address-to-string method public 2013-08-14 12:36:14 +02:00
Fredrik Osterlind 1b556148d8 added 200% simulation speed alternative 2013-08-14 12:33:44 +02:00
Fredrik Osterlind 492cd5f721 added new optional features: time formatting, hide-duplicate-packets, hide-airshot-packets 2013-08-14 12:32:23 +02:00
Fredrik Osterlind bda04947e7 minor changes: methods that allow other plugins, e.g. the timeline, to learn about the currently used mote
output filter, make mote-specific coloring on by default
2013-08-14 12:28:18 +02:00
Fredrik Osterlind 37ebe133e9 increased maximum buffer size 2013-08-14 12:25:03 +02:00
Adam Dunkels 2d973c5353 Allow the exit code from a failed test script to propagate to the Java
process, which makes it possible to track failing tests in makefiles and
via scripts.
2013-08-06 21:33:03 +02:00
Laurent Deru d1f12638b4 Bugfix: Corrected wireshark bad FCS errors in COOJA Pcap export 2013-06-24 13:18:03 +02:00
Peter A. Bigot 09812fe5df cooja TimeLine: support mouse wheel zoom
Add listener that zooms based on mouse wheel.  The zoom center is the
mouse position, which alleviates the pressure to touch pabigot/contikix#4.

Closes pabigot/contikix#5

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2013-06-17 13:12:47 -05:00
Peter A. Bigot e6a69d29bd cooja TimeLine: zoom keystroke failure
The + typed character can only be generated on English keyboards by
shift-equals, resulting in a failure to recognize ctrl-plus because of
the unexpected shift modifier.  Adapt by supporting English and Spanish
keyboards, as well as number pad keys.

Closes pabigot/contikix#2

Reference: http://forums.oracle.com/thread/1356291
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2013-06-17 13:12:47 -05:00
Peter A. Bigot 0c373a8bee cooja TimeLine: refactor zoom infrastructure
Refactor common code into private functions.  Abstract to support zoom
to level or exact value.

There should be no behavioral change as a result of this patch except:

 * zooms are consistently filtered to be in the valid range (those from
   configuration parameters formerly had been used directly);
 * the correct centerTime is used for zoomOutAction when
   mousePixelPositionX is positive

Supports pabigot/contikix#5

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2013-06-17 13:12:31 -05:00
Fredrik Österlind 150cb33b94 Merge pull request #16 from cmorty/COOJA_DGRM
DGRM-Related Patches
2012-11-21 02:44:13 -08:00
Adam Dunkels 6a7435e0ba Merge pull request #17 from cmorty/Cooja_automation
Cooja automation related patches.
2012-11-13 03:59:17 -08:00
Adam Dunkels 1db75f3b98 Merge pull request #23 from boeglin/cooja_pcap_802154
Export Pcap as LINKTYPE_IEEE802_15_4
2012-11-13 03:52:16 -08:00
Alexandre Boeglin 8f9931a215 Add a "Packet Number" column 2012-11-07 17:35:08 +01:00
Alexandre Boeglin fb7dcf982b Export Pcap as LINKTYPE_IEEE802_15_4 2012-11-07 17:31:59 +01:00
Moritz 'Morty' Strübe 7bca2e23fc Cooja: Allow running the simulation without motes.
Normally it is not possible to start a simulation without motes. While
 this nomally makes sense, it might be, that motes are added at a later
 point in time by plugins.
 Removing this requirement is not problem, as it is still not possible
 to start the simulation without registered events. Thus a plugin can now
 register an event in the future to add motes at that point of time.
2012-10-31 17:37:12 +01:00
Moritz 'Morty' Strübe 64c0b9c241 Cooja: Fix command line override of ContikiPath
Without the fix the command line parameter was overwritten by the simulation configuration.
2012-10-31 17:29:07 +01:00
Moritz 'Morty' Strübe 32aa70e5cf Cooja: Allow setting a folder to search for projects 2012-10-31 17:25:15 +01:00
Moritz 'Morty' Strübe 142fa4a9a5 Cooja: Make paths more configurable 2012-10-31 17:22:13 +01:00
Moritz 'Morty' Strübe 50346251a2 Cooja: Fix missing message when running a script 2012-10-31 17:21:44 +01:00
Moritz 'Morty' Strübe a3eb42387f Cooja: Give access to uninitialized motes 2012-10-31 17:21:33 +01:00
Moritz 'Morty' Strübe becd2d4e15 Cooja: Load whole simulation before executing it in nogui mode 2012-10-31 17:21:01 +01:00
Moritz 'Morty' Strübe 3c3b25a54b Cooja, DGRM: Fix problems with out-of-range RSSI-Values.
Certain values cause the DGRMVisualizerSkin to calculate color values
 that are out of range.
2012-10-31 16:36:17 +01:00
Moritz 'Morty' Strübe 80e7a6fd8c Cooja: Add LQI-Support to DGRM 2012-10-31 16:36:06 +01:00
Moritz 'Morty' Strübe 610f6cba14 Cooja, DRGM: Reordered interference checks: e.g. do not interfere if on different channel 2012-10-31 16:36:00 +01:00
Moritz 'Morty' Strübe 3c9e3e1b95 Cooja: Refactored AbstractRadioMedium:update(): if -> switch 2012-10-31 16:35:45 +01:00