Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
  • 11:30
    g-oikonomou commented #1060
  • 11:16

    atiselsts on develop

    Replace memcpy in tcp-socket Merge pull request #1062 from a… (compare)

  • 11:16
    atiselsts closed #1062
  • 11:16
    atiselsts closed #1061
  • Sep 14 20:59
    alexandruioanp synchronize #1060
  • Sep 14 19:39
    alexandruioanp commented #1060
  • Sep 14 19:38
    alexandruioanp synchronize #1060
  • Sep 14 19:19
    g-oikonomou review_requested #1062
  • Sep 14 19:16
    alexandruioanp opened #1062
  • Sep 14 15:43
    g-oikonomou reopened #724
  • Sep 14 15:43
    g-oikonomou commented #724
  • Sep 13 19:27
    alexandruioanp review_requested #1060
  • Sep 13 10:30
    g-oikonomou commented #1020
  • Sep 12 22:12
    alexandruioanp commented #1061
  • Sep 12 14:40
    atiselsts commented #1061
  • Sep 10 22:08
    alexandruioanp commented #1060
  • Sep 10 22:06
    alexandruioanp synchronize #1060
  • Sep 10 20:46
    alexandruioanp commented #1061
  • Sep 10 20:11
    g-oikonomou commented #1061
  • Sep 10 20:10
    g-oikonomou labeled #1061
Edvard Pettersen
You guys need to take a look at how the cc26x0-cc13x0 platform implements polling mode for prop-mode and ieee-mode
if you are planning on implementing TSCH support
Vijay Kumar
@Yagoor o/ Hope you are doing well. I believe someone has already implemented snmp (lite -version of it) Maybe have a look at 6PanView
Ahmed Ibrahim


I'm building CC26xx-web-demo on CC1350 Launchpad. I want to add OPT3001 I2C sensor (just as the sensortag).

  • First:
    What is the easiest way to achieve this task without re-inventing I2C and sensors drivers? I tried:

    • Copy/paste the board-i2c.h/c and sensor-common.c\h files from \arch\platform\cc26x0-cc13x0\sensortag to \arch\platform\cc26x0-cc13x0\launchpad
    • In Makefile.launchpad under cc26x0-cc13x0\launchpad: I added:
      BOARD_SOURCEFILES += sensor-common.c
      BOARD_SOURCEFILES += opt-3001-sensor.c
      BOARD_SOURCEFILES += board.c board-i2c.c
    • In board.c under cc26x0-cc13x0\launchpad, I added:
      / Includes /

      include "lib/sensors.h"

      include "board-i2c.h"

      / shutdown_handler /
      static void shutdown_handler(uint8_t mode) {
      if(mode == LPM_MODE_SHUTDOWN) {



      / In all cases, stop the I2C /
      LPM_MODULE(launchpad_module, NULL, shutdown_handler, wakeup_handler, LPM_DOMAIN_NONE);

      / Add a call to board_i2c_wakeup() in board_init() /

    • In cc26x0-cc13x0\launchpad\board_peripherals.h I included the header file for the sensors:

      include "opt-3001-sensor.h"

The previous section by itself causes the following errors in sensors.c:

  • undefined reference to 'sensors_flags'
  • undefined reference to 'sensors'
  • Second:
    In cc26xx-web-demo.c file, I copied the OPT3001 functions and definitions from inside the #if BOARD_SENSORTAG macro to outside it, so I have added:
    • struct ctimer opt_timer;
    • static void init_light_reading(void *data);
    • static void compare_and_update(cc26xx_web_demo_sensor_reading_t *reading)
    • static void get_light_reading()
    • call for init_light_reading(NULL); in static void init_sensor_readings(void)
    • call for list_add(sensor_list, &opt_reading); in static void init_sensors(void)
    • call for get_light_reading() in PROCESS_THREAD(cc26xx_web_demo_process, ev, data)

The previous section causes the following errors in cc26xx-web-demo.c:

  • undefined reference to 'opt_3001_sensor'

Could you please help with these errors? is there any other files I should include in the main app to sort out these references?

Yago Fontoura do Rosário
@bitvijays. Thank you for the reference. I found several lite implementations of SNMP. I'll try to get the best of all of them, and most importantly document my implementation better. All these implementations are very messy. :/
Mikael Rinne


I'd like to observe more of what happens on the interface towards the radio on a TI chip with contiki-ng ontop of it.
It looks as if I can get info out of files under arch/platform but not under arch/cpu.

We use .../examples/6tisch/simple-node with 2 instances, one marked as coordinator and one is not. It goes alright to connect them to each other, ip-nbr, ping etc implies that connection is up.
But We'd like to checkout RF_cmds and there is where I get problems.

In file arch/cpu/simplelink-cc13xx-cc26xx/rf/sched.c we've updated according to the following:

  • LOGPRINT("lmfmiri netstack_open \n");
    This shows no result.

Whilst in file arch/platform/cc26x0-cc13x0/platform.c with relevant(?) code:

define LOG_MODULE "CC26xx/CC13xx"



  • LOGPRINT("lmfmiri: set_rf_params\n");
    Logs shows up beautifully


Mikael, Wittra

Hi @mikael-rinne, I would like to ask you, which TI chip are you using ? did you made any change to the code source to run the simple-node example ? Because I am trying to run it in the simplelink cc2652r launchpad and when I set one board as the coordinator, the program just crash. Thank you so much
@FabianVija Simplelink platform will crash with TSCH. As I noted here contiki-ng/contiki-ng#977 It's basically blocking radio command call is used inside of interrupt handler.
George Oikonomou
Feels as though we need to change the simplelink build system to throw an error + explanatory note when someone tries to build with TSCH
Mikael Rinne
@FabianVija, looks like you got your answer. FYI I use the cc1352 launchpad.
Mikael Rinne
@g-oikonomou: We plan to reconfig 6tisch slotframe to create a bigger time and frequency gap. In this gap we plan to do pings for a certain application. We use cmds such as RF_runCmd which I thought would be from simplelink (or earlier TIRTOS). Doesn't TSCH use these primitives to work with radio? Do we have a problem here? Will RF_runCmd be placed outside the ISR (providing it rectifies the problem)?
Frode Eskelund
Is multicast for CoAP supported in Contiki-NG? For instance RFC7390 ?
Michael Baddeley
Does anyone have an inkling as to why icmp RA packets are received as unknown when I turn off RPL and put it on NULLROUTING?
00:34.085    ID:1    [INFO: TCP/IP    ] input: received 80 bytes
00:34.085    ID:1    [INFO: IPv6      ] packet received from 6L-0008 to 6M-0001
00:34.085    ID:1    [INFO: IPv6      ] icmpv6 input length 80 type: 134 
00:34.085    ID:1    [DBG : IPv6      ] Upper layer checksum len: 40 from: 40
00:34.085    ID:1    [ERR : IPv6      ] Unknown ICMPv6 message type/code 134
Michael Baddeley
Ahhh because my nodes are routers
hi, I have a question for deleting links. I did a simulation for 6TiSCH + 6TOP by cooja, in the scenario, there are only two nodes, one coordinator, one normal node.I found out the coordinator wont delete the link itself when the node is out of communication range when I move around the node,. repeating what I mentioned above, after a while, coordinator wont have any available link for node when receiving adding SIXP_PKT_TYPE_REQUEST. Do I miss some config setting or some other thing to enable coordinator automatically deletes links ? thanks
Manoj Kumar
is possible to convert the IPV6 address to IEEE Address in root Node? I want to know the IEEE Address of the Node which request sends data to root node via UDP connection.
@manoj6932 can you ask the question a different way? are you trying to send something to the root. Is that correct?
Matias Siracusa
Hi all! I want to serve several CoAP resources and at the same time get the nodes to go to sleep to preserve energy. I saw there is already a very-sleepy-demo that covers this case. As I understand, in this demo no further network maintenance is possible after the node successfully joins a network. What do you think would be the best way to adapt this example so that new nodes can join the network while also going to sleep?
Hello everybody! I am developing a network with the ti CC1310. Since I need to overcome great distances I would like to use the long range mode (lrn). Although I found some related files in the rf-core folder I am uncertain how to get it to work. Is the lrm already supported and how can I turn it on? Cheers!
hi guys i am new
and i am new in contiki
any one can help me?
i want to know how to lunch version number attack?
Mike Forster
I am having difficulty getting the hello-world example running with TSCH on CC1310 Launchpads. Having set one to be the tsch coordinator with 'tsch-set-coordinator 1' it starts sending DODAG Information Solicitation messages but the other node is looking for Enhanced Beacons and so is not joining the network.
Any idea what I am doing wrong?

I am trying to perform Over The Air Download on simplelink LAUNCHXL-CC1352R1 using contiki-ng
If it supports OAD then is it possible to do multi broadcasting OAD?

How am I suppose to start with OAD and multi broadcasting OAD using contiki-ng ? (Documentation and Link)

Rajeev Piyare

Hello developers,
I am trying to carry out some power benchmarking for the CC1310 radio chip using energest module in Contiki-NG as follows:

 avg_current_cons = ((delta_tx * current_radio_tx) + (delta_rx * current_radio_rx) + 
(delta_cpu * current_cpu) + (delta_lpm * current_lpm) + 
(delta_deep_lpm * current_deep_lpm))/ (RTIMER_ARCH_SECOND * (delta_time/ENERGEST_SECOND));

where current_xx are the respective values of the CC1310 current consumption (uA) in different states.
I would like to know if the computation of the current is correct w.r.t the conversion of the overall time



I can't build cc26xx web-demo code for LAUNCHXL-CC1352R1 in Contiki-ng.
please tell me which types of changes are needed for CC1352R1 ?
Carlo Vallati
Hello, anyone working on one of the BLE support for any of the platform?
Hello ..Please I need a help ...
" Using Contiki OS and COOJA Simulator "
How can we drop packets received from a neighbor node that exceeds a specific pre-defined threshold (for example, when a node is attacked by a Flooding attack ) ?
Any one have source code ? please I need a help , Thank you all
Rajeev Piyare
@rajeev1986 The Contiki energest issue has now been solved and the calculation is correct. Though to update the community on this. Thanks
Mike Forster
Should Cooja work with the current button API? My code compiles ok but the Java linker fails with "undefined symbol : button_hal_button_count"
Hello, I have one doubt regarding RPL. If we have two root nodes in our network, then two DAGS will be formed. I noticed that two root nodes do not join each other DAGs while non root nodes join both DAGs. Is there any way to discover and communicate between two root nodes?

I'm experiencing issues running the tests/00-documentation inside a docker container on a Windows host:
docker run --privileged --mount type=bind,source=C:\repos\contiki-ng,destination=/home/user/contiki-ng -it contiker/contiki-ng bash -c "make -C tests/??-documentation"

make: Entering directory '/home/user/contiki-ng/tests/00-documentation'
make[1]: Entering directory '/home/user/contiki-ng/tools/doxygen'

Cleaning Documentation
make[1]: Leaving directory '/home/user/contiki-ng/tools/doxygen'
make[1]: Entering directory '/home/user/contiki-ng/tools/readthedocs'
rm -rf _build
make[1]: Leaving directory '/home/user/contiki-ng/tools/readthedocs'
Makefile:45: recipe for target 'doxygen' failed
make: [doxygen] Error 2 (ignored)
Doxygen: TEST FAIL
error: file Doxyfile' not found QDir::currentDirPath: stat(".") failed QDir::currentDirPath: stat(".") failed QDir::currentDirPath: stat(".") failed QDir::currentDirPath: stat(".") failed QDir::currentDirPath: stat(".") failed error: Failed to open temporary file /doxygen_objdb_1947.tmp make[1]: *** [html] Error 1 Readthedocs: TEST FAIL Errors: error: fileDoxyfile' not found
QDir::currentDirPath: stat(".") failed
QDir::currentDirPath: stat(".") failed
QDir::currentDirPath: stat(".") failed
QDir::currentDirPath: stat(".") failed
QDir::currentDirPath: stat(".") failed
error: Failed to open temporary file /doxygen_objdb_3243.tmp
make[2]: * [html] Error 1
mv: cannot stat '../doxygen/html': No such file or directory
========== Summary ==========
Doxygen: TEST FAIL
Readthedocs: TEST FAIL
make: Leaving directory '/home/user/contiki-ng/tests/00-documentation'

If I move the repo to a different path e.g. C:\repos2\contiki-ng it works fine, but the same errors occur again if I restart Docker.
Other tests does not have the same issues.
Does anyony have any ideas of what might be going on?

I'm looking for Contiki-NG developer(s) for several embedded projects, preferably located on the Gold Coast, Australia. If you're interested please contact me.
George Oikonomou
@mike-forster Can you please fire up an issue about that one? We'll need to look into this more closely, I don't have an immediate answer for you but having an issue will help make sure this doesn't fall through the cracks
RPL provides optimal paths in a mesh. So the mesh has intrinsic backup if a node fails. What if a gateway fails. Will a mesh support more than one gateway? I suspect the answer is no if the RPL tables are held in the root node/gateway. If so so there any mechanism to provide a redundant gateway?

Hello, everyone. I had this problem when I was doing some experiments.There's a BR and a leaf node. Leaf node has been
link to BR.
[INFO: RPL ] nbr: end of list
[INFO: RPL ] links: 2 routing links in total (Periodic)
[INFO: RPL ] links: fd00::212:4b00:17ae:ee14 (DODAG root) (lifetime: infinite)
[INFO: RPL ] links: fd00::212:4b00:1c7a:65c0 to fd00::212:4b00:17ae:ee14 (lifetime: 120 seconds)
And then the leaf node will sends UDP information to BR at regular intervals through

if(NETSTACK_ROUTING.node_is_reachable() && NETSTACK_ROUTING.get_root_ipaddr(&dest_ipaddr)) {

I put BR power off, until the leaf node know it was dropped and leave the network, I put BR power on again, let the leaf node reconnect.
And I found the leaf node didn't send udp message cause in 'simple_udp_sendto' function, the udp_conn is NULL.

simple_udp_sendto(struct simple_udp_connection *c,
                  const void *data, uint16_t datalen,
                  const uip_ipaddr_t *to)
  if(c->udp_conn != NULL) {
    uip_udp_packet_sendto(c->udp_conn, data, datalen,
                          to, UIP_HTONS(c->remote_port));
  return 0;

Could you tell me the reason and how to fix it?

Bavya Balakrishnan
Hi Everyone, I am new to Cooja simulator .Anyone has any idea on how to create connected covers for sensor nodes in the simulator?And also I want only one connected cover to interact with sink node in a time interval.
Kirk Martinez
hi all - back to NG after a long gap. I am using ReMote revB nodes and have rpl-border router running and coap-example-client on another node. the BR doesn't seem to get the node join.. anyone else using remotes?
George Oikonomou
Hi Kirk, ReMote rev B are in our "should just work" category. Are you trying with TSCH or with CSMA?
Hey ! Is there any way to set the system time in Contiki NG for CC1310?
Kirk Martinez
Hi George - the BR is OK and has a webpage as normal. The erbium sample server side is showing CSMA. its just won't reply to pings.. I suspect some wierdness on my desktop so will try on my laptop now.
Kirk Martinez
Hah! it was the wierd networking setup on my desktop - on laptop its fine!
George Oikonomou
Right! Good to hear
Kirk Martinez
CoAP server works too! so the re-motes are really quite good starting points
Kirk Martinez
What was the solution to temperature sensors in the end? there was discussion last year..
George Oikonomou
Which among the discussions are you referring to?!