nfi on develop
Fix broken links in the documen… Merge pull request #2391 from n… (compare)
nfi on develop
Rearranged the tutorial order s… Merge pull request #2392 from n… (compare)
Thinking aloud to open a discussion regarding metrics (PDR):
I have been researching TSCH scheduling and realized that PDR might hide network issues; for example, disconnections may occur in TSCH networks, and after a while the queue is full, and the S.O. notifies the app that it cannot generate data (at least until the link is restored). Disconnections may happen due to failure in node synchronization(IEEE Std 802.15.4 - Section 6.5.4.2). But, the PDR calculus is only performed over the generated and sent data. IMHO, PDR is an excellent measure to assess links, paths, etc. But, it could hide some TSCH issues as MAC disconnections. That's why I relate the PDR with the Expected Generated Packages: Simulation Time, Warmup time and the nodes sending interval (All nodes except root generates).
I don't know if I have explained my point clearly or if my reasoning is correct, but I think it is interesting.
Hi, I have a doubt regarding Cooja's way of running, and I would like some advice...
I have three scenarios and need to perform several runs changing a few parameters (It's working Ok), but after the Gradle adoption, I changed my code to use it.
#https://github.com/ivanilsonjunior/pythonLogParser/blob/4249d9ac554e3f9b3e71fbf495f2099ee791efa8/Runner.py#L58
args = " ".join([self.COOJA_PATH + "/gradlew --no-watch-fs --parallel --build-cache -p", self.COOJA_PATH, "run --args='-nogui=" + filename, "-contiki=" + self.CONTIKI_PATH, "-logdir=" + self.SELF_PATH, "-logname=COOJA.log" + "'"])
Is there some performance gain if I use the old way, cooja.jar (grade fulljar) file, instead of the Gradle?
Best regards.
I am back using contiki-ng after about a year away. I have built binaries for cc1352r1 Launchpads before and the command
make TARGET=simplelink BOARD=launchpad/cc1352r1
would produce a hex file and a bin file. Now this command produces an elf file only. I am trying to use TI's Uniflash tool to push firmware to my device but it seems it does not recognize an elf file. Can anyone help me create a .bin file from the sources. My Makefile is very stripped down:
CONTIKI_PROJECT = blink
all: $(CONTIKI_PROJECT)
CONTIKI = ../..
include $(CONTIKI)/Makefile.include
But it used to work when last I tried. Fresh docker pull of contiki-ng. Using docker desktop 4.14.1 on a Mac.
What is the correct way to add a new source directory? I am trying to add the path to PROJECT_SOURCEFILES
like so:
PROJECT_SOURCEFILES += dir/file.c
But when I try to compile I get an error because it is not generating a dependency file.
fatal error: opening dependency file build/cooja/obj/.deps/dir/file.d: No such file or directory
I am trying out the Cooja: Simulating a border router:
https://docs.contiki-ng.org/en/develop/doc/tutorials/Cooja-simulating-a-border-router.html
I can run this inside of a docker setup but I want to run inside of ubuntu in order to run the ping6 command to nodes in the cooja network from an ubuntu shell and NOT a docker shell.
I can start cooja from the ubuntu VM after doing the toolchain installation described here:
https://docs.contiki-ng.org/en/develop/doc/getting-started/Toolchain-installation-on-Linux.html
The serial socket window seems to be running and I started the simulation.
The Simulating a border router instructions say to:
make TARGET=zoul connect-router-cooja
This begins OK but then I get the error:
make TARGET=zoul connect-router-cooja
sudo ../../tools/serial-io/tunslip6 -a 127.0.0.1 fd00::1/64
../../tools/serial-io/tunslip6: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ../../tools/serial-io/tunslip6)
make: *** [../../os/services/rpl-border-router/embedded/Makefile.embedded:13: connect-router-cooja] Error 1
Is there a step to take to overcome this error?
`make TARGET=zoul
command and then it worked! I think the file I removed had been created when I was doing things in the docker container prior to my ubuntu tools installation.
I'm trying to read the temperature and humidity value from dht11 sensor with cc2650 launchxl using this contiki code
contiki-ng/examples/dev/dht11/dht11.c
contiki-ng/dht11.c at develop · contiki-ng/contiki-ng (github.com)
I figure i have to change the pin to fit my cc2650 IOID, but still my board can't read the sensor (output timed out). I'm wondering if i'm using the wrong IOID pin, or i'm doing something wrong with my code format, please, be kindly take a look of the code i have change below, it'd mean the world to me if you can help me solve this problem
/------------I add this line----------/
/---------------------------------------------------------------------------/
PROCESS(dht11_process, "DHT 11 process");
AUTOSTART_PROCESSES(&dht11_process);
/---------------------------------------------------------------------------/
/------------I add this line----------/
PROCESS_THREAD(dht11_process, ev, data)
{
static struct etimer timer;
PROCESS_BEGIN();
dht11_sensor.configure(DHT11_CONFIGURE_GPIO_PORT, DHT11_GPIO_PORT);
/dht11_sensor.configure(DHT11_CONFIGURE_GPIO_PIN, DHT11_GPIO_PIN);/
/code i change/
dht11_sensor.configure(DHT11_CONFIGURE_GPIO_PIN, IOID_23);
dht11_sensor.configure(SENSORS_HW_INIT, 0);
/ Wait one second for the DHT11 sensor to be ready /
etimer_set(&timer, CLOCK_SECOND * 1);
/ Wait for the periodic timer to expire /
PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&timer));
/ Setup a periodic timer that expires after 5 seconds. /
etimer_set(&timer, CLOCK_SECOND 5);
while(1) {
/
printf("%ld ", clock_time());
switch(dht11_sensor.status(0)) {
case DHT11_STATUS_OKAY:
printf("Humidity %d.%d %% ",
dht11_sensor.value(DHT11_VALUE_HUMIDITY_INTEGER),
dht11_sensor.value(DHT11_VALUE_HUMIDITY_DECIMAL));
printf("Temperature = %d.%d *C\n",
dht11_sensor.value(DHT11_VALUE_TEMPERATURE_INTEGER),
dht11_sensor.value(DHT11_VALUE_TEMPERATURE_DECIMAL));
break;
case DHT11_STATUS_CHECKSUM_FAILED:
printf("Check sum failed\n");
break;
case DHT11_STATUS_TIMEOUT:
printf("Reading timed out\n");
break;
default:
break;
}
/ Wait for the periodic timer to expire and then restart the timer. /
PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&timer));
etimer_reset(&timer);
}
PROCESS_END();
}