Commit Graph

2592 Commits

Author SHA1 Message Date
Timofei Istomin
eb4bdde9ca Finish the transmission at the end of a correct packet
This patch restores the original behaviour of Cooja when
the transmitted packet is correct (which is true in a vast majority
of cases).

In case of a wrong outgoing packet (wrong length, wrong preamble)
the transmission will end when the radio changes its state (which
should always happen after transmitting a packet).

Benchmarks with RPL (33 runs, 50 nodes, 3 hours of simulated time each)
yield the same results (PDR, delay, number of transmitted packets)
as with the unmodified Cooja.
2015-06-05 15:13:45 +02:00
Oleg Hahm
fbeea78749 fix mixture of spaces and tabs for z1-bsl-nopic 2015-06-01 17:34:18 +02:00
Oleg Hahm
116ade0e63 z1-bsl-nopic requires Python 2 2015-06-01 17:34:00 +02:00
Timofei Istomin
034a97eed2 Don't generate a zero-length packet in case of errors.
The packet converter used to generate packets of length zero
when it encountered errors during conversion. This caused
exceptions in packet analyzers.

Now the converter returns null in case of error. Appropriate
checks have been added to the code that uses the return value.
2015-05-28 22:11:50 +02:00
Michael Richardson
11c3dcc622 tunslip6: added some better clarification of errors when TUNSETIFF fails 2015-05-24 18:55:12 -04:00
Michael Richardson
f1433f7d5f tunslip6: option to turn off processing of IPA= address allocation 2015-05-24 18:55:07 -04:00
Michael Richardson
6608b62b01 tunslip6: make printing of sensible strings from mote more reliable 2015-05-24 18:55:02 -04:00
Michael Richardson
6b473301c5 tunslip6: removed commented out line printing IP address 2015-05-24 18:54:55 -04:00
Michael Richardson
ab2c110c70 tunslip6: show progres with -P argument 2015-05-24 18:54:49 -04:00
Michael Richardson
6232cc488c tunslip6: remove trailing whitespace 2015-05-24 18:54:38 -04:00
Fredrik Österlind
d1f976886f Merge pull request #1040 from atiselsts/cooja_multichannel
Improve multichannel support in Cooja
2015-05-19 08:59:06 +02:00
Moritz 'Morty' Strübe
e38bc3bdcd Revert binary: serialdump-linux 2015-05-18 15:30:05 +02:00
Moritz 'Morty' Strübe
d8639df64b Fix EINVAL handling and O_DIRECT 2015-05-18 15:24:18 +02:00
Moritz 'Morty' Strübe
c4f8f0acfb Add regression-test for tools 2015-05-17 12:26:08 +02:00
Simon Duquennoy
f45c6ad1b0 Merge pull request #1048 from cmorty/pull/serialdump
Fix and clean up serialdump.c
2015-05-15 20:12:58 +02:00
Fredrik Österlind
9261ff5d13 Merge pull request #979 from TheGeorge/drifting-motes
Time Drifting Motes
2015-05-13 11:21:34 +02:00
Moritz 'Morty' Strübe
23d6250584 Turn on optimization 2015-05-11 10:43:05 +02:00
Moritz 'Morty' Strübe
16f7c2448c Improve error message 2015-05-11 10:43:05 +02:00
Moritz 'Morty' Strübe
1e359d2324 Improve O_SYNC logic 2015-05-11 10:43:04 +02:00
Moritz 'Morty' Strübe
425c58e79d Set default speed to 115200 2015-05-11 10:43:04 +02:00
Moritz 'Morty' Strübe
d26afef966 Fix serialdump.c
_GNU_SOURCE is needed for O_DIRECT
time.h is needed for strftime
2015-05-11 10:43:04 +02:00
Moritz 'Morty' Strübe
016bcdb8a8 Fix indentation 2015-05-11 10:42:54 +02:00
Adam Dunkels
fb64e64ae2 Java code to let Cooja connect to a serial port 2015-05-10 10:51:12 +02:00
Timofei Istomin
eae25d622d Check the frame preamble and MPDU length before parsing
Due to errors in mspsim and/or radio drivers, packets of incorrect
length are sometimes transmitted. The length might be larger than
the 127-byte maximum (considered negative in the current code)
or not matching the actual number of transmitted bytes.
This leads to wrong packet delimiting when converting from
the mspsim-level stream of bytes to Cooja-level packets
causing unhandled exceptions that terminate the simulation.

This patch checks the frame preamble (0000007A) and the length field.
If they are wrong, no decoding attempt is done.

The transmitted bytes are still delivered to the receivers untouched.
The connection is terminated when the radio state is changed (which alway
s happens when TX is done).
2015-05-08 18:52:34 +02:00
Andreas Löscher
abe8e024ce fixed a bug where the scheduled time is not the executed one 2015-05-07 13:24:30 +02:00
Andreas Löscher
44c317ce1c Fix: the last execution time must be carried over when skipping 2015-05-07 13:24:30 +02:00
Andreas Löscher
2bd50bcbdc better implementation of the drifting 2015-05-07 13:24:30 +02:00
Andreas Löscher
21a22caf33 Added GUI and config file handling for Clock 2015-05-07 13:24:30 +02:00
Andreas Löscher
cb6759c0a9 Time deviation support for Mica Motes 2015-05-07 13:24:30 +02:00
Andreas Löscher
efbd170733 standart deviation is 1.0 2015-05-07 13:24:30 +02:00
Andreas Löscher
97da226255 time deviation for MSP based nodes 2015-05-07 13:24:30 +02:00
Andreas Löscher
1c4a6f701e No deviation support for Contiki motes 2015-05-07 13:24:30 +02:00
Andreas Löscher
d2ddafb1d2 typos 2015-05-07 13:24:30 +02:00
Andreas Löscher
ff4aee68bd Support in the mote clock interface for time deviation 2015-05-07 13:24:30 +02:00
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
Oliver Schmidt
a824722862 Merge remote-tracking branch 'upstream/master' 2015-04-26 14:35:40 +02:00
Oliver Schmidt
da536cb07c Removed superfluous AppleCommander parameters. 2015-02-21 17:16:08 +01:00
Andreas Löscher
a4206273a5 Fixed HC analyser for SAC and DAC fields 2015-02-16 13:58:36 +01:00
Jelmer Tiete
44d1a376ec Updated cc2538-bsl submodule to version 1.1 (d6711e2). Most important changes include support for Python3, fixed a bug that would make synch fail on first try, added support for DTR and RTS pins driving Bootloader_enable and Reset pins, versioning system, setting of secondary IEEE address, general clean-up. 2015-02-12 20:13:40 +01:00
Simon Duquennoy
a9cc909794 Network layer configuration: replace UIP_CONF_* with NETSTACK_CONF_WITH_* 2014-12-01 21:02:57 +01:00
Simon Duquennoy
722b3258d1 Cleanup of the Contiki network layer configuration. Now using CONTIKI_WITH_IPV6, CONTIKI_WITH_IPV4, and CONTIKI_WITH_RIME in makefiles, and UIP_CONF_IPV6, UIP_CONF_IPV4, UIP_CONF_RIME in c code. Now only the stacks that are used are compiled (via makefile MODULES). Make IPv6 the default network stack. 2014-12-01 20:13:09 +01:00
kkrentz
fb00a217f5 packetbuf: Use packetbuf_holds_broadcast() all-over 2014-11-13 09:58:08 -08: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
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
Jim Paris
21b78de088 Increase fixed filename sizes in SLIP tunnels
Long serial port names like
  /dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_DN0038W8-if00-port0
cause crashes.  This is the simplest fix to avoid the problem.
2014-07-08 01:48:28 -04:00
Adam Dunkels
def57199b9 Merge pull request #511 from ADVANSEE/leds
leds: Fixes and enhancements
2014-06-11 22:37:34 +02:00
Antonio Lignan
689c59cdf2 Added missing license file referenced in z1-bsl-* scripts 2014-05-15 16:02:57 +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
Nicolas Tsiftes
953312cbb7 Merge pull request #630 from blemmens/z1-bsl-far-memory-support
Added support to program Z1 far memory with BSL
2014-04-30 00:59:51 +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
Bart Lemmens
7b5ed1d1b0 Added support to program Z1 far memory with BSL 2014-04-11 14:51:08 +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
8e648bcece [cooja] apps/mrm: Adapted MRM visualizer skin to show adequate
information for multi-selections
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
Nicolas Tsiftes
0a229a260d Merge pull request #589 from g-oikonomou/nuke-indent
Nuke indent
2014-03-13 19:30:05 +01:00
Fredrik Österlind
69e16a4c79 Merge pull request #588 from ejoerns/pull-req/cooja-conf-doublesky
[Cooja/mspsim] Remove duplicate sky mote from cooja.config
2014-03-10 10:27:04 +01:00
George Oikonomou
7318f3fe3d Fix a typo 2014-03-08 23:25:08 +00:00
George Oikonomou
cbdd7f2f09 Remove GNU indent tools 2014-03-08 23:25:08 +00:00
Enrico Joerns
418c51a7d5 [cooja/mspsim] a single sky mote in cooja.config should be sufficient 2014-03-08 01:18:07 +01:00
Jelmer Tiete
8e69f65e1a Added the cc2538-bsl submodule to the tools dir 2014-03-07 15:44:29 +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
Adam Dunkels
45265249fc Changed the name of the rimeaddr module to linkaddr 2014-01-29 20:12:24 +01:00
Adam Dunkels
765e9acded Merge pull request #499 from adamdunkels/bold/modularize-everything
A bold move: modularize everything
2014-01-29 08:17:10 -08:00
Fredrik Österlind
f6c6ef9b54 Merge pull request #532 from darki2002/Plugin_sim
Stopped to load plugins depending on simulations if there is no simulation
2014-01-27 07:31:19 -08:00
Martin Heusse
9eabbe02ad Adds encoding attribute utf-8 arg to cooja compile command 2014-01-27 15:14:34 +01:00
Adam Dunkels
8eace27f9b Moved net/rime.h to net/rime/rime.h 2014-01-26 23:20:45 +01:00
Adam Dunkels
0fe08205e1 Moved the rimeaddr.[ch] code from the core/net/rime module to the core/net module, as it is used not only by rime code 2014-01-26 23:20:36 +01:00
Adam Dunkels
25367fb08c Moved the ds2411 driver into a dev/ds2411 module 2014-01-26 23:20:31 +01:00
Adam Dunkels
5f3fe7f7c7 Updated include paths for the moved files under net/ 2014-01-26 23:20:23 +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
Oliver Schmidt
510678bed0 Added mouse support for the Atari. 2014-01-20 22:51:40 +01:00
Oliver Schmidt
a24865de72 Add somewhat more support to use different mouse drivers.
- The default mouse driver is now always named 'contiki.mou'.
- Alternative mouse drivers are present in the disk images.
- Users can select their mouse driver by renaming the files.
2014-01-17 23:45:59 +01:00
Benoît Thébaudeau
7f48057b9e leds: Fix the API
The leds API did not work in some cases. E.g. with the following sequence:
  leds_off(LEDS_ALL);
  leds_toggle(LEDS_GREEN);
  leds_off(LEDS_ALL);
the green LED was remaining on after the last call.

This was caused by the toggle feature made synonymous with the invert feature,
although it is unrelated. leds_toggle() is indeed supposed to toggle an LED,
while leds_invert() is supposed to change the active level of an LED. However,
all users of leds_invert() actually meant leds_toggle(), and the invert feature
does not make sense in this module because it is not handy due to successive
calls to leds_invert() changing the intended behavior, and hardware active
levels should be managed in leds_arch_set() (e.g. by XORing the passed value
with a hardware-specific constant before setting the output levels of the pins).

Consequently, this change:
 - removes the leds_invert() function,
 - makes leds_toggle() behave as expected relatively to leds_off() / leds_on(),
 - sanitizes the code in the leds module.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2014-01-07 13:02:41 +01:00
Oliver Schmidt
3b2173e01f Have CBM DOS filetype of imported files match the one used by cc65.
CFS_WRITE implies O_TRUNC which is implemented on CBM DOS by deleting an
exsisting file. Hoewever this succeeds only if the CBM DOS filetype matches.

We need a working O_TRUNC in order to be able to overwrite the contiki.cfg
configuration file.

Note: Now it has be clarified why overwriting the configuration file started to
fail the CBM PFS (platform file system) can be activated for the recently added
ethconfig program.
2013-12-12 18:57:40 +01:00
Mariano Alvira
ab8fb6c396 Merge pull request #386 from chrta/stm32w_flasher_udev
In stm32w_flasher replaced hal-* calls with usage of pyudev.
2013-12-02 09:21:39 -08:00
Christian Taedcke
0de2e6dded In stm32w_flasher adapted error message for missing pyudev. 2013-11-28 16:49:43 +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
Fredrik Österlind
c99a76747c Merge pull request #469 from eberlin/cooja-tab-char
Fix: preserving blank characters (tabulator and space) in Cooja serial output
2013-11-27 00:45:39 -08:00
Nicolas Tsiftes
db4cada4e7 Merge pull request #462 from adamdunkels/push/no-reserved-double-inclusion-defines
Remove all leading double underscore inclusion #defines
2013-11-26 14:26:37 -08: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
Adam Dunkels
bb2dcaa057 A massive all-tree automated update of all double inclusion guard #defines that changes from using two underscores as a prefix, which are reserved, to not using two underscores as a prefix 2013-11-24 20:20:11 +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
Fredrik Österlind
fb84f65ba2 Merge pull request #447 from darki2002/unneeded_if
Cooja: deleted unneeded if in Visualizer.java
2013-11-22 01:53:21 -08:00
Oliver Schmidt
737d5fd6dc Replaced web configurator with target-based ethconfig. 2013-11-21 21:57:42 +01: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
Nicolas Tsiftes
263e212427 Merge pull request #431 from adamdunkels/push/ipv6-const
Make IP addresses const
2013-11-20 04:26:05 -08:00
Christian Taedcke
6a30e78390 In stm32w_flasher added check for pyudev and updated ubuntu package instructions. 2013-11-19 21:47:07 +01:00
Adam Dunkels
469884171a Added the const keyword to functions that use the tcpip_set_outputfunc(), which now takes a const argument 2013-11-18 23:26:37 +01:00