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
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
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
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
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
d1c05300a9
[cooja] memory: AvrMoteMemory and MspMoteMemory dummy implementation of MemoryInterface
2014-07-31 16:30:05 +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
cef3c4079d
[cooja] Reformatted Visualizer and skins code
2014-04-11 09:23:28 +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
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
Enrico Joerns
418c51a7d5
[cooja/mspsim] a single sky mote in cooja.config should be sufficient
2014-03-08 01:18:07 +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
Moritz 'Morty' Strübe
d05b03108a
Decent error if mspsim cant be built
2013-11-14 18:14:03 +01:00
Adam Dunkels
71eea754d6
Added mspsim as a submodule instead of as a binary mspsim.jar file
2013-11-07 17:28:50 +01:00
Moritz 'Morty' Strübe
2b5f3bc6bd
Add MSPSim Logging
2013-08-20 10:43:32 +02:00
Fredrik Osterlind
96968cb35e
bugfix: only write to infomem if empty
2013-08-16 15:02:08 +02:00
Fredrik Osterlind
7c125ced9a
a set of new cooja-mspsim mote types
2013-08-16 12:02:16 +02:00
Fredrik Osterlind
92655159c8
added a set of new mspsim-based mote types using CC1120, CC1101 and the Enc28j60 ethernet chip
...
minor changes: removed some obsolete stack monitoring code, improved mspsim-cooja window handler
integration
2013-08-15 11:46:29 +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