about newly introduced #BluetoothMesh persistent storage feature
#bluetoothmesh
vikrant8051 <vikrant8051@...>
Hi, How to save (SIG or Vendor) Model states on SoC flash ? Is it going to be depend upon setting layer which is newly introduce concept or gonna completely independent as part of App layer ? ------------------------------------------------------------------------------------------------------------------ There are 2 types of Persistent Data in context of #BluetoothMesh: 1) constant (which is created & saved during provisioning & configuration ) 2) non - constant ( eg. Sequence no., Models states etc.) Is current implementation using same sector of flash for both ? Will it be secured during #DFU_OTA ? Where it is define for every Board? Where I can get details about flash memory sector which here acting like EEPROM ? ------------------------------------------------------------------------------------------------------------------ If Node is receiving 100 messages a day in which destination address could be it's own or group address for which it has subscribed, then what will be life of that device (assuming SoC flash supports 10K erase cycles) as per FCB based current implementation ? Is there any documentation which shows approximate life span of #BluetoothMesh NODE in different scenarios if we go ahead with #FCB ( or upcoming #NVS layer) ? ------------------------------------------------------------------------------------------------------------------ If we use #meshctl, then sometimes it complete provisioning but it fails after executing --> appkey-add 1 & something constantly goes on #meshctl terminal. Is anyone observed same ? [In that case, I have to reflash the firmware or reset the board & send node-reset command via #meshctl.] ------------------------------------------------------------------------------------------------------------------ If provisioning or configuration fails & there is no hardware reset button to trigger bt_mesh_reset() in that case, how to push device into factory reset mode ? Any Idea ? My solution is to add vendor state (Let it be Foo) which will be set to "1" only after proper provisioning & configuration by provisioner App. On device side following logic will get execute after every reset if(Foo == 0) { bt_mesh_reset( ); } ------------------------------------------------------------------------------------------------------------------ Thank You !!
|
|
Re: #BluetoothMesh persistent storage for provisioning data
#bluetoothmesh
Hi Kai,
On Fri, May 11, 2018, Kai Ren wrote: Following your suggestion, I just did a test on it after git fetchThe idea is to avoid excessive flash writes (or worse, flash erases). There's a variable that's set with CONFIG_BT_MESH_SEQ_STORE_RATE. It controls that only the Nth sequence number increment gets stored. Since only the Nth sequence gets stored, we have to add N upon bootup to the stored value to ensure that we start with something that's guaranteed to be higher than the last sent message when the board was powered off. Btw, the PR is already merged to master, so you can just the master branch from now on. Johan
|
|
Re: #BluetoothMesh persistent storage for provisioning data
#bluetoothmesh
Kai Ren
Hi Johan,
Following your suggestion, I just did a test on it after git fetch 7428. After compiling and running "mesh_demo", at least, sequence number store and restore work well on my side. I use micro:bit as the platform. : But I have a question: when sequence number reach to 0x1A, I reset the board, after restoring, then I pressed button to send message, sequence number start at 0x89, what is the consideration on this? Kai
|
|
Re: Read connection RSSI always return -127
전형욱
Hi Carles,
toggle quoted messageShow quoted text
Thank you for your reply. Yes, I enable COFIG_BT_CTRL_CONN in prj.conf file. HCI command was successfully executed but I got always -127 for rssi value. (Please refer to btmon log in my previous message.) Regrads, Hyoungwook 2018-05-11 오후 6:28에 Cufi, Carles 이(가) 쓴
글:
|
|
64 bit time stamp in microseconds (us)
Abderrezak Mekkaoui
Hi All,
Does anybody know how to reliably implement a 64 bit (int64_t) time stamp in microseconds? Thanks and have a great WE. Abderrezak
|
|
Re: Using SPI_SLAVE on STM32
Armando Visconti
Hello Thomasz,
toggle quoted messageShow quoted text
Quick update before leaving for the week. I took the patches suggested by you and I prepared a very simple test environment. I have an issue though: it seems that I'm not able to consume data at the proper speed and OVR error is found in SR. Just for testing I tried to comment the error out and what I see is that I receive 1 byte evry 3. I think I can slow down the spi master, but I think that we would need to add DMA handling to stm32 spi. Is there any plan? Thanks, Armando
On 05/04/2018 03:00 PM, Tomasz Bursztyka wrote:
It has not been rebased against latest SPI API changes, thus why it
|
|
Re: IPv6 addresses
Diana Rivera
Hi Jukka,
Thanks for your answer. If SLAAC is enabled by default, how are you then able to know the device's IPv6 address so that so that it can be set as the PEER_ADDR of another device? I've been also trying to run the OpenThread shell by simply enabling CONFIG_OPENTHREAD_SHELL=y in the Kconfig file, but it doesn't seem to be having any effect. What is the proper way to run this shell? Once again. Thank you for your answer. Best regards, Diana
|
|
Re: problems building a BME680 app: zephyr_prebuilt.elf uses VFP register arguments ....
Abderrezak Mekkaoui <ab.mekka@...>
Hi All,
toggle quoted messageShow quoted text
Just in case this is helpful. To build and correctly run my app, I needed to add the following configuration variables to my prj.conf: CONFIG_FLOAT=y CONFIG_NEWLIB_LIBC=y Nothing else is needed because everything is defined with the board (nrf52840_pca10056). Adding CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=y would enable float fprinting for debugging. Thanks for your help. Abderrezak
On 5/7/2018 12:04 PM, Abderrezak Mekkaoui wrote:
Hi All,
|
|
Re: IPv6 addresses
Jukka Rissanen
Hi Diana,
toggle quoted messageShow quoted text
the static IP address configuration is fully optional and is only meant to make testing a bit easier. So if you want to have auto IPv6 addresses, then just do not set CONFIG_NET_APP_MY_IPV6_ADDR option. SLAAC is enabled by default. Please create a github issue if you find bugs in it. Cheers, Jukka
On Fri, 2018-05-11 at 11:39 +0200, Diana Rivera wrote:
Hello,
|
|
IPv6 addresses
Diana Rivera
Hello, I am currently working on an OpenThread application based on echo_client and echo_server. I have noticed that the devices' IPv6 addresses are set in the configuration file through CONFIG_NET_APP_MY_IPV6_ADDR.Zephyr's documentation mentions the possibility to use SLAAC. Could you please point me in the right direction to use it instead of having to set static IPv6 addresses?
|
|
Re: Read connection RSSI always return -127
Carles Cufi
Hi there,
Strange, this should work as expected. I haven’t tested it myself but will do if you cannot figure it out.
Have you enabled the CONFIG_BT_CTLR_CONN_RSSI option in Kconfig?
Regards,
Carles
From: devel@... <devel@...>
On Behalf Of ???
Sent: 10 May 2018 03:35 To: devel@... Subject: [Zephyr-devel] Read connection RSSI always return -127
Hello, I wrote the same question on user forum but haven't got any response so I'm writing this on devel forum, too. I'm developing HCI UART dongle using nRF52840 based on Zephyr v1.11 branch.
It is the same on nRF52840_pca10056 reference board.
Is there anything that I need to configure in project setting? Regards, Hyoungwook Jeon
|
|
Re: #BluetoothMesh persistent storage for provisioning data
#bluetoothmesh
Hi Kai,
toggle quoted messageShow quoted text
Please check the PR I referenced earlier. I've added a patch there to convert mesh_demo to use settings. It was actually the other way around that it made sense to do the calls: first settings_load() and then bt_mesh_provision(). That way we can catch an -EALREADY return from bt_mesh_provision() which tells us that calling configure() should not be done. Johan
On Fri, May 11, 2018, Kai Ren wrote:
Thanks for the reply!
|
|
Re: #BluetoothMesh persistent storage for provisioning data
#bluetoothmesh
Kai Ren
Thanks for the reply!
The problem I suffered is that: when I run mesh_demo on microbit, I can't restore SEQ after a reset, when means that if a GenericOnOff client reset unexpected, I need to make this client catch up the SEQ on GenericOnOff server. I saw that there are two functions which seem to be store and restore SEQ, void board_seq_update(u32_t seq); static u32_t get_seq(void); but get_seq() is called in board initial, but I don't find any piece about board_seq_update().I agree with you, mesh_demo doesn't need persistent storage because its netkey, devkey and appkey are already in flash memory, but one thing need to be solved is SEQ. Also, if you run it on the BBC micro:bit be sure to removeWhat does it mean? Kai
|
|
Re: #BluetoothMesh persistent storage for provisioning data
#bluetoothmesh
Hi Kai,
On Fri, May 11, 2018, Kai Ren wrote: I noticed that zephyr start to support persistent storage forAlso note that the remaining state storing is coming as part of the following PR: https://github.com/zephyrproject-rtos/zephyr/pull/7428 Essentially everything is in place there now, but I still need to think a little about how to handle IV Update - we may need to store in some circumstances information about how many hours the node has been in a certain state. And I know that it's already added in the sample ofI think there might be some conflicts, or at least interesting artifacts, since mesh_demo calls itself bt_mesh_provision() and restoring values from flash does essentially the same thing. That said, I'm not sure what the benefit would be? Perhaps to restore the Seq and RPL? You could try it, but be sure to call settings_load() only after bt_mesh_provision() so that stored values overwrite the ones hard-coded in the app. Also, if you run it on the BBC micro:bit be sure to remove the direct flash access from src/microbit.c. Johan
|
|
#BluetoothMesh persistent storage for provisioning data
#bluetoothmesh
Kai Ren
Hello,
I noticed that zephyr start to support persistent storage for provisioning data like: { "Net", net_set }, { "IV", iv_set }, { "Seq", seq_set }, { "RPL", rpl_set }, { "NetKey", net_key_set }, { "AppKey", app_key_set }, And I know that it's already added in the sample of ./sample/bluetooth/mesh/, I know that this sample need a provisioner to provision it. I'm curious that does the persistent storage function can be used by the sample of ./sample/bluetooth/mesh_demo/ because this sample is an example of self-provisioning. Thanks. Regards, Kai
|
|
Re: Can't download in chuncks using https
christian tavares
I was able to resolve this problem by configuring the server to send smaller fragments than it was sending
|
|
Re: new PR adding initial dts support for nrf52 gpio, needs reviewer(s)
Carles Cufi
Hi Marc,
Thanks very much for your PR. Since you cannot add reviewers yourself I have added them for you.
Regards,
Carles
From:
<devel@...> on behalf of Marc Reilly <marc.reilly@...>
Hi, Its a small change, but already it means for example that nrf boards could use the "gpio-leds" dt binding to generate some defines for leds. Next steps are to support pin selection for common drivers like uart, spi, i2c, etc. as well as pin selection for interrupts etc. All and any feedback will be much appreciated.. I also invite anyone to ask me to review theirs, although I'm still a novice here.
Cheers Marc
|
|
new PR adding initial dts support for nrf52 gpio, needs reviewer(s)
Marc Reilly
Hi, I've just added PR #7444 (https://github.com/zephyrproject-rtos/zephyr/pull/7444), but I'm not sure who to ask as reviewer(s). So, I'd like to make an appeal to anyone who is interested in bringing nrf52 devices into using device tree to have a look and give some advice. Its a small change, but already it means for example that nrf boards could use the "gpio-leds" dt binding to generate some defines for leds. Next steps are to support pin selection for common drivers like uart, spi, i2c, etc. as well as pin selection for interrupts etc. All and any feedback will be much appreciated.. I also invite anyone to ask me to review theirs, although I'm still a novice here. Cheers Marc
|
|
Read connection RSSI always return -127
전형욱
Hello, I wrote the same question on user forum but haven't got any response so I'm writing this on devel forum, too. I'm developing HCI UART dongle using nRF52840 based on Zephyr
v1.11 branch. < HCI Command: Read RSSI (0x05|0x0005) plen 2 #488 [hci1] 620.325803It is the same on nRF52840_pca10056 reference board. Here are contents of prj.conf file. CONFIG_CONSOLE=nIs there anything that I need to configure in project setting? Regards, Hyoungwook Jeon
|
|
1.12 merge window closing soon
Maureen Helm
The Zephyr 1.12 release feature merge window is due to close soon. Our original schedule had this milestone set for today, but the TSC agreed to extend the merge window by one week to allow a few remaining 1.12 roadmap features to make it in. These features include OpenAMP (#3065) and full persistent storage for Bluetooth (#7073).
If you have any new features in the works that you would like to get into the 1.12 release, please submit a PR as soon as possible. After the feature merge window closes on Friday May 18, we will only merge bug fixes and documentation until the release. Please also help out by reviewing PRs from other contributors. Even if you do not have merge privileges, it is a big help if you review and vote on PRs.
Thanks for all your contributions!
Schedule: https://github.com/zephyrproject-rtos/zephyr/wiki/Program-Management
Roadmap: https://github.com/zephyrproject-rtos/zephyr/projects/9
|
|