by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Aug 05 15:03
    LPFraile opened #1349
  • Aug 05 11:55
    PrashantTeke commented #1347
  • Aug 05 11:39
    atiselsts closed #1347
  • Aug 05 11:39
    atiselsts commented #1347
  • Aug 05 11:05
    PrashantTeke commented #1347
  • Aug 05 10:29
    atiselsts commented #1307
  • Aug 05 10:28
    atiselsts commented #1347
  • Aug 04 19:52

    g-oikonomou on develop

    SimpleLink: fix receiving_packe… Merge pull request #1348 from a… (compare)

  • Aug 04 19:52
    g-oikonomou closed #1348
  • Aug 04 19:52
    g-oikonomou closed #1339
  • Aug 04 15:46
    atiselsts opened #1348
  • Aug 04 04:40
    PrashantTeke commented #1347
  • Aug 04 02:38
    PrashantTeke opened #1347
  • Aug 03 19:51

    g-oikonomou on develop

    Orchestra: add missing 'extern'… Merge pull request #1346 from a… (compare)

  • Aug 03 19:51
    g-oikonomou closed #1346
  • Aug 03 19:51
    g-oikonomou closed #1249
  • Aug 03 19:51

    g-oikonomou on develop

    [MQTT5] Write out properties of… Merge pull request #1342 from v… (compare)

  • Aug 03 19:51
    g-oikonomou closed #1342
  • Aug 03 18:12
    atiselsts commented #1343
  • Aug 03 18:09
    g-oikonomou milestoned #1346
Jonathan Tournier
@JnTournier
@g-oikonomou can you explain me how the dtls_context is set ? I figure out that the client (coap-example-client) cannot send dtls messages due to a peer that is not find. And I don't know where the dtls_context is set before the use of the function dtls_get_peer
Jon Duo
@JonDuo_twitter
Hello, my name is Jon. I'am triying to use CONTIKI with STM32l4 + SPIRIT1 but I can't find any documentation about how to do it, can anyone help me please?
@g-oikonomou
Jonathan Tournier
@JnTournier
Ok guys, I fix the issues where the client is not able to send dtls message to coap server
@g-oikonomou Is it possible to create a PR ?
Jacob Lont
@jacoblont

Hi everyone, I am working with Contiki-os on the Zolertia Firefly (Zoul) platform, for which I made a library to use the Adafruit ADS1115 ADC using I2C, but I am facing a problem. The main thing works, but I am facing a bug and in trying to kill this bug, I am trying to find out if the functions i2c_single_send(), i2c_single_receive(), i2c_burst_send(), and i2c_burst_receive() send a stop condition when they are done. I have been inspecting the code for some hours now, and I think the i2c stop condition is not being sent, but on the other side I cannot imagine that it is indeed not being sent, as most of the code does work (and stop conditions are needed to make the communication work according to the data sheet of the ADS1115). Can someone tell me if a stop condition is being sent, or how I can implement it if it is not?

My library is based on the Adafruit_ADS1X15 library for Arduino and the SHT25 examples in contiki-os. In the Arduino files, a 'sendstop' variable is used to define when an I2C write (or read) operation should be terminated with a stop condition and when it should not, but this functionality is not there in the I2C functions of contiki-os (please correct me if I'm wrong) and I think I do have to implement this in some way to make it work correctly.

The problem in practice: I can read out the first channel of the ADC, but when I try to get measurements from the second channel of the ADC, I get values that are related to the input on the first channel, which is obviously wrong. I replaced the Firefly with an Arduino, which worked fine, so the problem definitely is somewhere in my implementation. The code is on my GitHub page in case someone wants to take a look.

Thanks a lot in advance. I hope you can point me in the right direction.
Cheers,
Jacob

George Oikonomou
@g-oikonomou
@JnTournier Hi Jonathan, I am 100% unfamiliar with the DTLS code, but if you have found a problem and a fix a PR is of course very welcome!
serdarkose
@serdarkose

@g-oikonomou when I add a printf into ota-ext-flash.c / ext-flash.c or change LOG_LEVEL_NONE to LOG_LEVEL_INFO, make outputs "Flash overflowed" error

/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: build/cc26x0-cc13x0/launchpad/cc1310/bootloader.elf section .text' will not fit in regionFLASH'
/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `FLASH' overflowed by 2676 bytes
collect2: error: ld returned 1 exit status
make[1]: * [../../../arch/cpu/arm/cortex-m/Makefile.cortex-m:26: build/cc26x0-cc13x0/launchpad/cc1310/bootloader.elf] Error 1

I can add as many printf I want on hello_world_process, but on on those flash related c files that has an issue. Do you know why printf causes flash overflow error?

George Oikonomou
@g-oikonomou
Enable bootloader debug through the make variable and this will allocate more flash space to the bootloader
and then this will go away
serdarkose
@serdarkose
I have been adding some code into golden-image.c if I execute "make clean && make" then it compiles all without any problem, but if I execute "make clean && make BOOTLOADER_DEBUG=1" it outputs FLASH overflowed error. I often have that issue when I play with printfs on the OAP fork. if I add printf into any flash.c file, then "make" outputs FLASH overflowed error. Do you think the problem is that printf is added into bootloader space and is that why it overflows the flash area? I don't understand why a simple printf("hello"); is placed on bootloader area
George Oikonomou
@g-oikonomou
I am not following you 100% Serdar
Where do you want to printf from? The golden image?
serdarkose
@serdarkose
if I use printf() in golden image, then all works fine, but if I try to use it on other part of the project (ext-flash.c ota-ext-flash.c), then "make" outputs flash overflowed error
George Oikonomou
@g-oikonomou
OK
so ext-flash and ota-ext-flash
baseically ext flash is used by the bootloader as well as the main app code
so if you want to print something in there for the main app, you end up carrying the same code inside the bootloader too
serdarkose
@serdarkose
ok now it makes sense. Thank you
George Oikonomou
@g-oikonomou
if you make with bootloader debug things should work though, not sure why they wouldn't
what this variale does is, it allocates more space on internal flash for the bootloader and less for the main app
  • spelling... :P
serdarkose
@serdarkose
I have one more question. I have the default golden-image code that printf hello world. I added ota_ext_flash_area_erase(2) then it looks like the code get stucks on spi communication (I use TI's launchboard), then the board reset itself (I assume watchdog does it).
Do you have any guess what might be the issue?
as I track, it get stuck on this line
George Oikonomou
@g-oikonomou
certainly sounds like a watchdog
have you tried adding a watchdog_periodic before you start the erase?
serdarkose
@serdarkose
yes, I added before and after calling it. I was trying to place printf inside the function to locate where it actually hangs. I will move the function to golden image and try to call from there.
I was wondering if you had any similar issue
George Oikonomou
@g-oikonomou
the launchpad code automatically initialises the ext flash driver
so the erase should just work
the open before the erase seems to be working in your case
or you'd never reach that line
George Oikonomou
@g-oikonomou
@jacoblont Jacob, I think the I2C controller sends the STOP condition automatically
Yes. So in i2c_single_send() for example, we are writing to I2CM_CTRL the value I2C_MASTER_CMD_SINGLE_SEND. This is 0x07: START=1, STOP=1, RUN=1
so the controller will send a start, do stuff, send a stop
Mahboob Karimian
@mahboob-karimian
When we are using Orchestra scheduler with TSCH and we have:
1 The period for unicast traffic is small (i.e. 10),
2
There is a big packet (1280 Bytes) which is fragmented to 14 small 122 Byte 6lowpan packets,
3__ The TSCH_BURST_MAX_LEN is 32 in tsch-conf.h
Then what is the impact of this in Orchestra considering that the period is smaller than number of the fragments which will be transmitted successively? Is it going to break the scheduling rules we have?
Considering the multiple neighbors, this must get even worse. Then shall we turn off the burst mode feature?
jsolderitsch
@jsolderitsch

@jsolderitsch Thanks for the help! Eagerly awaiting your results.

I was able to test ping based on the hello-world project and ping works from each node. What contiki-ng project did you compile to try to get a simple ping to work
@sidharthbhatia

Atis Elsts
@atiselsts
@mahboob-karimian yes, burst mode conflicts with the normal schedule. its possible to turn it off by using TSCH_BURST_MAX_LEN set to 1 or 0
Frode Eskelund
@RCfesk
Quick question: Will IPv6 and neighbor discovery work over the UIP fallback interface (as embedded SLIP or Ethernet) ? Initial tests seems to indicate no response to NS/RS.
serdarkose
@serdarkose
@g-oikonomou I found why my CC1310 launchpad froze while trying to erase the external flash. I placed 'watchdog_periodic()' on this line https://github.com/g-oikonomou/contiki-ng/blob/78dfaab88082544e8a1dbb28d8b60d1b95fdd628/arch/dev/ext-flash/ext-flash.c#L496 now it works fine. Previously, the code showed that it has 32 sectors and watchdog restarts the mcu at the 28th iteration. I tried it on a fresh clone of the contrib/oap project, the issue occurs consistently on cc1310 launchpad project here, if you think it'd be good to add watchdog_periodic() on that line, I can send a pull request
George Oikonomou
@g-oikonomou
Thanks Serdar. I am in two minds right now, not sure if the periodic should be inside the erase function, or whether the caller should do it before calling
But we should definitely at least document this somewhere
jsolderitsch
@jsolderitsch

@jsolderitsch Thanks for the help! Eagerly awaiting your results.

I was able to test ping based on the hello-world project and ping works from each node. What contiki-ng project did you compile to try to get a simple ping to work
@sidharthbhatia

Update on August 12. I re-built the firmware making some changes to cc13xx-cc26xx-conf.h and dot-15-4g.h so that the US sub-ghz frequency band is chosen: 915 mhz. Now I get consistent working pings again. It looks like default Simplelink setting is to use 2450 mhz as the default, which is in normal wifi range. I was seeing interference occurring yesterday I now think.

Jacob Lont
@jacoblont

Yes. So in i2c_single_send() for example, we are writing to I2CM_CTRL the value I2C_MASTER_CMD_SINGLE_SEND. This is 0x07: START=1, STOP=1, RUN=1

@g-oikonomou Thanks a lot for the reply. I think I get it now. In case I want to send a burst without a stop condition, I suppose I should make a copy of the i2c_burst_send() function, which I modify in such a way that 'i2c_master_command(I2C_MASTER_CMD_BURST_SEND_FINISH);' is not in there anymore, which will prevent the STOP condition from being executed. I can imagine that this should not be standard practice in I2C, but it seems to be needed based on the code I came across, which was written for the Arduino implementation. If someone thinks that this is not the way to go, then please let me know. Let's see if this solves my issue. Thanks again for the reply!

George Oikonomou
@g-oikonomou
So burst_send goes like this:
  • START=1, RUN=1
  • RUN=1
  • RUN=1
  • ...
  • RUN=1, STOP=1
Why do you need to suppress the ending STOP?
sunilassao
@sunilassao
Hello, Have anyone tried the latest dev branch code with the TI CC1352p1 board? It does not work for me. I use the same code compiled for CC1312r1 and all works. I am compiling TSCH-Border router, single channel and sniff of channel #20. I do not see any packets on my sniffer).
Kamil Mańkowski
@kam193
Hi, @g-oikonomou I would like to ask if you think it makes sens to improve Contiki's unit test system in the way like this: kam193/contiki-ng#1 (I mentioned it some time ago). Also, I see that Cooja also could be improved in some ways, but what is the status this project? I see a lot of activity here on chat, but I'm a bit confusing with only bugfix in Cooja last year and open issues asking security contact in Contiki-NG. If I make a change to Cooja or so time to time, it is possible that it will be reviewed/merged? :)