Git Product home page Git Product logo

cooja's Introduction

Logo

Contiki-NG: The OS for Next Generation IoT Devices

Github Actions Documentation Status license Latest release GitHub Release Date Last commit

Stack Overflow Tag Gitter Twitter

Contiki-NG is an open-source, cross-platform operating system for Next-Generation IoT devices. It focuses on dependable (secure and reliable) low-power communication and standard protocols, such as IPv6/6LoWPAN, 6TiSCH, RPL, and CoAP. Contiki-NG comes with extensive documentation, tutorials, a roadmap, release cycle, and well-defined development flow for smooth integration of community contributions.

Unless explicitly stated otherwise, Contiki-NG sources are distributed under the terms of the 3-clause BSD license. This license gives everyone the right to use and distribute the code, either in binary or source code format, as long as the copyright license is retained in the source code.

Contiki-NG started as a fork of the Contiki OS and retains some of its original features.

Find out more:

Engage with the community:

cooja's People

Contributors

adamdunkels avatar alexrayne avatar atiselsts avatar boeglin avatar cmorty avatar darconeous avatar darki2002 avatar dependabot[bot] avatar fros4943 avatar g-oikonomou avatar jdede avatar joakimeriksson avatar kkrentz avatar laurentderu avatar marek22k avatar martin-heusse avatar mattiasbuelens avatar mbradbury avatar nfi avatar nvt avatar pabigot avatar pignolet avatar pjonsson avatar remyleone avatar sdawans avatar simonduq avatar tim-ist avatar tsparber avatar yatch avatar zhitaoh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cooja's Issues

Automatically starting the simulation from command line

Hello.
Currently, when I run this command below, the cooja gui starts, the compilation is done but the simulation doesn't start.
java -jar ../../../tools/cooja/dist/cooja.jar -quickstart=simu_cooja_3_sensors.csc -contiki=../../..

Is there a possible option available to start the simulation directly?

Thanks a lot

Cooja motes in nogui: symbol not found

This does not cause a crash, but creates confusion in Travis simulation tests. Happens consistently, both on successful or failed tests. But when a simulation fails, the Cooja log is shown, making the error visible, and one can be led into thinking this is what caused the failure.

The error message is:

 INFO [main] (ContikiMoteType.java:404) - Creating core communicator between Java class Lib3 and Contiki library '/home/user/contiki-ng/tests/14-rpl-lite/code/obj_cooja/mtype178.cooja'
javac 1.7.0_79
org/contikios/cooja/corecomm/Lib3.java:40: error: cannot find symbol
public class Lib3 extends CoreComm {
                          ^
  symbol: class CoreComm
1 error

To reproduce, from contiki-ng branch develop:

$ cd tests/14-rpl-lite
$ make 01-rpl-up-route.testlog
$ cat 01-rpl-up-route.log

Move to gradle breaks tutorials

Tutorials all invoke cooja with ant. Can any instructions be provided to use gradle? What is needed, how is cooja started now?

Log output missing

We're using a modified version of Contiki-NG (based on 4.6) along with unmodified version of Cooja, commit 7a7fd5e from June 2021.

There are some big problems with the log output in Cooja. The amount seems to depend on the exact system used to run the simulation. On my PC, most of the nodes show expected logging output in "Mote output" window, except the gateway node, which has most of the logs missing. My colleague on his PC sees empty output from all nodes. It's not a fault of the C code I think, as the actual correct log output for some reason appears in the output of the Cooja console window! The logs do reach Cooja, but they are not reaching the Mote output plugin for some reason.

This bug is a strange one. I've been looking into this for a while, but I feel that I'm not expert enough in how Cooja works, perhaps you guys can help me.

Same thing happens when running without GUI. This is output in COOJA.log, when running a simulation with just the gateway node:

 INFO [main] (ScriptRunner.java:430) - Test script deactivated
 INFO [main] (LogScriptEngine.java:265) - Script timeout in 3600000 ms
 INFO [main] (ScriptRunner.java:387) - Test script activated
 INFO [Thread-2] (Simulation.java:253) - Simulation main loop started, system time: 1654171999186
(... some lines skipped ...)
[INFO: RPL       ] [INFO: Main      ] Tentative link-local IPv6 address: fe80::201:1:1:1[INFO: Main      ] [INFO: Main      ] - Routing: RPL Lite
[INFO: Main      ] - Net: sicslowpan
[INFO: Main      ] - MAC: TSCH
[INFO: Main      ] - 802.15.4 PANID: 0xff4e
[INFO: Main      ] - 802.15.4 TSCH default hopping sequence length: 128
[INFO: Main      ] Node ID: 1
(...further output skipped...)

This is output in COOJA.testlog:

Random seed: 123456
Starting COOJA logger
382000 1 Starting Gateway 
382000 1 }
382000 1 initializing
382000 1 Starting Contiki-NG-5.2.22.0601
382000 1 ...
382000 1  Node_Info will be here
382000 1 scanning on channel
382000 1 IPv6 addresses:
382000 1 created a new RPL DAG
392000 1 scanning over
392000 1 }
20051000 1 ...Sending multicast DIO
20724008 1 .........
26486120 1 ...
52489620 1 ......
60382000 1 nbr: end of list
60382000 1 No routing links
77176000 1 ...Sending multicast DIO
77578008 1 .........
78493120 1 ...
120382000 1 ...nbr: end of list
120382000 1 No routing links
130500120 1 ...
180382000 1 nbr: end of list
180382000 1 No routing links
208510620 1 ......
227370000 1 Sending multicast DIO
227835008 1 .........

Unrecognized file format with 6LoWPAN Analyzer with PCAP

Hi, I try to make simulation using cooja. This is my specification:

  1. I create one rpl-border-router using sky mote
  2. I create 3 hello-world sky mote

I try to running 6LoWPAN Analyzer with PCAP. Everything is working fine and I can see the information from the radio messages. But after I save the file to pcap, wireshark or tshark cannot read it.

I try to fix it with pcapfix but I don't know if it is the right fix or not.

sim3.zip
fixed_sim3.zip

Cooja can not be built with newer Java versions

The API used for configuration in Cooja (javax.xml.bind) was removed in Java 11 and is no longer available (see http://openjdk.java.net/jeps/320#Java-EE-modules for more information). We either need to bundle the API as a separate jar (jaxb-api) or change the Cooja configuration API to not depend on this API.

Bundle the API via a JAR file would be simplest but taking the opportunity to change to use a Cooja specific API would avoid this dependency, could simplify the configurations, and allow us to finally get rid of a lot of unchecked Java warnings. Changing the configuration API would however break backward compatibility with older Cooja plugins. If the latter would be ok, I can setup a PR with a proposal for a new configuration API in Cooja?

SIGSEGV since latest commits

Up until the previous merge commit everything was working fine. However, since yesterday trying to use Cooja with Contiki-NG results in a SIGSEGV upon trying to create any sort of mote type. (This literally happens every time)

   [java]  INFO [AWT-EventQueue-1] (Simulation.java:431) - Simulation random seed: 123456
   [java]  INFO [AWT-EventQueue-1] (CompileContiki.java:141) - > make clean TARGET=cooja 
   [java]  INFO [AWT-EventQueue-1] (CompileContiki.java:141) - > make twofaced-node.cooja TARGET=cooja 
   [java] #
   [java] # A fatal error has been detected by the Java Runtime Environment:
   [java] #
   [java] #  SIGSEGV (0xb) at pc=0xf72f9377, pid=68, tid=0xc25ffb40
   [java] #
   [java] # JRE version: OpenJDK Runtime Environment (8.0_275-b01) (build 1.8.0_275-8u275-b01-0ubuntu1~18.04-b01)
   [java] # Java VM: OpenJDK Server VM (25.275-b01 mixed mode linux-x86 )
   [java] # Problematic frame:
   [java] # V  [libjvm.so+0x5c8377]
   [java] #
   [java] # Core dump written. Default location: /home/user/contiki-ng/tools/cooja/build/core or core.68
   [java] #
   [java] # An error report file with more information is saved as:
   [java] # /home/user/contiki-ng/tools/cooja/build/hs_err_pid68.log
   [java] #
   [java] # If you would like to submit a bug report, please visit:
   [java] #   http://bugreport.java.com/bugreport/crash.jsp
   [java] #
   [java] Java Result: 134

Wrongly calcutated packet size in CoojaRadio

Hi all,

Recently, I have been experiencing a weird situation when a Cooja mote sends a packet to a z1 one.
Upon reception, the z1 mote was always measuring a RSSI of -100 dBm, even if the motes were close (using the UDGM radio medium).

I found out that z1 mote defined in apps/mspsim/src/org/contikios/cooja/mspmote/Z1Mote.java uses the Msp802154Radio radio type, which simulates the reception of a packet by delivering it byte by byte in the method setReceivedPacket.
However, before sending the bytes to the radio object, the packet received from a Cooja mote is converted using the class CC2420RadioPacketConverter, which adds 6 additional bytes of header (preamble + synch + length).

Now, if we take a look at the code for a new transmission in a java/org/contikios/cooja/contikimote/interfaces/CoojaRadio.java, we can see that 2 additional footer bytes (lines 373 & 374) are not taken into account in the size.

Hence, the variable size in CoojaRadio does not count 8 bytes received by the simulated mote. Since size is used to determine the time needed for a Cooja mote to sleep before advertising the end of a transmission, the transmission is announced as finished earlier.
When it happens, the RSSI is resetted to -100 dBm by the UDGM.updateSignalStrengths method, while the z1 mote's radio is still receiving 8 bytes, which is sufficient enough to have a falsy computed value by Msp802154Radio.setCurrentSignalStrength.

How can I get the Cooja sources code's log output?

Dear all,
I add 3 lines in the file [contiki-ng]/tools/cooja/apps/powertracker/java/PowerTracker.java to see the timing they call the radio.isTransmitting(), radio.isReceiving() and radio.isInterfered().

public MoteTracker(Mote mote) {
      this.simulation = mote.getSimulation();
      this.mote = mote;
      this.radio = mote.getInterfaces().getRadio();
      radioWasOn = radio.isRadioOn();
      if (radio.isTransmitting()) {
        lastRadioState = RadioState.TRANSMITTING;
        log("PowerTracker - Tx\n");//Add
      } else if (radio.isReceiving()) {
        lastRadioState = RadioState.RECEIVING;
        log("PowerTracker - Rx\n");//Add
      } else if (radio.isInterfered()) {
        lastRadioState = RadioState.INTERFERED;
        log("PowerTracker - INT\n");//Add
      } else {
        lastRadioState = RadioState.IDLE;
      }
      lastUpdateTime = simulation.getSimulationTime();
      radio.addObserver(this);
    }

How could I set the log level for Cooja source files, and where could I see the log outputs?

LoraWan simulation

I'd like to ask you if there is support for simulating LoraWan communication in Cooja. If no, how difficult is implementing such feature?

I guess it is necessary to code a new Radio interface and a new Mote emulator. Is that correct?

want to add 5G radio medium in cooja simulator

problem: i am working on gNodeB scheduler in 5G. so want to add new radio model in cooja simulator.
such as:
urban microcell street canyon: UMi - Street Canyon
urban macrocell: 3D-UMa
indoor factory: InF

kindly if someone provide guidance.

Clock drift for Cooja motes

Working with TSCH (and other syncronized protocols) it's neat to be able to simulate clock drift to test stability and syncing.

To be able to do so, I would like to be able to have Cooja mote's timers to get a drift factor, for instance -100ppm, or +30ppm, or so.

I'm not so much interrested in the tollerance when it comes to code execution since the Cooja mote is not really true to reality in that sense anyway - but for the timers (rtimer most specifically).

I don't have "Collect View" option/button in my Cooja Simulator

I am trying to display graphs and collect processing data from my simulation where I am using Contiki-ng/Cooja Simulator. However, I saw in the internet that all people having and using a "Collect View" option to display graph and collecting data of the transmitted packets/messages. Put I don't see it my Cooja tool window.

Further, I am creating a z1 motes.

screenshot for tool window 1 screenshot for tool window 2

I added the all files related to Collect View as I saw in others folders, but nothing changed.

Dose anyone had the same issue? and how to solve it?

Support for mobility

Now that Cooja runs using Gradle, some old plugins stopped working. I am using the mobility plugin which enables mobile nodes in Cooja. I currently manage to make it work, should this be included in the Cooja repo? I am happy to collaborate.

Link to Cooja network simulator is dead.

Hello together,

the link in contiki-ng/cooja/README.md seems dead:

deadLink

Tested with:
Mozilla Firefox: Version 60.4.0esr (64-Bit)
Google Chrome: Version 69.0.3497.100 (64-Bit)

Regards
skchande

ScriptRunner doesn't load

I'm using the latest master and try to run it with:

openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

When loading a simulation I get the following exception:

org.contikios.cooja.Cooja$PluginConstructionException: Construction error for tool of class: org.contikios.cooja.plugins.ScriptRunner
	at org.contikios.cooja.Cooja.startPlugin(Cooja.java:1878)
	at org.contikios.cooja.Cooja.tryStartPlugin(Cooja.java:1774)
	at org.contikios.cooja.Cooja.setPluginsConfigXML(Cooja.java:3689)
	at org.contikios.cooja.Cooja.loadSimulationConfig(Cooja.java:3443)
	at org.contikios.cooja.Cooja.loadSimulationConfig(Cooja.java:3363)
	at org.contikios.cooja.Cooja.doLoadConfig(Cooja.java:2410)
	at org.contikios.cooja.Cooja$4.run(Cooja.java:625)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at org.contikios.cooja.Cooja.startPlugin(Cooja.java:1858)
	... 7 more
Caused by: java.lang.ClassCastException: class javax.swing.text.AbstractDocument$DefaultDocumentEventUndoableWrapper cannot be cast to class javax.swing.text.AbstractDocument$DefaultDocumentEvent (javax.swing.text.AbstractDocument$DefaultDocumentEventUndoableWrapper and javax.swing.text.AbstractDocument$DefaultDocumentEvent are in module java.desktop of loader 'bootstrap')
	at jsyntaxpane.CompoundUndoMan.undoableEditHappened(CompoundUndoMan.java:63)
	at java.desktop/javax.swing.text.AbstractDocument.fireUndoableEditUpdate(AbstractDocument.java:293)
	at java.desktop/javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:761)
	at java.desktop/javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:716)
	at java.desktop/javax.swing.text.PlainDocument.insertString(PlainDocument.java:131)
	at java.desktop/javax.swing.text.DefaultEditorKit.read(DefaultEditorKit.java:274)
	at java.desktop/javax.swing.JEditorPane.setText(JEditorPane.java:1428)
	at org.contikios.cooja.plugins.ScriptRunner.updateScript(ScriptRunner.java:619)
	at org.contikios.cooja.plugins.ScriptRunner.<init>(ScriptRunner.java:276)
	... 12 more

After that the simulation works as expected (except my script obviously isn't running).

I tried to run with java8 first, but then cooja hangs when loading a simulation.

I guess the classes have been loaded by two different class-loaders, but that's about all I remember about java. What more can I do to debug or fix this?

Cooja Simulation Loading/Saving Incorrect Mote Types

Something has changed between:

Commit: ebcecdc (working)
and
Commit: 2cf0e68 (not working),

making Cooja Simulation loading/saving incorrect mote types.

Steps to reproduce:

  1. Run Cooja Simulator
  2. Create new simulation
  3. Create Sky mote - RPL-UDP server
  4. Create Sky mote - RPL-UDP client
  5. Save the simulation, and immediately re-open it

Commit: ebcecdc will show server and client mote types correctly, while the other commit will show server mote types for both.

Accurate clock drift simulation in Cooja

This paper identifies the problem with clock drift simulation in Cooja and proposes a fixed version of the algorithm: https://dl.acm.org/citation.cfm?id=3355911

It's a big 👍 from me. The problems with clock drift simulation have bothered me since I first tested this feature. I would be great to fix that (and possible extend to renode, as the author's say).

Something to discuss in a Contiki-NG maintainers' meeting...

Blackhole and Rank attacks

Hello every one.
i am trying to implement blackhole and Rank attacks can you help in the code in cooja simulator.

Can't create new motes

Whenever I reload a simulation i am not avle to create any more motes. A new simulation has no problems till i reload.
I am working on a Linux Mint 18.3
Java: openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.16.04.1-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)

Stacktrace:
[java] FATAL [AWT-EventQueue-0] (Cooja.java:2183) - Exception when creating mote type
[java] org.contikios.cooja.MoteType$MoteTypeCreationException: No identifier
[java] at org.contikios.cooja.mspmote.SkyMoteType.configureAndInit(SkyMoteType.java:135)
[java] at org.contikios.cooja.Cooja.doCreateMoteType(Cooja.java:2178)
[java] at org.contikios.cooja.Cooja.doCreateMoteType(Cooja.java:2157)
[java] at org.contikios.cooja.Cooja$GUIEventHandler.actionPerformed(Cooja.java:2938)
[java] at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
[java] at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
[java] at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
[java] at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
[java] at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
[java] at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:842)
[java] at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:886)
[java] at java.awt.Component.processMouseEvent(Component.java:6533)
[java] at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
[java] at java.awt.Component.processEvent(Component.java:6298)
[java] at java.awt.Container.processEvent(Container.java:2238)
[java] at java.awt.Component.dispatchEventImpl(Component.java:4889)
[java] at java.awt.Container.dispatchEventImpl(Container.java:2296)
[java] at java.awt.Component.dispatchEvent(Component.java:4711)
[java] at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4897)
[java] at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4534)
[java] at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4475)
[java] at java.awt.Container.dispatchEventImpl(Container.java:2282)
[java] at java.awt.Window.dispatchEventImpl(Window.java:2746)
[java] at java.awt.Component.dispatchEvent(Component.java:4711)
[java] at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
[java] at java.awt.EventQueue.access$500(EventQueue.java:97)
[java] at java.awt.EventQueue$3.run(EventQueue.java:709)
[java] at java.awt.EventQueue$3.run(EventQueue.java:703)
[java] at java.security.AccessController.doPrivileged(Native Method)
[java] at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
[java] at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
[java] at java.awt.EventQueue$4.run(EventQueue.java:733)
[java] at java.awt.EventQueue$4.run(EventQueue.java:731)
[java] at java.security.AccessController.doPrivileged(Native Method)
[java] at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
[java] at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
[java] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
[java] at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
[java] at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Failed to run Cooja

Hello, I am trying to run Cooja for the first time, but I keep seeing this error. However, I installed and configured everything as it's in the original documentation. Could you please help me in this? Thank you.


fatimaalnuaimi@fan:~/contiki-ng/tools/cooja$ ./gradlew run
Path for java installation '/usr/lib/jvm/openjdk-11' (Common Linux Locations) does not contain a java executable

FAILURE: Build failed with an exception.

* Where:
Build file '/home/fatimaalnuaimi/contiki-ng/tools/cooja/build.gradle' line: 87

* What went wrong:
A problem occurred evaluating root project 'cooja'.
> Could not create task ':copyDependencies'.
   > Failed to calculate the value of task ':compileJava' property 'javaCompiler'.
      > No matching toolchains found for requested specification: {languageVersion=17, vendor=any, implementation=vendor-specific}.
         > No locally installed toolchains match (see https://docs.gradle.org/8.1.1/userguide/toolchains.html#sec:auto_detection) and toolchain download repositories have not been configured (see https://docs.gradle.org/8.1.1/userguide/toolchains.html#sub:download_repositories).

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 405ms

contiki-ng simulation tests will fail with latest Cooja version

Contiki-NG simulation tests will fail with the latest version of Cooja, both locally as well as on travis.

To reproduce: In Contiki-NG, update the Cooja submodule to the latest version and then from the top-level dir run make -C tests/07-simulation-base/.

==== 01-hello-world-sky.1.coojalog ====
 INFO [main] (Cooja.java:1317) - > Starting Cooja
 INFO [main] (Cooja.java:2858) - External tools default settings: /external_tools_linux.config
 INFO [main] (Cooja.java:2888) - External tools user settings: /home/user/.cooja.user.properties
 WARN [main] (Cooja.java:4263) - Replaced [APPS_DIR]/mrm with /home/user/contiki-ng/tests/apps/mrm (default: ../apps), but could not find it. This does not have to be an error, as the file might be created later.
 WARN [main] (ProjectConfig.java:240) - Trying to import non-existant project configuration: /home/user/contiki-ng/tests/apps/mrm/cooja.config
 WARN [main] (Cooja.java:4263) - Replaced [APPS_DIR]/mspsim with /home/user/contiki-ng/tests/apps/mspsim (default: ../apps), but could not find it. This does not have to be an error, as the file might be created later.
 WARN [main] (ProjectConfig.java:240) - Trying to import non-existant project configuration: /home/user/contiki-ng/tests/apps/mspsim/cooja.config
 WARN [main] (Cooja.java:4263) - Replaced [APPS_DIR]/avrora with /home/user/contiki-ng/tests/apps/avrora (default: ../apps), but could not find it. This does not have to be an error, as the file might be created later.
 WARN [main] (ProjectConfig.java:240) - Trying to import non-existant project configuration: /home/user/contiki-ng/tests/apps/avrora/cooja.config
 WARN [main] (Cooja.java:4263) - Replaced [APPS_DIR]/serial_socket with /home/user/contiki-ng/tests/apps/serial_socket (default: ../apps), but could not find it. This does not have to be an error, as the file might be created later.
 WARN [main] (ProjectConfig.java:240) - Trying to import non-existant project configuration: /home/user/contiki-ng/tests/apps/serial_socket/cooja.config
 WARN [main] (Cooja.java:4263) - Replaced [APPS_DIR]/powertracker with /home/user/contiki-ng/tests/apps/powertracker (default: ../apps), but could not find it. This does not have to be an error, as the file might be created later.
 WARN [main] (ProjectConfig.java:240) - Trying to import non-existant project configuration: /home/user/contiki-ng/tests/apps/powertracker/cooja.config
FATAL [main] (Cooja.java:438) - Error when loading extensions: Error when loading extension: Project directory does not exist: /home/user/contiki-ng/tests/apps/mrm
org.contikios.cooja.Cooja$ParseProjectsException: Error when loading extension: Project directory does not exist: /home/user/contiki-ng/tests/apps/mrm
	at org.contikios.cooja.Cooja.reparseProjectConfig(Cooja.java:1530)
	at org.contikios.cooja.Cooja.<init>(Cooja.java:436)
	at org.contikios.cooja.Cooja.quickStartSimulationConfig(Cooja.java:1322)
	at org.contikios.cooja.Cooja.main(Cooja.java:3241)
Caused by: java.io.FileNotFoundException: Project directory does not exist: /home/user/contiki-ng/tests/apps/mrm
	at org.contikios.cooja.ProjectConfig.appendProjectDir(ProjectConfig.java:142)
	at org.contikios.cooja.Cooja.reparseProjectConfig(Cooja.java:1527)
	... 3 more

Basically Cooja tries to use the wrong directory for mspsim and other apps. For example [APPS_DIR]/mspsim becomes /home/user/contiki-ng/tests/apps/mspsim which is clearly wrong.

This has been caused by #13

And this is an example failed test on travis

"Mote output" filter is slowpoke

When simulating long time, "Mote output" contents is huge.
If assigned some Filter (for example A|B|C) , simulation comes slowpoke on incoming debug messages

Remove Avrora

Should we remove Avrora from the next versions of Cooja?
This was discussed in the last week's meeting and if I remember correctly there were no objections.

Cooja crashing all the time

I am simulating a network with one root, sometimes 2 and several nodes, it uses TSCH and RPL, most of the times whenever I pause and unpaused the simulation, cooja crashes and always the say message:
Task :run FAILED

FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':run'.
Process 'command '/home/user/.gradle/jdks/adoptium-17-x64-hotspot-linux/jdk-17.0.5+8/bin/java'' finished with non-zero exit value 134

I have more than 50 error report files, one from each crash, I tried finding solution online but couldn't find something useful.
I am not using it in dockers, and I run cooja using ./gradlew run

Problem with cooja build

When, I do ./gradlew run. I have build failed.
A problem occured evaluating root project 'cooja' failed to calculate the value of task ': compilejava' property 'javacompiler'
Do you have any idea on the origin of the issue?

LogisticLoss: increasing path loss exponent improves radio performance

I'm using the LogisticLoss radio medium and it looks like the radio performance improves when I increase the path_loss_exponent in the .csc file.
I would expect the radio performance to decrease based on https://en.wikipedia.org/wiki/Path_loss#Loss_exponent.
Am I missing something?

To reproduce:
When I use the default value, 3, and click mote 1 the radio environment value on mote 2 varies a lot e.g. 18.5% or 90.2%.
When I use the value 5, and click mote 1 the radio environment value on mote 2 is almost always 99.x%.
I used this simulation (used with contiki-ng in path tests/14-rpl-lite)
11-rpl-logisticloss.zip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.