Date   

Board: Adafruit ItsyBitsy M0 Express

ulrich.althoefer@...
 

Hello everyone,
the board 'Adafruit Trinket M0' is supported by the Zephyr project.
Is it planned to support the board 'Adafruit ItsyBitsy M0 Express' in the future?
Thanks for your answer.


Re: New bee

Thea Aldrich
 

Hi Siva,
In that case, I would start by checking the GitHub Issues and search the opens with the label "Platform: nRF." IIRC it will be purple. 

I recommend starting out with low priority bugs for a first commit. They will be tagged with the green label "low." Some issues may already have a pull request associated with it so make sure to check in the history and comments section prior to getting started on your solution. You can find the code style and commit guidelines in the Contributor Guide

Hope that helps.

Best,
Thea



Best,
Thea

On Thu, Apr 11, 2019 at 11:19 PM Siva Subrahmanyam <nallamalli.siva@...> wrote:
Hi Aldrich,

I want to work on device side first & later move on to bluetooth, I got a bunch of nrf52 boards.

Regards,
Siva.

On Wed, Apr 10, 2019 at 6:49 PM Thea Aldrich <aldrich.thea@...> wrote:
Hello Siva,
Welcome to the Zephyr Project! Thank you so much for your interest in participating. I can also help connect you with the teams working on specific subsystems or initiatives you're interested in. Would you like to continue working on BLE or would you like to explore other areas? 

I have included a few links below to help you get acquainted with our process, etc. 


Please let me know if you have any questions. I am here to help you get started as a contributor and connect you with the rest of our incredible community. And again, welcome!

Best,
Thea Aldrich
Zephyr Project Developer Advocate

On Wed, Apr 10, 2019 at 7:05 AM Siva Subrahmanyam <nallamalli.siva@...> wrote:
Hi,

I want to contribute my weekend time on development/maintenance activity on any opensource project. Right now i am working for IOT Start up working o BLE 4.0 using Nordic chips.

So i thought going with zephyr project. please let me know how to
start/contribute further.

Regards,
Siva.


nRF52840 and LSM303AGR accelerometer (SPI) #nrf52840

Arkadiusz Cichocki
 

Hi,

I'm trying to read data from the LSM303AGR accelerometer using SPI. The microcontroller which I use is nRF52840. I want to use the LIS2DH driver which is implemented in Zephyr.

I added the following device description to the board's device tree:

&spi1 {
    status = "ok";
    sck-pin = <5>;
    mosi-pin = <4>;
    miso-pin = <6>;
    cs-gpios = <&gpio0 22 0>, <&gpio0 25 0>;

    lsm303agr_acc0: lis2dh@0 {
        compatible = "st,lis2dh";
        reg = <0>;
        spi-max-frequency = <1000000>;
        irq-gpios = <&gpio0 2 GPIO_INT_ACTIVE_LOW>, <&gpio0 3 GPIO_INT_ACTIVE_LOW>;
        label = "LSM303AGR_ACC_0";
    };
};

It corresponds to the connections of the real device.

I check the correctness of the operation using the example code from 
here:

https://github.com/zephyrproject-rtos/zephyr/tree/master/samples/sensor/lsm303dlhc

I have removed magnetometer related part of the code and changed config from SPI to I2C in prj.conf file too.

Unfortunately, measurements fail.

 

Does anyone have any experience with the presented configuration? Thanks in advance for any suggestions.

 

Best regards,

Arek

 


Re: New bee

Siva Subrahmanyam
 

Hi Aldrich,

I want to work on device side first & later move on to bluetooth, I got a bunch of nrf52 boards.

Regards,
Siva.


On Wed, Apr 10, 2019 at 6:49 PM Thea Aldrich <aldrich.thea@...> wrote:
Hello Siva,
Welcome to the Zephyr Project! Thank you so much for your interest in participating. I can also help connect you with the teams working on specific subsystems or initiatives you're interested in. Would you like to continue working on BLE or would you like to explore other areas? 

I have included a few links below to help you get acquainted with our process, etc. 


Please let me know if you have any questions. I am here to help you get started as a contributor and connect you with the rest of our incredible community. And again, welcome!

Best,
Thea Aldrich
Zephyr Project Developer Advocate

On Wed, Apr 10, 2019 at 7:05 AM Siva Subrahmanyam <nallamalli.siva@...> wrote:
Hi,

I want to contribute my weekend time on development/maintenance activity on any opensource project. Right now i am working for IOT Start up working o BLE 4.0 using Nordic chips.

So i thought going with zephyr project. please let me know how to
start/contribute further.

Regards,
Siva.


Re: Enable ethernet on STM32F4 boards?

Erwan Gouriou
 

Hi Jun,

I had it working on basic samples like dns_resolve (on latest master).
Are you facing some issues ?

Erwan


On Wed, 10 Apr 2019 at 23:49, Li, Jun R <jun.r.li@...> wrote:

Hey Zephyr developers,  

 

Wondering if anyone has tried bringing up the internal Ethernet phy on any STM32F429 boards, like NUCLEO-F429ZI and testing it with any samples? Can you share some experience on this if so?

 

Thank you!

 

Jun Li


Re: Mocking with ztest

Jan Van Winkel
 

Hi Kim,

I bumped into the similar issue and the solution was to use ztest together with the native_posix target to implement my unit tests.

Also see following issue on github:

Best Regards,
Jan

On Thu, Apr 11, 2019 at 1:23 PM Kim Bøndergaard <kim.bondergaard@...> wrote:
Hi Zephyr developers

I'm looking at ztest as a means to test our application code.
I've managed to command sanytycheck to run at our 'out of tree' projects. That's all fine.

Next issue is mocking. Fx. to make some accelerated tests or to test some special corner case scenarios I need to force timers to expire.
I have successfully added a 'timer wrapper' which by default (for target app builds) calls the k_timer_xxx functions while in ztest builds I implement special mock functions so I can e.g. catch the struct k_timer object or the expiry callback. They are typically static within the MUT (Module Under Test).
I don't like though that application developers have to call none-zephyr functions.
I furthermore fear we will end up mocking also lots of other interfaces - even though it might be as simple as 'unconfig'ing them. But that seems not possible with the kernel.

I'm also looking a bit into the K_SYSCALL_DECLARE* macros? Can they somehow solve my problem? But e.g k_timer_init() is not defined by such macro?

Anyone having any input to this problem?


Mocking with ztest

Kim Bøndergaard
 

Hi Zephyr developers

I'm looking at ztest as a means to test our application code.
I've managed to command sanytycheck to run at our 'out of tree' projects. That's all fine.

Next issue is mocking. Fx. to make some accelerated tests or to test some special corner case scenarios I need to force timers to expire.
I have successfully added a 'timer wrapper' which by default (for target app builds) calls the k_timer_xxx functions while in ztest builds I implement special mock functions so I can e.g. catch the struct k_timer object or the expiry callback. They are typically static within the MUT (Module Under Test).
I don't like though that application developers have to call none-zephyr functions.
I furthermore fear we will end up mocking also lots of other interfaces - even though it might be as simple as 'unconfig'ing them. But that seems not possible with the kernel.

I'm also looking a bit into the K_SYSCALL_DECLARE* macros? Can they somehow solve my problem? But e.g k_timer_init() is not defined by such macro?

Anyone having any input to this problem?


Enable ethernet on STM32F4 boards?

Li, Jun R
 

Hey Zephyr developers,  

 

Wondering if anyone has tried bringing up the internal Ethernet phy on any STM32F429 boards, like NUCLEO-F429ZI and testing it with any samples? Can you share some experience on this if so?

 

Thank you!

 

Jun Li


Re: New bee

Thea Aldrich
 

Hello Siva,
Welcome to the Zephyr Project! Thank you so much for your interest in participating. I can also help connect you with the teams working on specific subsystems or initiatives you're interested in. Would you like to continue working on BLE or would you like to explore other areas? 

I have included a few links below to help you get acquainted with our process, etc. 


Please let me know if you have any questions. I am here to help you get started as a contributor and connect you with the rest of our incredible community. And again, welcome!

Best,
Thea Aldrich
Zephyr Project Developer Advocate

On Wed, Apr 10, 2019 at 7:05 AM Siva Subrahmanyam <nallamalli.siva@...> wrote:
Hi,

I want to contribute my weekend time on development/maintenance activity on any opensource project. Right now i am working for IOT Start up working o BLE 4.0 using Nordic chips.

So i thought going with zephyr project. please let me know how to
start/contribute further.

Regards,
Siva.


New bee

Siva Subrahmanyam
 

Hi,

I want to contribute my weekend time on development/maintenance activity on any opensource project. Right now i am working for IOT Start up working o BLE 4.0 using Nordic chips.

So i thought going with zephyr project. please let me know how to
start/contribute further.

Regards,
Siva.


More apps sharing the same building system #nrf52840

Gabriele Filosofi
 

Hello,
I'm new to Zephyr.
The online guide is focused on building one single app. The application directory is myprojects/app, the source code directory is myprojects/app/src, etc.
The question is how to make more apps to share the same cmake building system ?
I've failed by creating a second folder myprojects/app1 and adjusting the CMakeLists.txt accordingly.

Thank you for your help

Gabriele


Re: Process HCI_UART BLE Connectivity updating FW in the field

frv
 

Hi Carles,

Ok thanks for this feedback! A next challenge coming, the learning process continuous. 

br,
Frank


Re: Process HCI_UART BLE Connectivity updating FW in the field

Carles Cufi
 

Hi Frank,

 

If you don’t have a debug connection between the iMX and the nRF52832 then you need to use the UART to update the firmware. In order to achieve that you will need to use a bootloader to swap images between 2 banks, because without a debugger that is the usual approach.

MCUboot is an open source bootloader that allows you to perform firmware upgrade indirectly (i.e. the application that is running receives and stores an image in the second slot and then reboots so that MCUboot swaps it) or directly  using a “recovery mode”: The chip running MCUboot boots into its recovery mode and then listens on the UART for commands which allow for a new image to be uploaded.

 

This is achieve through the BOOT_SERIAL option in MCUboot:

https://github.com/JuulLabs-OSS/mcuboot/blob/master/boot/zephyr/Kconfig#L190

 

Unfortunately it is not very documented at this point, but the idea is that you boot the nRF52832 with a pin set to a value (high or low):

https://github.com/JuulLabs-OSS/mcuboot/blob/master/boot/zephyr/Kconfig#L236

 

and that triggers serial recovery mode, where MCUboot waits for commands on the UART to upload a new image.

 

The tool that can be used to send that image is mcumgr, and the process is almost the same to using mcumgr with indirect firmware upgrade. To install mcumgr:

$ go get github.com/apache/mynewt-mcumgr-cli/mcumgr

 

And then you can create a serial connection profile with it and start uploading images.

 

Carles

 

 

From: Vieren Frank <F.Vieren@...>
Sent: 10 April 2019 09:26
To: devel@...; Cufi, Carles <Carles.Cufi@...>
Subject: Process HCI_UART BLE Connectivity updating FW in the field

 

Hi Carles, all,

 

What is the best way to do a firmware update in the field? What it is possible?

 

So far in the lab, I have a proto board with a nrf52832 chip onboard and also a JTAG connector. The JTAG connector of the proto board is connected to the DEBUG connector of nRF52 DK and is used for flashing the FW.

 

Of course this process is not applicable for field updates.

 

So far I found some documentation on how to proceed when wanting to do the upgrade FW process in the field.

 

Also I want to be sure all the pinning required is present not just for operating the nrf52 as BLE connectivity chip.

The idea is just to connect the nrf52832 with its UART pins to one of the main processor's (IMX6 UL-S) UARTs. And also to have the reset accessible. 

 

I'm wondering is this sufficient, and not having to have other pins to be controllable for the upgrade process?

 

How does the mcuboot fits in this story?

 

Not full understand this statement in the topic that is embedded in this topic.

"No, it's the same UART, but you'll need to reboot into MCUboot's serial recovery mode, update the image and then reboot back into the new image."

 

Thanks in advance, 

 

Best regards,

Frank

  


Re: #bluetoothmesh Help for sending and receiving messages through mesh #bluetoothmesh

paul.leguennec@...
 
Edited

Hi Johan,
Thanks for your quick response.

All application-level messaging with mesh is always in the context of models. I’d suggest familiarising yourself with the Mesh Model Specification to see if any of the standard models suits your needs.
I already have gone through the mesh model spec, but I don't think there is a model that I could use to do what i want. I would like to send a message looking like this : UUID_A, UUID_C, RSSI_C.
I have not found a model that allows me to send a specific message (I might be wrong of course), so I don't know what model or at least what kind a model I could use.
EDIT : I think I will have to create a new model (a vendor model if I am right). I don't know if there is some kind of guide to do so, but there is a vendor model in the onoff_level_lighting_vnd_app that I could rely on it's implementation.

The heartbeat is a mesh transport layer feature. You can find a description of it in section 3.6.7 of the Mesh Profile Specification. The sending and receiving of heartbeat messages is configured using the configuration model, however it sounds like this is not what you are looking for since the heartbeat message is not extensible with any additional payload.Since you say you need periodic sending it sounds like periodic publishing for a model is what you are after (see section 3.7.6.1 in the Mesh Profile specification). Model publishing is also configured using the configuration model.
I did not see this section, thanks for the info.

Zephyr doesn’t support acting as provisioner or a configuration client (except for local configuration), however many of the mesh apps available for phones can do this (e.g. nRF Mesh). Did you have something specific in mind to use as the provisioner and configuration client?
I am using nRF Mesh to act as a provisioner right now.

I’m not sure I understand your question, however it is possible for a Mesh node to listen for other advertising packets, such as those coming from a non-mesh beacon. At the moment we’re missing a clean API for it, so you’d need to modify the scan callback (bt_mesh_scan_cb function) in subsys/bluetooth/host/mesh/adv.c to handle any non-mesh advertisements.
You did understood what I meant. I will look further into it once I will be able send a message in my mesh network.

Regards,
Paul.


Process HCI_UART BLE Connectivity updating FW in the field

frv
 

Hi Carles, all,

What is the best way to do a firmware update in the field? What it is possible?

So far in the lab, I have a proto board with a nrf52832 chip onboard and also a JTAG connector. The JTAG connector of the proto board is connected to the DEBUG connector of nRF52 DK and is used for flashing the FW.

Of course this process is not applicable for field updates.

So far I found some documentation on how to proceed when wanting to do the upgrade FW process in the field.

Also I want to be sure all the pinning required is present not just for operating the nrf52 as BLE connectivity chip.
The idea is just to connect the nrf52832 with its UART pins to one of the main processor's (IMX6 UL-S) UARTs. And also to have the reset accessible. 

I'm wondering is this sufficient, and not having to have other pins to be controllable for the upgrade process?

How does the mcuboot fits in this story?

Not full understand this statement in the topic that is embedded in this topic.
"No, it's the same UART, but you'll need to reboot into MCUboot's serial recovery mode, update the image and then reboot back into the new image."

Thanks in advance, 

Best regards,
Frank
  


Re: #bluetoothmesh Help for sending and receiving messages through mesh #bluetoothmesh

Johan Hedberg
 

Hi Paul,

On 9 Apr 2019, at 17.14, paul.leguennec@... wrote:
I am working on a project using Mesh with nrf52 boards. I have 3 boards for now, two of them are in a mesh network (boards A and B) (I will have more later to hava a real mesh network), and the last one is a beacon (board C).
I want to collect C's data on board A, and then sending those data by sending a message to B. It must be done periodically.
I have a few questions.

1. Do I need to use a mesh model to send a message through the mesh ? If yes, how can I use it ? I'm asking this because I felt like I could do otherwise.
All application-level messaging with mesh is always in the context of models. I’d suggest familiarising yourself with the Mesh Model Specification to see if any of the standard models suits your needs.

2. It looks like I could use hearbeat message to send this message, but I'm not sure if I to use it. Could I have some explanation on how the heartbeat works, and on where it publish ?
The heartbeat is a mesh transport layer feature. You can find a description of it in section 3.6.7 of the Mesh Profile Specification. The sending and receiving of heartbeat messages is configured using the configuration model, however it sounds like this is not what you are looking for since the heartbeat message is not extensible with any additional payload.

Since you say you need periodic sending it sounds like periodic publishing for a model is what you are after (see section 3.7.6.1 in the Mesh Profile specification). Model publishing is also configured using the configuration model.

Zephyr doesn’t support acting as provisioner or a configuration client (except for local configuration), however many of the mesh apps available for phones can do this (e.g. nRF Mesh). Did you have something specific in mind to use as the provisioner and configuration client?

3. Is it possible for the beacon to be in BLE and not a part of the mesh network ? I mean that I don't know if I can use BLE and Mesh in one node (for A and B) in order to scan for beacons to collect data and then send a message with the data collected.
I’m not sure I understand your question, however it is possible for a Mesh node to listen for other advertising packets, such as those coming from a non-mesh beacon. At the moment we’re missing a clean API for it, so you’d need to modify the scan callback (bt_mesh_scan_cb function) in subsys/bluetooth/host/mesh/adv.c to handle any non-mesh advertisements.

Johan


#bluetoothmesh Help for sending and receiving messages through mesh #bluetoothmesh

paul.leguennec@...
 

Hello,

I am working on a project using Mesh with nrf52 boards. I have 3 boards for now, two of them are in a mesh network (boards A and B) (I will have more later to hava a real mesh network), and the last one is a beacon (board C).
I want to collect C's data on board A, and then sending those data by sending a message to B. It must be done periodically.
I have a few questions.

1. Do I need to use a mesh model to send a message through the mesh ? If yes, how can I use it ? I'm asking this because I felt like I could do otherwise.

2. It looks like I could use hearbeat message to send this message, but I'm not sure if I to use it. Could I have some explanation on how the heartbeat works, and on where it publish ?

3. Is it possible for the beacon to be in BLE and not a part of the mesh network ? I mean that I don't know if I can use BLE and Mesh in one node (for A and B) in order to scan for beacons to collect data and then send a message with the data collected.

Thanks for your response.
Regards
Paul.


Re: Nordic nRF52832 - UART redefining the pins?

frv
 

Hi Carles,

Finally I got it up and running :).

So indeed changing the pinning in the overlay file did the trick, although I also had to redefine the cts/rts despite not using them as one of the values was used by my new RX pin value. 

Also I had to downgrade speed to 115200 instead of default 1000000.
I was a little bit surprised when baudrate/speed is set in the configuration it can no longer be adjusted in the btattach command.
E.g. If 1000000 is set in the overlay file it can not be set as btattach -B /dev/ttyUSB0 -S 115200 or at least it will not work.

Also I had to set explicit the -N to disable "flow control" when using the btattach command despite it was set in the nrf52.conf file.

So after a little bit of puzzling with parameters I got the result I wanted to have.

In our final design we will use the "hardware flow control" of course and use as baudrate 1M but in my setup the RS232/USB converter was limited to 115200.

Best regards,
Frank


Re: rtc api in zephyr

Chruściński, Krzysztof
 

Hi,

 

Yes, it is recommended to use counter API instead.

 

Regards,

Krzysztof

 

From: devel@... <devel@...> On Behalf Of Aaron Xu via Lists.Zephyrproject.Org
Sent: Tuesday, April 9, 2019 3:44 AM
To: zephyr-devel <zephyr-devel@...>
Cc: devel@...
Subject: [Zephyr-devel] rtc api in zephyr

 

Hi,

I just heard rtc api is deprecated, but I can not find any clue in the documentation or in this mail list. What's that mean?
Should we avoid to use rtc api in the future and change to counter api?

 

Thanks. Regards


rtc api in zephyr

Aaron Xu
 

Hi,

I just heard rtc api is deprecated, but I can not find any clue in the documentation or in this mail list. What's that mean?
Should we avoid to use rtc api in the future and change to counter api?

Thanks. Regards