Date   

MCUMGR SMP implementations

Rodrigo Peixoto
 

Hi all.

My company is developing two boards let's call them Board A and Board B for illustrating purpose. Board A is simple it has some sensors and it has a shell interface for communicating with the other one. Board B is the "gateway" and has Internet connectivity through the Cellular network. They had to be created separately.

We need to upgrade the firmware of both boards in the field. For now, Zephyr only supports FOTA over Bluetooth and Shell/UART, right? So I guess we'll need:
1 - to create a Shell SMP Client at Board B that will be able to upgrade the firmware of Board A using a version of the firmware received by the internet;
2 - to implement a different SMP Server at Board B to receive its own firmware by the Internet as well. 

Do you have any start point, tips, something that could help here? 

The future plan, after I made customs SMP Client and Server, is creating an SMP Server over Bluetooth Mesh. In another project, we will need that. Is anybody working with it already?  


Thank you.
Best regards,
Rodrigo Peixoto
Co-founder and Technical advisor

+55 (82) 98144-8585
http://ayna.tech | Skype: rodrigopex



#ble #nrf52840 #nrf52840 #ble

henry.wagner@...
 

After implementing a throughput test for BLE using #nrf52840 hardware and Zephyr 1.14-rc1, notice some curious behavior in data we are collecting.  The test seems to show that sending data from the central (client) to peripheral (server) throughput performance is relatively balanced per connection but one peripheral seems to get little data and one peripheral get more.  In data flow from the peripherals to the central, it is much more unbalanced with one or two peripherals having all the throughput and the others having none.

The central to peripheral is 1:N where the central is a single point source.  The many peripherals to central is an N:1 with many sources.  In my case N is 1 up to 5, but would like to be greater.  The overall aggregate throughput is constant, just not evenly distributed among the BLE devices or comm directions.  Using DLE and 2M PHY

Any thoughts to why this behavior is present and how to diagnose/resolve to produce consistent and balanced throughput among the BLE devices?    Do I have something misconfigured in my devices?  Can share if that will help.


Re: SDK migration 0.9.5 -> 0.10.0 increase CPU usage

Nashif, Anas
 

Nicolas,

Can you please open an issue on GH with all this data?

Can you also provide some info about how you measure the numbers below?

 

Thanks,

Anas

 

From: devel@... [mailto:devel@...] On Behalf Of nicolas lantz
Sent: Friday, March 29, 2019 10:24 AM
To: Nashif, Anas <anas.nashif@...>; devel@...
Cc: Zięcik, Piotr <piotr.ziecik@...>
Subject: Re: [Zephyr-devel] SDK migration 0.9.5 -> 0.10.0 increase CPU usage

 

Hi,

I confirm that (in my test case) New SDK 0.10.0 toolchain seems to significantly increase CPU usage, the new SDK 0.10.0 Newlib a lot.
The details of my investigation below...


------------------------------------------------------------------
Test case
------------------------------------------------------------------
I do CPU average usage test on an audio compression task using the opus codec.

------------------------------------------------------------------
Measures
------------------------------------------------------------------
With CONFIG_SPEED_OPTIMIZATIONS=y

SDK 0.9.5
- Newlibc => 51% CPU usage
- minimal lib => 58% CPU usage

SDK 0.10.0
- Newlibc => 75% CPU usage
- minimal lib => 60% CPU usage

------------------
This gives
------------------
CPU usage between SDK 0.9.5 and SDK 0.10.0 with Newlibc : +47%
CPU usage between SDK 0.9.5 and SDK 0.10.0 with minimal lib : +3%

------------------------------------------------------------------
Investigations
------------------------------------------------------------------
SDK 0.9.5 is built on newllib 2.4.0
SDK 0.10.0 is built  on newlib 3.1.0,

But it seem that there is no difference on string function source code (memmove, memcpy, memset),

------------------------------------------------------------------
Assumption (in my test case)
------------------------------------------------------------------
SDK 0.10.0 toolchain reduce the CPU performance vs the SDK 0.9.5 of about 3%
Newlibc is compiled differently between the SDK 0.9.5 and the SDK 0.10.0 as it increase the CPU usage of about 47-3 = 44%
On SDK 0.9.5 Newlib  is more efficient that minial lib of about 58-51 = 7%

------------------------------------------------------------------
Trial :
------------------------------------------------------------------
I replace the source code of the three more used function (memmove, memcpy, memset) in minimal lib with the one from Newlib source.
I build my projet with the SDK 0.10.0

------------------
Measures
------------------
CPU usage :  53%
=> gain from minimal libc current source code of   -13%
=> gain from Newlib : - 41%
=> I find the performance I had with NewLib and SDK 0.9.5 with additional CPU usage of about 4%


------------------------------------------------------------------
Suggestions for improvement
------------------------------------------------------------------
- compile newlib differently in SDK
- use improved code for the minimal lib




Nicolas

 
Nicolas LANTZ
M : +33 (0)6 19 07 43 43
T : +33 (0)9 52 96 81 86
www.ubicore.net

Le 27/03/2019 à 17:19, nicolas lantz a écrit :

Anas,

The processor is an nrf52840, and the opus codec is imported from the "nRFready Smart Remote 3 for nRF52 Series" project.

The project is build with the NEWLIB_LIBC and i have also imported some C Flags in the CMakeLists.txt  to disable Floating point use and enable some DSP extensions available on Nordic chip .

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} \
 -DARM_MATH_CM4 \
 -DDISABLE_FLOAT_API \
 -DFIXED_POINT \
 -DHAVE_ALLOCA_H \
 -DUSE_ALLOCA \
 -DHAVE_LRINT \
 -DHAVE_LRINTF \
 -DOPUS_ARM_ASM \
 -DOPUS_ARM_INLINE_ASM \
 -DOPUS_ARM_INLINE_EDSP \
 -DOPUS_ARM_INLINE_MEDIA \
 -DOPUS_ARM_MAY_HAVE_EDSP \
 -DOPUS_ARM_PRESUME_EDSP \
 -DVAR_ARRAYS \
 -DOPUS_BUILD \
 -DHAVE_CONFIG_H \
 -g \
")

I guess the new toolchain does not treat these optimizations the same way...


My first demo with opus :
https://gitlab.com/ubicore/zephyr/commit/177a410c6902ecacb9552c907f1e4f60e7a23b1a


Nicolas
 
Nicolas LANTZ
M : +33 (0)6 19 07 43 43
T : +33 (0)9 52 96 81 86
www.ubicore.net

Le 27/03/2019 à 15:21, Nashif, Anas a écrit :

Nicolas,

Which architecture? I did not see any issues.

 

Anas

 

From: devel@... [mailto:devel@...] On Behalf Of nicolas lantz
Sent: Wednesday, March 27, 2019 9:37 AM
To: devel@...
Subject: [Zephyr-devel] SDK migration 0.9.5 -> 0.10.0 increase CPU usage

 

Hi all,

I just migrate from SDK 0.9.5 to SDK 0.10.0 on my projet and i have between 40% to 90% of additional CPU usage with the new toolchain on the audio compression and decompression tasks (using opus codec).

This over cpu consumption append both with build optimisation configured in debug and speed mode.

Does anyone have some any info or explanation ?

Thanks


-- 
Nicolas
 
Nicolas LANTZ
M : +33 (0)6 19 07 43 43
T : +33 (0)9 52 96 81 86
www.ubicore.net

 

 


Re: SDK migration 0.9.5 -> 0.10.0 increase CPU usage

nicolas lantz
 

Hi,

I confirm that (in my test case) New SDK 0.10.0 toolchain seems to significantly increase CPU usage, the new SDK 0.10.0 Newlib a lot.
The details of my investigation below...


------------------------------------------------------------------
Test case
------------------------------------------------------------------
I do CPU average usage test on an audio compression task using the opus codec.

------------------------------------------------------------------
Measures
------------------------------------------------------------------
With CONFIG_SPEED_OPTIMIZATIONS=y

SDK 0.9.5
- Newlibc => 51% CPU usage
- minimal lib => 58% CPU usage

SDK 0.10.0
- Newlibc => 75% CPU usage
- minimal lib => 60% CPU usage

------------------
This gives
------------------
CPU usage between SDK 0.9.5 and SDK 0.10.0 with Newlibc : +47%
CPU usage between SDK 0.9.5 and SDK 0.10.0 with minimal lib : +3%

------------------------------------------------------------------
Investigations
------------------------------------------------------------------
SDK 0.9.5 is built on newllib 2.4.0
SDK 0.10.0 is built  on newlib 3.1.0,

But it seem that there is no difference on string function source code (memmove, memcpy, memset),

------------------------------------------------------------------
Assumption (in my test case)
------------------------------------------------------------------
SDK 0.10.0 toolchain reduce the CPU performance vs the SDK 0.9.5 of about 3%
Newlibc is compiled differently between the SDK 0.9.5 and the SDK 0.10.0 as it increase the CPU usage of about 47-3 = 44%
On SDK 0.9.5 Newlib  is more efficient that minial lib of about 58-51 = 7%

------------------------------------------------------------------
Trial :
------------------------------------------------------------------
I replace the source code of the three more used function (memmove, memcpy, memset) in minimal lib with the one from Newlib source.
I build my projet with the SDK 0.10.0

------------------
Measures
------------------
CPU usage :  53%
=> gain from minimal libc current source code of   -13%
=> gain from Newlib : - 41%
=> I find the performance I had with NewLib and SDK 0.9.5 with additional CPU usage of about 4%


------------------------------------------------------------------
Suggestions for improvement
------------------------------------------------------------------
- compile newlib differently in SDK
- use improved code for the minimal lib




Nicolas
Nicolas LANTZ
M : +33 (0)6 19 07 43 43
T : +33 (0)9 52 96 81 86
www.ubicore.net
Le 27/03/2019 à 17:19, nicolas lantz a écrit :

Anas,

The processor is an nrf52840, and the opus codec is imported from the "nRFready Smart Remote 3 for nRF52 Series" project.

The project is build with the NEWLIB_LIBC and i have also imported some C Flags in the CMakeLists.txt  to disable Floating point use and enable some DSP extensions available on Nordic chip .

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} \
 -DARM_MATH_CM4 \
 -DDISABLE_FLOAT_API \
 -DFIXED_POINT \
 -DHAVE_ALLOCA_H \
 -DUSE_ALLOCA \
 -DHAVE_LRINT \
 -DHAVE_LRINTF \
 -DOPUS_ARM_ASM \
 -DOPUS_ARM_INLINE_ASM \
 -DOPUS_ARM_INLINE_EDSP \
 -DOPUS_ARM_INLINE_MEDIA \
 -DOPUS_ARM_MAY_HAVE_EDSP \
 -DOPUS_ARM_PRESUME_EDSP \
 -DVAR_ARRAYS \
 -DOPUS_BUILD \
 -DHAVE_CONFIG_H \
 -g \
")

I guess the new toolchain does not treat these optimizations the same way...


My first demo with opus :
https://gitlab.com/ubicore/zephyr/commit/177a410c6902ecacb9552c907f1e4f60e7a23b1a

Nicolas

Nicolas LANTZ
M : +33 (0)6 19 07 43 43
T : +33 (0)9 52 96 81 86
www.ubicore.net
Le 27/03/2019 à 15:21, Nashif, Anas a écrit :

Nicolas,

Which architecture? I did not see any issues.

 

Anas

 

From: devel@... [mailto:devel@...] On Behalf Of nicolas lantz
Sent: Wednesday, March 27, 2019 9:37 AM
To: devel@...
Subject: [Zephyr-devel] SDK migration 0.9.5 -> 0.10.0 increase CPU usage

 

Hi all,

I just migrate from SDK 0.9.5 to SDK 0.10.0 on my projet and i have between 40% to 90% of additional CPU usage with the new toolchain on the audio compression and decompression tasks (using opus codec).

This over cpu consumption append both with build optimisation configured in debug and speed mode.

Does anyone have some any info or explanation ?

Thanks

-- 
Nicolas
 
Nicolas LANTZ
M : +33 (0)6 19 07 43 43
T : +33 (0)9 52 96 81 86
www.ubicore.net



Re: Syntax in dts file for defining a GPIO output based on nxp,kinetis-gpio.yaml #defines

Bo.Kragelund@...
 

Thank you for your quick assistance yesterday Andrei.

Maybe I misunderstood your last point, but as I see it, it is the name "test_pin" in my example, which needs to remain the same across dts files for other boards to keep the same generated macro name in the dts configurations.
It is also the name "test_pin" that is added as a header comment in the auto generated file generated_dts_board.h as /* test_pin */
I think the name "_test" is just a name for the dts node itself and not used anywhere.

Bonus info:
Using a "_" in the begining of the dts node name "_test" actually puts the generated macro names in the top of the auto generated file generated_dts_board.h, which might be a help to distinguish between your own definitions and the definitions made in zephyr already. Probably because the dts nodes are generated in alphabetic order.

Best regards,
Bo


Re: [Zephyr Main] WEST File Initialization Problem

Geoffroy Van Cutsem
 

Can you paste on this thread what the output of “pip3 show –f west” and “echo $PATH” return?

 

From: devel@... [mailto:devel@...] On Behalf Of M Rizwan Ghori
Sent: Friday, March 29, 2019 6:08 AM
To: Marti Bolivar <marti@...>
Cc: Brett Preston <bpreston@...>; devel@...
Subject: Re: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem

 

Dear,

I am using Ubuntu 18.04.

Moreover, the path of West file is after running the command

"pip3 show -f west"

is

home/rizwan/.local/python 3.6/packages

Subsequently, i have installed all the stuff related to Zephyr including Cmake and Zephyr sdk in a path

/home/rizwan/zaphyr

Kindly advise.

 

Rizwan



From: Marti Bolivar

Sent: Friday, 29 March, 12:43 pm

Subject: Re: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem

To: M Rizwan Ghori

Cc: Brett Preston, devel@...

What version of Ubuntu are you using?

If you ran "pip3 install --user west" and west cannot be run afterwards, it sounds like the directory that the west binary was installed into is not on your $PATH. Older versions of Ubuntu sometimes have this issue; I forget which ones.

Usually this directory is ~/.local/bin. Please ensure this directory is on your PATH environment variable and try again.

If that doesn't work, you can confirm where west was installed by running "pip3 show -f west"; check both the Location: value and the [...]/bin/west relative path in the Files: list that follows.

Marti

On Thu, Mar 28, 2019, 10:22 PM M Rizwan Ghori <rizwanghori@...> wrote:

Hi,

Thank you for your kind response. I am using Ubuntu OS for the project. I have followed all the installation steps given on webpage (Linux)

Moreover, after following all the steps of aforementioned link, i started the next step given on the following link.

Commands Tried on Ubuntu:

west init zephyrproject Error Received on Execution of the aforementioned commands:

Best Regards

Muhammad Rizwan Ghori

USM Fellow,

Universiti Sains Malaysia (USM),

 

From: Marti Bolivar <marti@...>

Sent: Friday, March 29, 2019 8:44:47 AM

To: Brett Preston

Cc: M Rizwan Ghori; devel@...

Subject: Re: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem

 

Hi,

Happy to try to help, but could you please provide details? The below email is a bit vague: "commands given on the website cannot recognize the West file" doesn't provide much context on what went wrong.

- what is your host operating system?

- what commands did you type?

- what was the output?

- what output did you expect?

Feel free to just copy and paste rather than taking screenshots of the terminal window.

Thanks,

Marti

On Thu, Mar 28, 2019, 9:39 PM Brett Preston <bpreston@...> wrote:

Sorry - forwarding from the main mail list to devel@...

On Thu, Mar 28, 2019 at 8:37 PM M Rizwan Ghori <rizwanghori@...> wrote:

Dear,

I am trying to use Zephyr in my research project. I am following the steps given on this website for the Zephyr installation. During the process i am facing problem regarding the initialization of West. The commands given on the website cannot recognize the West file. Kindly advise. Waiting for your kind reply.

Best Regards

 



--

Brett Preston

Sr. Program Manager

The Linux Foundation

+1 (971) 303-9030

 


Re: [Zephyr Main] WEST File Initialization Problem

Marti Bolivar <marti@...>
 



On Thu, Mar 28, 2019, 11:07 PM M Rizwan Ghori <rizwanghori@...> wrote:
Dear,

I am using Ubuntu 18.04.

Moreover, the path of West file is after running the command
"pip3 show -f west"
is
home/rizwan/.local/python 3.6/packages

Is this correct? The lack of / before "home" and the space between "python" and "3.6" makes me suspect this was retyped by hand instead of copy/pasted. Please copy/paste whenever possible; it avoids typos.

If it is correct, please make sure this directory is on your PATH and try again as suggested.

Again, it is better if you copy paste the actual commands you typed and their output. Please do not try to summarize the results or refer to online documents. It leaves me guessing about what is actually happening on your computer instead of showing me directly.

Thanks,
Marti



Subsequently, i have installed all the stuff related to Zephyr including Cmake and Zephyr sdk in a path

/home/rizwan/zaphyr

Kindly advise.

Rizwan




From: Marti Bolivar
Sent: Friday, 29 March, 12:43 pm
Subject: Re: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem
To: M Rizwan Ghori
Cc: Brett Preston, devel@...


What version of Ubuntu are you using?

If you ran "pip3 install --user west" and west cannot be run afterwards, it sounds like the directory that the west binary was installed into is not on your $PATH. Older versions of Ubuntu sometimes have this issue; I forget which ones.

Usually this directory is ~/.local/bin. Please ensure this directory is on your PATH environment variable and try again.

If that doesn't work, you can confirm where west was installed by running "pip3 show -f west"; check both the Location: value and the [...]/bin/west relative path in the Files: list that follows.

Marti

On Thu, Mar 28, 2019, 10:22 PM M Rizwan Ghori <rizwanghori@...> wrote:
Hi,

Thank you for your kind response. I am using Ubuntu OS for the project. I have followed all the installation steps given on webpage (Linux)

Moreover, after following all the steps of aforementioned link, i started the next step given on the following link.

Commands Tried on Ubuntu:
west init zephyrproject Error Received on Execution of the aforementioned commands:
Best Regards
Muhammad Rizwan Ghori
USM Fellow,
Universiti Sains Malaysia (USM),
 

From: Marti Bolivar <marti@...>
Sent: Friday, March 29, 2019 8:44:47 AM
To: Brett Preston
Cc: M Rizwan Ghori; devel@...
Subject: Re: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem
 
Hi,

Happy to try to help, but could you please provide details? The below email is a bit vague: "commands given on the website cannot recognize the West file" doesn't provide much context on what went wrong.

- what is your host operating system?
- what commands did you type?
- what was the output?
- what output did you expect?

Feel free to just copy and paste rather than taking screenshots of the terminal window.

Thanks,
Marti


On Thu, Mar 28, 2019, 9:39 PM Brett Preston <bpreston@...> wrote:
Sorry - forwarding from the main mail list to devel@...


On Thu, Mar 28, 2019 at 8:37 PM M Rizwan Ghori <rizwanghori@...> wrote:
Dear,
I am trying to use Zephyr in my research project. I am following the steps given on this website for the Zephyr installation. During the process i am facing problem regarding the initialization of West. The commands given on the website cannot recognize the West file. Kindly advise. Waiting for your kind reply.
Best Regards
 



--
Brett Preston
Sr. Program Manager
The Linux Foundation
+1 (971) 303-9030



Re: [Zephyr Main] WEST File Initialization Problem

M Rizwan Ghori <rizwanghori@...>
 

Dear,

I am using Ubuntu 18.04.

Moreover, the path of West file is after running the command
"pip3 show -f west"
is
home/rizwan/.local/python 3.6/packages

Subsequently, i have installed all the stuff related to Zephyr including Cmake and Zephyr sdk in a path

/home/rizwan/zaphyr

Kindly advise.

Rizwan




From: Marti Bolivar
Sent: Friday, 29 March, 12:43 pm
Subject: Re: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem
To: M Rizwan Ghori
Cc: Brett Preston, devel@...


What version of Ubuntu are you using?

If you ran "pip3 install --user west" and west cannot be run afterwards, it sounds like the directory that the west binary was installed into is not on your $PATH. Older versions of Ubuntu sometimes have this issue; I forget which ones.

Usually this directory is ~/.local/bin. Please ensure this directory is on your PATH environment variable and try again.

If that doesn't work, you can confirm where west was installed by running "pip3 show -f west"; check both the Location: value and the [...]/bin/west relative path in the Files: list that follows.

Marti

On Thu, Mar 28, 2019, 10:22 PM M Rizwan Ghori <rizwanghori@...> wrote:
Hi,

Thank you for your kind response. I am using Ubuntu OS for the project. I have followed all the installation steps given on webpage (Linux)

Moreover, after following all the steps of aforementioned link, i started the next step given on the following link.

Commands Tried on Ubuntu:
west init zephyrproject Error Received on Execution of the aforementioned commands:
Best Regards
Muhammad Rizwan Ghori
USM Fellow,
Universiti Sains Malaysia (USM),
 

From: Marti Bolivar <marti@...>
Sent: Friday, March 29, 2019 8:44:47 AM
To: Brett Preston
Cc: M Rizwan Ghori; devel@...
Subject: Re: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem
 
Hi,

Happy to try to help, but could you please provide details? The below email is a bit vague: "commands given on the website cannot recognize the West file" doesn't provide much context on what went wrong.

- what is your host operating system?
- what commands did you type?
- what was the output?
- what output did you expect?

Feel free to just copy and paste rather than taking screenshots of the terminal window.

Thanks,
Marti


On Thu, Mar 28, 2019, 9:39 PM Brett Preston <bpreston@...> wrote:
Sorry - forwarding from the main mail list to devel@...


On Thu, Mar 28, 2019 at 8:37 PM M Rizwan Ghori <rizwanghori@...> wrote:
Dear,
I am trying to use Zephyr in my research project. I am following the steps given on this website for the Zephyr installation. During the process i am facing problem regarding the initialization of West. The commands given on the website cannot recognize the West file. Kindly advise. Waiting for your kind reply.
Best Regards
 



--
Brett Preston
Sr. Program Manager
The Linux Foundation
+1 (971) 303-9030



Re: [Zephyr Main] WEST File Initialization Problem

Marti Bolivar <marti@...>
 

What version of Ubuntu are you using?

If you ran "pip3 install --user west" and west cannot be run afterwards, it sounds like the directory that the west binary was installed into is not on your $PATH. Older versions of Ubuntu sometimes have this issue; I forget which ones.

Usually this directory is ~/.local/bin. Please ensure this directory is on your PATH environment variable and try again.

If that doesn't work, you can confirm where west was installed by running "pip3 show -f west"; check both the Location: value and the [...]/bin/west relative path in the Files: list that follows.

Marti


On Thu, Mar 28, 2019, 10:22 PM M Rizwan Ghori <rizwanghori@...> wrote:

Hi,


Thank you for your kind response. I am using Ubuntu OS for the project. I have followed all the installation steps given on webpage (Linux)


https://docs.zephyrproject.org/latest/getting_started/installation_linux.html


Moreover, after following all the steps of aforementioned link, i started the next step given on the following link.


https://docs.zephyrproject.org/latest/getting_started/index.html#get-the-source-code



Commands Tried on Ubuntu:

west --version
west init zephyrproject
Error Received on Execution of the aforementioned commands:

No command 'west' found, did you mean:
Command 'test' from package 'coreutils' (main)
west: command not found


Best Regards
Muhammad Rizwan Ghori
USM Fellow,
Universiti Sains Malaysia (USM),
 



From: Marti Bolivar <marti@...>
Sent: Friday, March 29, 2019 8:44:47 AM
To: Brett Preston
Cc: M Rizwan Ghori; devel@...
Subject: Re: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem
 
Hi,

Happy to try to help, but could you please provide details? The below email is a bit vague: "commands given on the website cannot recognize the West file" doesn't provide much context on what went wrong.

- what is your host operating system?
- what commands did you type?
- what was the output?
- what output did you expect?

Feel free to just copy and paste rather than taking screenshots of the terminal window.

Thanks,
Marti


On Thu, Mar 28, 2019, 9:39 PM Brett Preston <bpreston@...> wrote:
Sorry - forwarding from the main mail list to devel@...


On Thu, Mar 28, 2019 at 8:37 PM M Rizwan Ghori <rizwanghori@...> wrote:

Dear,
I am trying to use Zephyr in my research project. I am following the steps given on this website for the Zephyr installation. During the process i am facing problem regarding the initialization of West. The commands given on the website cannot recognize the West file. Kindly advise. Waiting for your kind reply.

Best Regards
 




--
Brett Preston
Sr. Program Manager
The Linux Foundation
+1 (971) 303-9030


Re: [Zephyr Main] WEST File Initialization Problem

M Rizwan Ghori <rizwanghori@...>
 

Hi,


Thank you for your kind response. I am using Ubuntu OS for the project. I have followed all the installation steps given on webpage (Linux)


https://docs.zephyrproject.org/latest/getting_started/installation_linux.html


Moreover, after following all the steps of aforementioned link, i started the next step given on the following link.


https://docs.zephyrproject.org/latest/getting_started/index.html#get-the-source-code



Commands Tried on Ubuntu:

west --version
west init zephyrproject
Error Received on Execution of the aforementioned commands:

No command 'west' found, did you mean:
Command 'test' from package 'coreutils' (main)
west: command not found


Best Regards
Muhammad Rizwan Ghori
USM Fellow,
Universiti Sains Malaysia (USM),
 



From: Marti Bolivar <marti@...>
Sent: Friday, March 29, 2019 8:44:47 AM
To: Brett Preston
Cc: M Rizwan Ghori; devel@...
Subject: Re: [Zephyr-devel] [Zephyr Main] WEST File Initialization Problem
 
Hi,

Happy to try to help, but could you please provide details? The below email is a bit vague: "commands given on the website cannot recognize the West file" doesn't provide much context on what went wrong.

- what is your host operating system?
- what commands did you type?
- what was the output?
- what output did you expect?

Feel free to just copy and paste rather than taking screenshots of the terminal window.

Thanks,
Marti


On Thu, Mar 28, 2019, 9:39 PM Brett Preston <bpreston@...> wrote:
Sorry - forwarding from the main mail list to devel@...


On Thu, Mar 28, 2019 at 8:37 PM M Rizwan Ghori <rizwanghori@...> wrote:

Dear,
I am trying to use Zephyr in my research project. I am following the steps given on this website for the Zephyr installation. During the process i am facing problem regarding the initialization of West. The commands given on the website cannot recognize the West file. Kindly advise. Waiting for your kind reply.

Best Regards
 




--
Brett Preston
Sr. Program Manager
The Linux Foundation
+1 (971) 303-9030


Re: [Zephyr Main] WEST File Initialization Problem

Marti Bolivar <marti@...>
 

Hi,

Happy to try to help, but could you please provide details? The below email is a bit vague: "commands given on the website cannot recognize the West file" doesn't provide much context on what went wrong.

- what is your host operating system?
- what commands did you type?
- what was the output?
- what output did you expect?

Feel free to just copy and paste rather than taking screenshots of the terminal window.

Thanks,
Marti


On Thu, Mar 28, 2019, 9:39 PM Brett Preston <bpreston@...> wrote:
Sorry - forwarding from the main mail list to devel@...


On Thu, Mar 28, 2019 at 8:37 PM M Rizwan Ghori <rizwanghori@...> wrote:

Dear,
I am trying to use Zephyr in my research project. I am following the steps given on this website for the Zephyr installation. During the process i am facing problem regarding the initialization of West. The commands given on the website cannot recognize the West file. Kindly advise. Waiting for your kind reply.

Best Regards
 




--
Brett Preston
Sr. Program Manager
The Linux Foundation
+1 (971) 303-9030


Re: [Zephyr Main] WEST File Initialization Problem

Brett Preston
 

Sorry - forwarding from the main mail list to devel@...


On Thu, Mar 28, 2019 at 8:37 PM M Rizwan Ghori <rizwanghori@...> wrote:

Dear,
I am trying to use Zephyr in my research project. I am following the steps given on this website for the Zephyr installation. During the process i am facing problem regarding the initialization of West. The commands given on the website cannot recognize the West file. Kindly advise. Waiting for your kind reply.

Best Regards
 




--
Brett Preston
Sr. Program Manager
The Linux Foundation
+1 (971) 303-9030


Zephyr v1.14.0-rc3 Tagged

Kumar Gala
 

Hi all,

We have just tagged Zephyr 1.14.0-rc3.

At this point ONLY PRs related to docs or related to a GitHub issue / bug will go in. If a PR fixes a bug it MUST have an associated GitHub issue.

Our bug counts are looking pretty good for the release at this point:

6 - High [Goal 0]
26 - Medium [Goal 20]
57 - Low [Goal 50]

The final release is tentatively scheduled for the 12th of April.

The full release log can be found here:
https://github.com/zephyrproject-rtos/zephyr/releases/tag/v1.14.0-rc3

Thanks to everybody who contributed to this release!

Kumar


Re: Syntax in dts file for defining a GPIO output based on nxp,kinetis-gpio.yaml #defines

Andrei Gansari
 

Hello,

 

Yes, my example was hardcoded in regard to port and pin number. Your example makes them configurable via dts, while code remains the same.

 

I only have to point another thing: the generated macros name will remain the same in other dts configurations if you keep the same name across dts (in the example:  _test {} ).

 

 

Regards,

Andrei

 

 

From: devel@... <devel@...> On Behalf Of Bo.Kragelund via Lists.Zephyrproject.Org
Sent: Thursday, March 28, 2019 5:06 PM
To: devel@...
Cc: devel@...
Subject: Re: [Zephyr-devel] Syntax in dts file for defining a GPIO output based on nxp,kinetis-gpio.yaml #defines

 

Hello Andrei,

And thank you very much for your quick answer.
I really appriciate the quick link to where I can find the documentation and also the example you have provided.

I am also aware of, that it will be in the code, that you configure the pin to be input or output.

But what is not so great is, that we would very much like to define the port and pin number at the dts level for the specific boards, that we support.
We want the code to be generic and not be changed, if a new board will use another pin for the same function.

This is what zephyr has achieved by making the gpio-leds.yaml and then setup the leds in the board specific dts files.
By doing this, along with using alias, you simply refer to the define LED0_GPIO_PIN in your code across all boards without knowing what pin it is and what port in the code, which we like.

We have actually made our own gpio-xxx.yaml, which looks similar to gpio-leds.yaml and placed it in the same location as gpio-leds.yaml.
Then we put the following lines in the dts file for the given board:

_test {

compatible = "gpio-xxx";

test_pin {

gpios = <&gpiob 22 0>;

label = "My test pin";

};

};


This will create the following in the auto generated header file:

/* test_pin */

#define DT_GPIO_OUT_TEST_PIN_GPIO_CONTROLLER "GPIO_1"

#define DT_GPIO_OUT_TEST_PIN_GPIO_FLAGS 0

#define DT_GPIO_OUT_TEST_PIN_GPIO_PIN 22

#define DT_GPIO_OUT_TEST_PIN_LABEL "My test pin"

 

We don't use alias because we want to see in the code, that the defines comes from dts.
The code will then have lines like this:


wdt_device = device_get_binding(DT_GPIO_OUT_TEST_PIN_GPIO_CONTROLLER);

gpio_pin_configure(wdt_device, DT_GPIO_OUT_TEST_PIN_GPIO_PIN, GPIO_DIR_OUT | DT_GPIO_OUT_TEST_PIN_GPIO_FLAGS);

gpio_pin_write(wdt_device, DT_GPIO_OUT_TEST_PIN_GPIO_PIN, 1);

 

I guess this is a way to do it, if you want to keep your code independant of pin numbers etc.
Of course you have to write the dts lines with the exact same names in all dts files supporting this function.

Best regards,
Bo


Re: Syntax in dts file for defining a GPIO output based on nxp,kinetis-gpio.yaml #defines

Bo.Kragelund@...
 

Hello Andrei,

And thank you very much for your quick answer.
I really appriciate the quick link to where I can find the documentation and also the example you have provided.

I am also aware of, that it will be in the code, that you configure the pin to be input or output.

But what is not so great is, that we would very much like to define the port and pin number at the dts level for the specific boards, that we support.
We want the code to be generic and not be changed, if a new board will use another pin for the same function.

This is what zephyr has achieved by making the gpio-leds.yaml and then setup the leds in the board specific dts files.
By doing this, along with using alias, you simply refer to the define LED0_GPIO_PIN in your code across all boards without knowing what pin it is and what port in the code, which we like.

We have actually made our own gpio-xxx.yaml, which looks similar to gpio-leds.yaml and placed it in the same location as gpio-leds.yaml.
Then we put the following lines in the dts file for the given board:

_test {
compatible = "gpio-xxx";
test_pin {
gpios = <&gpiob 22 0>;
label = "My test pin";
};
};

This will create the following in the auto generated header file:

/* test_pin */
#define DT_GPIO_OUT_TEST_PIN_GPIO_CONTROLLER "GPIO_1"
#define DT_GPIO_OUT_TEST_PIN_GPIO_FLAGS 0
#define DT_GPIO_OUT_TEST_PIN_GPIO_PIN 22
#define DT_GPIO_OUT_TEST_PIN_LABEL "My test pin"
 
We don't use alias because we want to see in the code, that the defines comes from dts.
The code will then have lines like this:

wdt_device = device_get_binding(DT_GPIO_OUT_TEST_PIN_GPIO_CONTROLLER);
gpio_pin_configure(wdt_device, DT_GPIO_OUT_TEST_PIN_GPIO_PIN, GPIO_DIR_OUT | DT_GPIO_OUT_TEST_PIN_GPIO_FLAGS);
gpio_pin_write(wdt_device, DT_GPIO_OUT_TEST_PIN_GPIO_PIN, 1);
 
I guess this is a way to do it, if you want to keep your code independant of pin numbers etc.
Of course you have to write the dts lines with the exact same names in all dts files supporting this function.

Best regards,
Bo


Re: Syntax in dts file for defining a GPIO output based on nxp,kinetis-gpio.yaml #defines

Andrei Gansari
 

Hello Bo,

 

 

We have a general help page for Device Tree: https://docs.zephyrproject.org/latest/guides/dts/index.html

 

In your particular case, you need to set port b pin 22 as output.

 

Device Tree:

The purpose of DT is to describe the HW of the board (boot time @ Linux, compile time @ Zephyr).

K64F’s DT file is found in: boards/arm/frdm_k64f/frdm_k64f.dts I expect this is what you are looking at. It also includes file dts/arm/nxp/nxp_k6x.dtsi where port b is set using nxp,kinetis-gpio.yaml. Dtsi file is a generic dts include file that describes the SoC (we may have another board with the same SoC on it).

Add the following to frdm_k64f.dts to use gpiob from nxp_k6x.dtsi:

&gpiob {

    status = "ok";

};

You can comment out/remove the following to remove he led configuration on the same pin:

        red_led: led_0 {

            gpios = <&gpiob 22 0>;

            label = "User LD1";

        };

 

Code:

You can’t configure a pin as in/out, using DT, we have board’s pinmux.c (in boards/arm/frdm_k64f) to do that. This is because GPIO should be dynamic during the application.

pinmux_pin_set(portb, 22, PORT_PCR_MUX(kPORT_MuxAsGpio));

The code above sets pin as GPIO (for the led in the case above). Then set pin to output and send a signal:

#include <gpio.h>

 

    pinmux_pin_set(portb, 22, PORT_PCR_MUX(kPORT_MuxAsGpio));

 

    struct device *gpiob =

           device_get_binding(DT_NXP_KINETIS_GPIO_GPIO_B_LABEL);

 

    gpio_pin_configure(gpiob, 22, GPIO_DIR_OUT);

    gpio_pin_write(gpiob, 22, 0);

 

DT_NXP_KINETIS_GPIO_GPIO_B_LABEL can be found in files zephyr/include/generated/generated_dts_board*** (relative to build folder) this is the effect of setting portb in dts.

 

 

Regards,

Andrei Gânsari

 

From: devel@... <devel@...> On Behalf Of Bo.Kragelund via Lists.Zephyrproject.Org
Sent: Thursday, March 28, 2019 12:57 PM
To: devel@...
Cc: devel@...
Subject: [Zephyr-devel] Syntax in dts file for defining a GPIO output based on nxp,kinetis-gpio.yaml #defines

 

Hello developers!

I have difficulties finding any documentation/examples of how to define a simple GPIO as an e.g. output in the frdm_k64f.dts file for the frdm_k64f board.

As long as we talk about defining the outputs for LEDS on the board, this is done very nice based on the gpio-keys.yaml specific for this purpose.
As seen below, which is copied from the frdm_k64f.dts file, you simply define the port, pin number, and flags in one line like this: gpios = <&gpiob 22 0>, which means port b, pin 22, and no flags.

leds {

compatible = "gpio-leds";

red_led: led_0 {

gpios = <&gpiob 22 0>;

label = "User LD1";

};

};

 

But in general, I believe the idea is to define GPIO in the dts file based on the nxp,kinetis-gpio.yaml file created for this purpose, instead of the gpio-keys.yaml file.
But this file has a completely different way/syntax for defining a GPIO compared to the gpio-keys.yaml file.
It doesn't have the gpios property, but reg and interrupt instead. It also includes the below lines, which I guess I should use in some way:

"#cells":

  - pin

  - flags

 

Since I am rather new in dts and yaml syntax, I hope someone can help me with the syntax for setting port b, pin 22, and no flags, based on the nxp,kinetis-gpio.yaml file...

As written before, I haven't been able to find any examples so far in either the zephyr repository or zephyr documentation.

Thank you for your help.

Best regards,
Bo Kragelund

I hope someone can help me,


Re: How to run samples/subsys/usb/console on windows with nrf52840_pac10056?

Carles Cufi
 

Hi Aaron,

 

There is a Pull Request to fix this, but it is not merged yet:

https://github.com/zephyrproject-rtos/zephyr/pull/14106

 

Regards,

 

Carles

 

From: Aaron Xu <overheat1984@...>
Sent: 28 March 2019 12:30
To: Andrei Emeltchenko <andrei.emeltchenko.news@...>
Cc: Lars Knudsen <larsgk@...>; Cufi, Carles <Carles.Cufi@...>; zephyr-devel <zephyr-devel@...>; Szymczyk, Marcin <Marcin.Szymczyk@...>; devel@...
Subject: Re: [Zephyr-devel] How to run samples/subsys/usb/console on windows with nrf52840_pac10056?

 

Hi,

 

After updating my zephyr code to latest, I found some patch already done both on USB driver and sample. Good job!
And the result of console sample on my win10 PC is changed, there is one more Zephyr port, looks the USB device already be recognized, but still not works.

Any patch pending not merged?

 

2.png

 

 

On Mon, Mar 18, 2019 at 3:36 PM Andrei Emeltchenko <andrei.emeltchenko.news@...> wrote:

Hi Lars,

On Sat, Mar 16, 2019 at 12:57:52PM +0100, Lars Knudsen wrote:
>    Hi Carles,
>    If the right descriptors are added, it should be possible to get working
>    without the *.inf file.  Windows is a mess - but it *is* possible.
>    There seem to be something wrong in the descriptors (at least in the
>    WebUSB sample) preventing windows from picking up the device sans drivers
>    - but I know it is possible because I made it in this project (mbed
>    based... trying to find time to port it over ;)) ->

Do they use MS OS Descriptors to pick right driver? We have this
capability in Zephyr, it is used in RNDIS to pick RNDIS compatible
device driver.

You can also create issue for the sample.

Best regards
Andrei Emeltchenko

>    [1]https://github.com/empirikit/empirikit-controller
>    (it depends on this lib that has some of the webusb support
>    -> [2]https://os.mbed.com/users/larsgk/code/USBDevice_WebUSB/file/1d8a6665d607/WebUSBDevice/
>    )
>    Also... remember that windows remembers devices and their drivers.. and
>    during development/test of the solution, the easiest might be to have a
>    clean windows VM that can be deleted on every try ... that or bump the PID
>    ;) ... windows is ..interesting
>    br
>    Lars
>    On Sat, Mar 16, 2019 at 12:42 PM Cufi, Carles
>    <[3]carles.cufi@...> wrote:
>
>      Hi Aaron,
>
>       
>
>      This is because Windows needs an .inf file with matching VID/PID.
>
>      Marcin from Nordic is currently working on addressing that.
>
>       
>
>      See: [4]https://github.com/zephyrproject-rtos/zephyr/pull/14106
>
>       
>
>      Carles
>
>       
>
>      From: [5]devel@...
>      <[6]devel@...> On Behalf Of Aaron Xu via
>      [7]Lists.Zephyrproject.Org
>      Sent: 16 March 2019 02:10
>      To: zephyr-devel <[8]zephyr-devel@...>
>      Cc: [9]devel@...
>      Subject: [Zephyr-devel] How to run samples/subsys/usb/console on windows
>      with nrf52840_pac10056?
>
>       
>
>      Hi,
>
>      I want to evaluate the samples/subsys/usb/console sample. It looks quite
>      easy from the README file. But my PC(win10) cannot recognize the USB
>      console(I suppose CDC device) correctly.
>
>       
>
>      PS: I connect the J3 port on pca10056 to my PC and switch the SW9 to
>      "USB".
>
>       
>
>      [10]usb.png
>
>       
>
>      Do I miss something?
>
>      Thanks.
> >
> References
>
>    Visible links
>    1. https://github.com/empirikit/empirikit-controller
>    2. https://os.mbed.com/users/larsgk/code/USBDevice_WebUSB/file/1d8a6665d607/WebUSBDevice/
>    3. mailto:carles.cufi@...
>    4. https://github.com/zephyrproject-rtos/zephyr/pull/14106
>    5. mailto:devel@...
>    6. mailto:devel@...
>    7. http://lists.zephyrproject.org/
>    8. mailto:zephyr-devel@...
>    9. mailto:devel@...
>   11. https://lists.zephyrproject.org/g/devel/message/5796
>   12. mailto:larsgk@...?subject=Private:%20Re:%20Re%3A%20%5BZephyr-devel%5D%20How%20to%20run%20samples%2Fsubsys%2Fusb%2Fconsole%20on%20windows%20with%20nrf52840_pac10056%3F
>   13. mailto:devel@...?subject=Re:%20Re%3A%20%5BZephyr-devel%5D%20How%20to%20run%20samples%2Fsubsys%2Fusb%2Fconsole%20on%20windows%20with%20nrf52840_pac10056%3F
>   14. https://lists.zephyrproject.org/mt/30449543/900599
>   15. https://lists.zephyrproject.org/g/devel/post
>   16. https://lists.zephyrproject.org/g/devel/editsub/900599
>   17. mailto:devel+owner@...
>   18. https://lists.zephyrproject.org/g/devel/unsub


Re: How to run samples/subsys/usb/console on windows with nrf52840_pac10056?

Aaron Xu
 

Hi,

After updating my zephyr code to latest, I found some patch already done both on USB driver and sample. Good job!
And the result of console sample on my win10 PC is changed, there is one more Zephyr port, looks the USB device already be recognized, but still not works.

Any patch pending not merged?

2.png


On Mon, Mar 18, 2019 at 3:36 PM Andrei Emeltchenko <andrei.emeltchenko.news@...> wrote:
Hi Lars,

On Sat, Mar 16, 2019 at 12:57:52PM +0100, Lars Knudsen wrote:
>    Hi Carles,
>    If the right descriptors are added, it should be possible to get working
>    without the *.inf file.  Windows is a mess - but it *is* possible.
>    There seem to be something wrong in the descriptors (at least in the
>    WebUSB sample) preventing windows from picking up the device sans drivers
>    - but I know it is possible because I made it in this project (mbed
>    based... trying to find time to port it over ;)) ->

Do they use MS OS Descriptors to pick right driver? We have this
capability in Zephyr, it is used in RNDIS to pick RNDIS compatible
device driver.

You can also create issue for the sample.

Best regards
Andrei Emeltchenko

>    [1]https://github.com/empirikit/empirikit-controller
>    (it depends on this lib that has some of the webusb support
>    -> [2]https://os.mbed.com/users/larsgk/code/USBDevice_WebUSB/file/1d8a6665d607/WebUSBDevice/
>    )
>    Also... remember that windows remembers devices and their drivers.. and
>    during development/test of the solution, the easiest might be to have a
>    clean windows VM that can be deleted on every try ... that or bump the PID
>    ;) ... windows is ..interesting
>    br
>    Lars
>    On Sat, Mar 16, 2019 at 12:42 PM Cufi, Carles
>    <[3]carles.cufi@...> wrote:
>
>      Hi Aaron,
>
>       
>
>      This is because Windows needs an .inf file with matching VID/PID.
>
>      Marcin from Nordic is currently working on addressing that.
>
>       
>
>      See: [4]https://github.com/zephyrproject-rtos/zephyr/pull/14106
>
>       
>
>      Carles
>
>       
>
>      From: [5]devel@...
>      <[6]devel@...> On Behalf Of Aaron Xu via
>      [7]Lists.Zephyrproject.Org
>      Sent: 16 March 2019 02:10
>      To: zephyr-devel <[8]zephyr-devel@...>
>      Cc: [9]devel@...
>      Subject: [Zephyr-devel] How to run samples/subsys/usb/console on windows
>      with nrf52840_pac10056?
>
>       
>
>      Hi,
>
>      I want to evaluate the samples/subsys/usb/console sample. It looks quite
>      easy from the README file. But my PC(win10) cannot recognize the USB
>      console(I suppose CDC device) correctly.
>
>       
>
>      PS: I connect the J3 port on pca10056 to my PC and switch the SW9 to
>      "USB".
>
>       
>
>      [10]usb.png
>
>       
>
>      Do I miss something?
>
>      Thanks.
> >
> References
>
>    Visible links
>    1. https://github.com/empirikit/empirikit-controller
>    2. https://os.mbed.com/users/larsgk/code/USBDevice_WebUSB/file/1d8a6665d607/WebUSBDevice/
>    3. mailto:carles.cufi@...
>    4. https://github.com/zephyrproject-rtos/zephyr/pull/14106
>    5. mailto:devel@...
>    6. mailto:devel@...
>    7. http://lists.zephyrproject.org/
>    8. mailto:zephyr-devel@...
>    9. mailto:devel@...
>   11. https://lists.zephyrproject.org/g/devel/message/5796
>   12. mailto:larsgk@...?subject=Private:%20Re:%20Re%3A%20%5BZephyr-devel%5D%20How%20to%20run%20samples%2Fsubsys%2Fusb%2Fconsole%20on%20windows%20with%20nrf52840_pac10056%3F
>   13. mailto:devel@...?subject=Re:%20Re%3A%20%5BZephyr-devel%5D%20How%20to%20run%20samples%2Fsubsys%2Fusb%2Fconsole%20on%20windows%20with%20nrf52840_pac10056%3F
>   14. https://lists.zephyrproject.org/mt/30449543/900599
>   15. https://lists.zephyrproject.org/g/devel/post
>   16. https://lists.zephyrproject.org/g/devel/editsub/900599
>   17. mailto:devel+owner@...
>   18. https://lists.zephyrproject.org/g/devel/unsub



Syntax in dts file for defining a GPIO output based on nxp,kinetis-gpio.yaml #defines

Bo.Kragelund@...
 

Hello developers!

I have difficulties finding any documentation/examples of how to define a simple GPIO as an e.g. output in the frdm_k64f.dts file for the frdm_k64f board.

As long as we talk about defining the outputs for LEDS on the board, this is done very nice based on the gpio-keys.yaml specific for this purpose.
As seen below, which is copied from the frdm_k64f.dts file, you simply define the port, pin number, and flags in one line like this: gpios = <&gpiob 22 0>, which means port b, pin 22, and no flags.
leds {
compatible = "gpio-leds";
red_led: led_0 {
gpios = <&gpiob 22 0>;
label = "User LD1";
};
};
 
But in general, I believe the idea is to define GPIO in the dts file based on the nxp,kinetis-gpio.yaml file created for this purpose, instead of the gpio-keys.yaml file.
But this file has a completely different way/syntax for defining a GPIO compared to the gpio-keys.yaml file.
It doesn't have the gpios property, but reg and interrupt instead. It also includes the below lines, which I guess I should use in some way:

"#cells":
  - pin
  - flags
 
Since I am rather new in dts and yaml syntax, I hope someone can help me with the syntax for setting port b, pin 22, and no flags, based on the nxp,kinetis-gpio.yaml file...

As written before, I haven't been able to find any examples so far in either the zephyr repository or zephyr documentation.

Thank you for your help.

Best regards,
Bo Kragelund

I hope someone can help me,


Re: Opus codec on nrf52840

nicolas lantz
 

Hi,

Very late, as I wanted to try to do that properly,

###############

Opus configuration :
- frame of 5ms
- opus bitrate (CBR) : 32kbit/s
- Sampling 16bit@16kHz
- Channel 1
- complexity 4
- Celt mode only

Zephyr build : CONFIG_SPEED_OPTIMIZATIONS=y

###############

With SDK 0.9.5, the CPU usage is about:
Opus Encoder : 50%
Opus Decoder : 30%

With SDK 0.10.0, the CPU usage is about:
Opus Encoder : 78%
Opus Decoder : 57%



Nicolas LANTZ
M : +33 (0)6 19 07 43 43
T : +33 (0)9 52 96 81 86
www.ubicore.net
Le 19/12/2018 à 10:28, Zięcik, Piotr a écrit :

Hi.

 

Great to hear that!

Do you have any information about resource usage (Flash/RAM used, CPU load etc)?

 

Piotr ZIĘCIK | Senior Firmware Engineer
M +48 698 726 973| Kraków, Poland
nordicsemi.com | devzone.nordicsemi.com

Nordic_logo_signature

 

From: nicolas lantz <nicolas.lantz@...>
Sent: Wednesday, December 19, 2018 10:15 AM
To: Zięcik, Piotr <Piotr.Ziecik@...>; Cufi, Carles <Carles.Cufi@...>; devel@...
Subject: Re: [Zephyr-devel] Opus codec on nrf52840

 

Hello,

I have a "net_opus" server sample that is able to compress and then decode an audio PCM stream with the opus codec.
- It work on the fly in realtime with an opus codec configured in low complexity on the nrf52840-dk board.
- the stream come from a  TCP client like netcat, it's encoded with opus, then decoded, and the output pcm stream is sent back to the TCP client.

Running the demo give something like that :
nc 192.0.2.1 4242 < Test_16000Hz_mono_16bit.raw  | aplay -t raw -f S16_LE -r 16000 -c 1 -

If someone is interested on it :
https://gitlab.com/ubicore/zephyr/commit/177a410c6902ecacb9552c907f1e4f60e7a23b1a



Regards,
Nicolas
 
Nicolas LANTZ
M : +33 (0)6 19 07 43 43
T : +33 (0)9 52 96 81 86
www.ubicore.net

Le 04/12/2018 à 10:38, nicolas lantz a écrit :

Thanks you for the reponse.
I took the time to extract the modified opus library code from the Smart Ready project (from the .exe to linux) and compared it to the origin opus lib.
Now i will try to use it in a zephry project
 
Regards,
 
Nicolas
Nicolas LANTZ
M : +33 (0)6 19 07 43 43
T : +33 (0)9 52 96 81 86
www.ubicore.net

Le 29/11/2018 à 12:56, Zięcik, Piotr a écrit :

Hello.

 

I can recommend looking into https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRFready-Smart-Remote-3-for-nRF52-Series

Unfortunately it is not based on the Zephyr, however it implements audio streaming using Opus and contains an optimized version of the codec

(with reduced memory requirements as well as using DPS extensions available on the Nordic chips).

 

If you require any further information, feel free to contact me.

Piotr ZIĘCIK | Senior Firmware Engineer
M +48 698 726 973| Kraków, Poland
nordicsemi.com | devzone.nordicsemi.com

Nordic_logo_signature

 

From: Cufi, Carles
Sent: Thursday, November 29, 2018 12:49 PM
To: nicolas lantz <nicolas.lantz@...>; devel@...; Zięcik, Piotr <Piotr.Ziecik@...>
Subject: RE: [Zephyr-devel] Opus codec on nrf52840

 

+ Piotr

 

From: devel@... <devel@...> On Behalf Of nicolas lantz
Sent: 29 November 2018 12:41
To: devel@...
Subject: [Zephyr-devel] Opus codec on nrf52840

 

Hi,

I would like to use the Opus codec with zephyr on a nrf52840 to encode or decode an audio stream.
Has anyone have a suggestion on this project?


Regards,
 
Nicolas
 

 

 


2241 - 2260 of 8098