Commit graph

172 commits

Author SHA1 Message Date
Enrico Joerns
33b211c0b3 [cooja] plugins/VariableViewer: Fix decoding in stringToValue() 2014-08-31 01:52:17 +02:00
Enrico Joerns
171863a8c5 [cooja] plugins/VariableWatcher: Fixes for value layout
- Fixed layout axis form x to page to show multi-line value fields.
- More flexible width calculation for value fields
2014-08-31 01:52:16 +02:00
Enrico Joerns
57719de18d [cooja] plugins/VariableWatcher: Catch exceptions, show error dialog for invalid addresses
And some gui option handling fixes
2014-08-31 01:52:16 +02:00
Enrico Joerns
f70e1ef99f [cooja] plugins/VariableWatcher: Allow to access memory by address/size
By selecting the checbox next to the address field, VariableWatcher
switches from variable mode to address mode.
Now any address and size might be entered to show data from memory.

Additionally for variables where now size information is available the
interface allows the user to select one.
2014-08-31 01:52:16 +02:00
Enrico Joerns
9d8516e9ef [cooja] plugins/VariableWatcher: Replaced obsolete Vector by ArrayList 2014-08-31 01:52:16 +02:00
Enrico Joerns
490bc6c5cb [cooja] plugins/VariableWatcher: fixed handling of unknown variable sizes 2014-08-31 01:52:16 +02:00
Enrico Joerns
7ac14fae60 [cooja] plugins/VariableWatcher: Added Tooltip that shows address, added address variable type, fixed columns width layout 2014-08-31 01:52:16 +02:00
Enrico Joerns
d1e0311184 [cooja] plugins/VariableWatcher: Added swingx library to provide autocomplete support for variable names combobox in plugins/VariableWatcher 2014-08-31 01:52:16 +02:00
Enrico Joerns
72dcd323a3 [cooja] plugins/VariableWatcher: Added 'line break' for byte text fields
Adds new line each 8 text fields
2014-08-31 01:52:16 +02:00
Enrico Joerns
a638bd5b01 [cooja] plugins/VariableWatcher: Added address and and size labels
to display information about currently selected variable
2014-08-31 01:52:15 +02:00
Enrico Joerns
c0f727e3c0 [cooja] plugins/VariableWatcher: implemented monitoring, writing; fixed various issues 2014-08-31 01:52:15 +02:00
Enrico Joerns
e77c01d586 [cooja] plugins/VariableWatcher: Fixed xml config save/load 2014-08-31 01:52:15 +02:00
Enrico Joerns
16d94780e9 [cooja] plugins/VariableWatcher: Remove charValuePane and reimplement read functionality and more 2014-08-31 01:52:15 +02:00
Enrico Joerns
cdc9b9a9d2 [cooja] plugins/VariableWatcher: Replace varName KeyListener by DocumentListener as only content changes change validation state of varName
Modify foreground color of varName instead of background color because some LookAndFeels do not support colored backgrounds.
2014-08-31 01:52:15 +02:00
Enrico Joerns
a1671462c0 [cooja] plugins/VariableWatcher: Implemented formatted output for value fields 2014-08-31 01:52:15 +02:00
Enrico Joerns
053b1d55af [cooja] plugins/VariableWatcher: Enums for ComboBoxes and new one for display format
Allows to choose between var types (byte, short, int, long) and display
types (char, decimal, hex)
2014-08-31 01:52:15 +02:00
Enrico Joerns
6ae097cc09 [cooja] plugins/VariableWatcher: Added Combo as name suffix for JComboBoxes 2014-08-31 01:52:15 +02:00
Enrico Joerns
a9f31ee662 [cooja] plugins/VariableWatcher: Added @Override annotations 2014-08-31 01:52:14 +02:00
Enrico Joerns
01333c235c [cooja] interfaces/IPAddress: Reimplementation of the IPAddress interface
New features:
* extended interface
* Shows all IPv6 addresses of a mote
* Shows link local IP in visualizer
* Reads IPs correctly from different memory layouts
2014-08-29 13:08:56 +02:00
Enrico Joerns
f93b58b9fb [cooja] Get rid of all those redundant IP address to String functions
Commonly use the String representation functions of IPUtils.
2014-08-29 12:58:57 +02:00
Enrico Joerns
1babb9475d [ccoja] Added new IPUtils class
Utility class to convert IPv4/IPv6 byte arrays to String representation.

* RFC5952-compliant IPv6 address shortening routine
2014-08-29 12:58:19 +02:00
Enrico Joerns
c0f629dfbb [cooja] interfaces/IPAddress: Added @Override annotations 2014-08-29 12:12:20 +02:00
Enrico Joerns
d5c5198171 [cooja] interfaces/IPAddress: Indention cleanup 2014-08-29 12:11:10 +02:00
Enrico Joerns
e5653ac150 [cooja] Memory: Added add/removeMemoryMonitor functions
Provides a cleaner interface to access memory as VarMemory already
contains variable name based add/removeVarMonitor functions.
2014-08-28 19:28:49 +02:00
Enrico Joerns
77ab9359dd [cooja] Memory: Added get/setByteArray functions to Memory access class
Provides a cleaner interface to access memory as VarMemory already
contains variable name based get/setByteArray functions.
2014-08-28 19:26:24 +02:00
Fredrik Österlind
2a0ccf2c6b Merge pull request #628 from ejoerns/pull-req/cooja-memory
[Cooja] Rewrote Coojas mote memory management
2014-08-25 15:37:23 +02:00
Fredrik Österlind
2de744f4b6 Merge pull request #768 from ejoerns/pull-req/cooja-tooltip
[Cooja] Simple mote tooltip for Visualizer
2014-08-13 13:23:33 +02:00
Fredrik Österlind
6fec61bf7c Merge pull request #769 from ejoerns/pull-req/cooja-traffic-vis
[Cooja] TrafficVisualizerSkin modifications
2014-08-13 13:13:01 +02:00
Fredrik Osterlind
b8d0b13ccf improved debugging output at referenceVar errors 2014-08-07 13:03:31 +02:00
Enrico Joerns
b9ac2953b7 [cooja] VarMemory: Actually throw UnknownVariableException 2014-08-07 13:01:50 +02:00
Enrico Joerns
0f2837320c [cooja] Reintroduced offset handling for absolute address space 2014-08-07 08:40:41 +02:00
Enrico Joerns
3da6c6d55a [cooja] ContikiMoteType: Fixed Command parsing
- Use `nm -aP` for parsing both addres and size information
- Use symbol section information for parsing
2014-08-07 08:40:21 +02:00
Fredrik Österlind
8b72ab49c0 Merge pull request #764 from ejoerns/pull-req/cooja-fraghead
[Cooja] Simple fragmentation header analyzer
2014-08-06 09:32:57 +02:00
Fredrik Österlind
cb6cb3fc13 Merge pull request #763 from ejoerns/pull-req/cooja-analyzers
[Cooja] Fixes and enhancements for 6lowpan analyzers
2014-08-06 08:55:29 +02:00
Enrico Joerns
f5531dfa74 [cooja] ContikiMoteType: Fix mapfile variable size parsing
For some longer variable names the lines are wrapped after the name
to display size information vertical aligned.
2014-08-05 17:25:38 +02:00
Enrico Joerns
defcd1a34c [cooja] ContikiMoteType: Moved further parse functions to SectionParser classes 2014-07-31 21:53:35 +02:00
Enrico Joerns
66d4dad1e1 [cooja] Removed offset from SectionMoteMemory to make it more generic 2014-07-31 21:53:35 +02:00
Enrico Joerns
c5ff3555a0 [cooja] ContikiMoteType: Introduce abstract SectionParser
Should encapsulate and decrease both redundancy and code duplication
2014-07-31 21:53:10 +02:00
Enrico Joerns
f4979ffeeb [cooja] memory: SectionMoteMemory implementation of MemoryInterface functions
as forwarding to encapsulated memory sections

Requires to make use of Symbol class for cooja motes, too
2014-07-31 21:20:09 +02:00
Enrico Joerns
070e0ba0fc [cooja] memory: Implementation of simple array-backed memory class 'ArrayMamory' 2014-07-31 21:20:09 +02:00
Enrico Joerns
f6a0f54424 [cooja] ContikiMoteType: Some renames and function reordering 2014-07-31 21:20:09 +02:00
Enrico Joerns
dae92d93bb [cooja] ContikiMoteType: Non-functional indention and code style updates 2014-07-31 21:20:09 +02:00
Enrico Joerns
186240821f [cooja] memory: Moved SectionMoteMemory to package memory 2014-07-31 21:20:08 +02:00
Enrico Joerns
44767324a5 [cooja] memory: Removed AddressMemory class including all references 2014-07-31 21:20:01 +02:00
Enrico Joerns
482dab5d16 [cooja] memory: Removed MoteMemory class including all references 2014-07-31 21:08:18 +02:00
Enrico Joerns
9dd29d56c9 [cooja] getMemory() now returns MemoryInterface
Including code adaptions based on new memory methods to keep code compilable
2014-07-31 21:08:18 +02:00
Enrico Joerns
19d07beb16 [cooja] memory: SectionMoteMemory dummy implementation of MemoryInterface 2014-07-31 21:08:18 +02:00
Enrico Joerns
6b15e7837d [cooja] memory: Added address and symbol based memory access classes 2014-07-31 21:04:53 +02:00
Enrico Joerns
128ef57289 [cooja] memory: Introduce minimal memory access interface 'MemoryInterface'
A mote should provide access to its memory using this interface.
All high-level access methods are wrapped around this minimal interface.

Contains dummy-implementations of functions for AvrMoteMemory and MspMoteMemory
2014-07-31 16:27:25 +02:00
Enrico Joerns
4ac0250dc9 [cooja] Added base class MemoryBuffer for reading and writing both simple and complex data structures
to and from memory with support for padding.
2014-07-31 13:32:06 +02:00
Enrico Joerns
579f0a9a93 [cooja] Added MemoryLayout class to represent basic information about
motes memory such as word size or endianess
2014-07-31 13:32:06 +02:00
Enrico Joerns
c6f8a2d558 [cooja] Added @Override annotations for relevant files 2014-07-31 13:32:06 +02:00
Enrico Joerns
56e2536884 [cooja] plugins/Visualizer: Simple mote tooltip
Shows a motes type identifier and filename of firmware/sourcecode running on it
2014-07-17 00:30:44 +02:00
Enrico Joerns
a9cf1c1114 [cooja] plugins/analyzers/FragHeadPacketAnalyzer: Printout if first or nth fragment in verbose output 2014-07-11 03:43:56 +02:00
Enrico Joerns
d894390f3e [cooja] plugins/analyzers: printout of UDP ports and clearer layer separation 2014-07-11 03:42:52 +02:00
Enrico Joerns
70a44031bf [cooja] plugins/analyzers/ICMPv6Analyzer: Short names for ICMP types in brief output and more reader-friendly long names 2014-07-11 03:33:41 +02:00
Enrico Joerns
ab0be0b150 [cooja] plugins/analyzers/ICMPv6Analyzer: DTSN field is unsigned 2014-07-11 03:31:24 +02:00
Enrico Joerns
e556419e37 [cooja] plugins/analyzers/IPHCPacketAnalyzer: More verbose output of IPHC options 2014-07-11 03:31:24 +02:00
Enrico Joerns
5ee8c7e178 [cooja] plugins/analyzers/IPHCPacketAnalyzer: Hack for basic Hop-by-hop extension header handling 2014-07-11 03:31:21 +02:00
Enrico Joerns
3b60d96f39 [cooja] plugins/analyzers/IPHCPacketAnalyzer: Full port decompression for UDP header compression 2014-07-11 03:02:49 +02:00
Enrico Joerns
a88328c8db [cooja] plugins/analyzers/PacketAnalyzer: Fixed integer assembly from bytes in getInt() method 2014-07-11 03:00:48 +02:00
Enrico Joerns
9f70a6f327 [cooja] plugins/analyzers/IPHCPacketAnalyzer: fixed ttl encoding,
addded hlim decoding
2014-07-11 02:57:20 +02:00
Enrico Joerns
dbebd123a5 [cooja] plugins/analyzers/IEEE802154Analyzer: More verbose printout including FCF information 2014-07-11 02:52:10 +02:00
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