Commit graph

2046 commits

Author SHA1 Message Date
Atis Elsts
67427b9b86 Improve multichannel support for Cooja.
* Fix CCA detection in Cooja in the case when the receiver swicthes on the right channel during an ongoing transmission. Always add a connection on transmission, even when the channel is not correct. Initially the connection is in a dormant state; this mimics what Cooja is doing when the receiver radio is turned off;
when the receiver is turned on and switched to the right channel, `updateSignalStrengths()` is called, and the connection starts to recieve PHY-level traffic.

* Add "channel" property for DGRM edges.

* Avoid cross-channel interference on DGRM and MRM radio mediums
2015-04-28 18:43:55 +02:00
Andreas Löscher
a4206273a5 Fixed HC analyser for SAC and DAC fields 2015-02-16 13:58:36 +01:00
Moritz 'Morty' Strübe
380c6b7622 Make Random thread safe 2014-11-13 13:09:23 +01:00
Moritz 'Morty' Strübe
1692169138 Output sha1sums of files used for simulation on fail
This helps reproducing results from the CI
2014-11-13 09:10:53 +01:00
Fredrik Österlind
16141845cf Merge pull request #850 from TheGeorge/master
Pull request for issue #840
2014-11-10 15:36:57 +01:00
Andreas Löscher
6d61893e09 Fixed a bug with the ScriptRunner plugin
The ScriptRunner plugin started the simulation in GUI and NOGUI mode.
Now the simulation is only started in nogui mode
2014-11-07 13:53:16 +01:00
Andreas Löscher
f68bc3a40b fixed a bug in executeJAR 2014-11-07 12:09:14 +01:00
Andreas Löscher
0e729592f3 Added the control plugin behaviour to executeJAR 2014-11-07 11:45:38 +01:00
Enrico Joerns
f49e1b8f5f Button: Allow to press and release button by mouse and key
In the previous implementation a click event was triggered when the
button was pressed.
This implementation allows to set and release buttons independently both
by mouse clicking and by key typing.
2014-11-07 01:38:54 +01:00
Andreas Löscher
4dcc3ba7fa Better error message when aborting simulation 2014-11-06 17:23:01 +01:00
Andreas Löscher
6cbe94b7e9 New PluginType SIM_CONTROL_PLUGIN for sim control
SIM_CONTROL_PLGUIN are handled like SIM_PLUGIN, with one exception.
If the simulation is started with -nogui=<simfile> than it is checked
if a controlling plugin is loaded. If not, the simulation terminates
with an error message.
2014-11-06 17:16:24 +01:00
Enrico Joerns
bc6b7535d0 Buttons: use non-deprecated MSPSim button api 2014-11-04 01:48:12 +01:00
Enrico Joerns
b5d119babd Buttons: Some minor cleanups
Removed imports not required anymore and made some class members final
2014-11-04 01:48:12 +01:00
Enrico Joerns
b28c593776 Buttons: Added missing @Override annotations 2014-11-04 01:48:12 +01:00
Enrico Joerns
0a63922fa2 Buttons: Move implementation of button routines to Button class
The implementation of clickButton(), pressButton(), and releaseButton()
can be shared accross the several node-dependent implementations as
they use the node-dependent doPressButton() doReleaseButton() routines.
2014-11-04 01:48:12 +01:00
Enrico Joerns
be88a4fc52 Button: Add doPressButton() and doReleaseButton() to Button class
As every Button has a node-specific implementation part, this should be
the minimal interface to the backend node emulator for pressing and
releasing a button.
2014-11-04 01:48:11 +01:00
Enrico Joerns
378ca2629d Button: None of the buttons will saves its state
Saving a buttons state in simulation file is not required as its state
is much too volatile.
2014-11-04 01:48:11 +01:00
Enrico Joerns
82d30ef2e3 SkyButton: Reduce dependency on SkyMote
Placed call to setButton() in implementation-specific functions
doPressButton() and doReleaseButton() as in ContikiButton.
2014-11-04 01:48:11 +01:00
Enrico Joerns
d99708ba08 Button: Move common interface visualization to Button class
The implementation of a simple JPanel with a JButton was only code
duplication accross the several button implementations.
2014-11-04 01:48:11 +01:00
Enrico Joerns
9d27b181c1 [cooja/mspsim] Msp802154Radio: Fix maximum power indicator
Previously getOutputPowerIndicatorMax() returned the fixed value 31.
This is valid for e.g. the mspsim CC2420 radio implementation but not for the CC2520 implementation where the maximum returned value is 9.

Thus to fix transmission range issues (for example for Wismote node) the maxium value provided by the radio implementaiton must be used.
2014-10-05 00:38:49 +02:00
Fredrik Österlind
718e488b78 Merge pull request #795 from ejoerns/pull-req/cooja-println-cleanup
[Cooja] Println cleanup
2014-10-02 09:25:36 +02:00
Enrico Joerns
903d0333d3 [cooja] Removed some further printlns 2014-10-02 02:11:41 +02:00
Enrico Joerns
f02266d67c [cooja] dialogs/MessageListe: User Logger instead of println 2014-10-02 02:05:39 +02:00
Enrico Joerns
927d9a3153 [cooja] dialogs/MessageList: Added @Override annotations 2014-10-02 02:05:14 +02:00
Enrico Joerns
40f54a8e26 [cooja] Radio802154: Removed obsolete comments including println hints 2014-10-02 01:53:26 +02:00
Enrico Joerns
c7abba860f [cooja] Radio802154: Added @Override annotations
Also removed some unused imports
2014-10-02 01:40:07 +02:00
Enrico Joerns
c5e034fa1a [cooja] IEEE802154Analyzer: Use logger
Replaced println and printStackTrace by logger
2014-10-02 01:37:24 +02:00
Enrico Joerns
373b00fc47 [cooja] PcapExporter: Use logger
Removed unnused imports, replaced println and printStackTrace by logger
2014-10-02 01:25:49 +02:00
Enrico Joerns
95b54f415e [cooja] MemoryLayout: Remove annoying println 2014-10-02 01:14:07 +02:00
Fredrik Österlind
8df1c98a85 Merge pull request #781 from ejoerns/pull-req/cooja-serialsocket
[Cooja] Configurable serial socket plugin
2014-09-24 12:49:15 +02:00
Enrico Joerns
55979636d7 [cooja] plugins/VariableWatcher: Added minimal quick help 2014-08-31 01:52:17 +02:00
Enrico Joerns
42ad188b69 [cooja] plugins/VariableWatcher: Also disble addr and size input fields when monitoring 2014-08-31 01:52:17 +02:00
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
133311b427 [cooja/serialsocket] SeriaSocketClient: Fixed position of pack() call 2014-08-29 00:55:07 +02:00
Enrico Joerns
db2f4e6818 [cooja/serialsocket] Write serial data only on simulation thread 2014-08-29 00:54:57 +02:00
Enrico Joerns
894a88d08e [cooja/serialsocket] SeriaSocketServer: Moved Observer and Handler to inner classes and let handler thread join before notifying server terminated 2014-08-29 00:35:26 +02:00
Enrico Joerns
dea03493bd [cooja/serialsocket] Support for xml import/export 2014-08-29 00:35:26 +02:00
Enrico Joerns
6c0e7ae15e [cooja/serialsocket] Allow to stop server / disconnect client 2014-08-29 00:35:26 +02:00
Enrico Joerns
f419274050 [cooja/serialsocket] SerialSocketClient: ClientListener interface decouples client implementation
and visualization
2014-08-29 00:35:26 +02:00
Enrico Joerns
b31818521d [cooja/serialsocket] SerialSocketServer: Allow only a single client,
reject further
2014-08-29 00:35:26 +02:00
Enrico Joerns
a18a7fa717 [cooja/serialsocket] SerialSocketServer: Fixed and improved server
implementation. Added visual feedback for new user interface.
2014-08-29 00:35:26 +02:00
Enrico Joerns
585db7df96 [cooja/serialsocket] SerialSocketServer: Applied some renames 2014-08-29 00:35:26 +02:00
Enrico Joerns
0d9698b908 [cooja/serialsocket] SerialSocketServer: New visual appearance with
status bar, port setting, and start button
2014-08-29 00:35:26 +02:00
Enrico Joerns
153457a151 [cooja/serialsocket] SerialSocketClient: Status bar and improved
action/event handling and visualization
2014-08-29 00:35:26 +02:00
Enrico Joerns
d90aec2376 [cooja/serialsocket] SerialSocketClient: New visual appearance with
input for server hostname and address including connect button
2014-08-29 00:35:26 +02:00
Enrico Joerns
404fd82399 [cooja/serialsocket] Added @Override annotations 2014-08-29 00:35:25 +02:00
Enrico Joerns
af7f9ced81 [cooja/serialsocket] Moved to package org.contikios.cooja.serialsocket 2014-08-29 00:35:25 +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 Osterlind
a4271f4327 hack to support symbol size parsing under cygwin 2014-08-21 20:01:45 +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
Fredrik Osterlind
77d17196a7 section address parsing configuration for windows 2014-08-07 13:02:36 +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
d4e36dcd47 [cooja] logging: default logging level should not be highest 2014-08-05 18:22:34 +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
434c4db1a2 [cooja] Implementation of former MspMoteMemory dummy functions 2014-07-31 21:20:08 +02:00
Enrico Joerns
e5a35821c3 [cooja] Implementation of former AvrMoteMemory dummy functions 2014-07-31 21:20:08 +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
d1c05300a9 [cooja] memory: AvrMoteMemory and MspMoteMemory dummy implementation of MemoryInterface 2014-07-31 16:30:05 +02:00