Date   

Re: LWM2M batch uploading data

Michael Scott
 

Hello Benjamin,

On Mon, Sep 23, 2019, 9:11 AM Benjamin Lindqvist <benjamin.lindqvist@...> wrote:
To be honest, it sort of seems as if the implementation assumes it has a perpetually open socket connection to cloud at all times. Perhaps this is an exaggeration, but I'd kind of like to know how (if?) the implementation handles downed interfaces and broken pipes...

You are correct.  The missing piece is LwM2M queue mode support.  This mode is registered during the initial client / server connection.  It means there is a mutual agreement that the client will (in general) not be available for instantaneous queries, but prior to the agreed upon connection "lifetime", the client will re-establish communication with the server and answer requests.  There is a set period of time where the client will remain connected afterward and then it can go back offline.

Over the last few months, queue mode in Zephyr has gotten more attention (mainly due to expanding modem support).  Unfortunately, due to my current work load, I haven't had the time to implement and test it.

Here is the Zephyr issue which tracks the addition of LwM2M queue mode support:

Michael Scott
Embedded Software Engineer
Foundries.io


On Mon, Sep 23, 2019 at 5:34 PM Benjamin Lindqvist via Lists.Zephyrproject.Org <benjamin.lindqvist=endian.se@...> wrote:
Hi,

We have a use-case which I deem to be pretty normal: uplinks are really expensive and should be kept to a minimum (in fact, we want the radio completely powered off 99.99% of the time). But we have N sensors which we want to observe from the cloud, at different intervals. Looking briefly through the specification, one gets the impression that OBSERVE at some interval implies that the device uploads data at this observation interval. 

What we'd like to do is to sample the data at the observation interval and batch upload it at some different, longer, interval. It's not clear to me if the specification allows this - and if it does, does the Zephyr implementation allow it?

Grateful for clarifications.


API Meeting Agenda: 2019-09-24

Peter A. Bigot
 

Carles has asked me to lead the API telecon Tuesday 2019-09-24 as he will not be available.  Topics to discuss include:

* Status and concerns related to PR #17155 to change how timeout delays are represented in functions like `k_poll()`: https://github.com/zephyrproject-rtos/zephyr/pull/17155
* Status of the ongoing effort to update the GPIO API: https://github.com/zephyrproject-rtos/zephyr/issues/18530

Additional items in the "Triage" column in the GitHub project may be discussed if time permits.
If you want an item included in the meeting, please add it to the GitHub project.

Peter

https://github.com/zephyrproject-rtos/zephyr/wiki/Zephyr-Committee-and-Working-Group-Meetings#zephyr-api-discussion
https://github.com/zephyrproject-rtos/zephyr/projects/18
https://docs.google.com/document/d/1lv-8B5QE2m4FjBcvfqAXFIgQfW5oz6306zJ7GIZIWCk/edit


Request for reviews: change to timeout representation in kernel functions

Peter A. Bigot
 

PR 17155 (https://github.com/zephyrproject-rtos/zephyr/pull/17155) is an API cleanup that changes the type used to store timeout delays from a signed integer representing milliseconds to an opaque type that will be able to represent both absolute and relative times, higher resolution timeouts, and potentially timeouts on different clocks.  See https://github.com/zephyrproject-rtos/zephyr/issues/19282 for an overview of the current vision and a link to a presentation recently made to TSC that has even more background.

This PR provides the foundation technology that supports better timeouts.  In last weeks dev review telecon we discussed merging it quickly to avoid excess pain in rebasing it, and to get it visible early in the development cycle so a late merge doesn't require a rush to rebase a lot of other work.

Though it's huge, it's also fairly straightforward.  We're still working on a few patches to get it to pass shippable's tests. Code size is unchanged by the rework, but applications that choose to use 64-bit timers (which are new in this PR) will need more RAM.  There are some behavioral anomalies with large numbers of timers with short periods but these have been recognized before (and may be eliminated by further refactoring and cleanup).

However, we need more reviewers.  Please take a look at this, and the related issues, and provide feedback and any concerns you may have.

This will be a topic of discussion in the API telecon tomorrow.

Peter


Re: LWM2M batch uploading data

Benjamin Lindqvist
 

To be honest, it sort of seems as if the implementation assumes it has a perpetually open socket connection to cloud at all times. Perhaps this is an exaggeration, but I'd kind of like to know how (if?) the implementation handles downed interfaces and broken pipes...


On Mon, Sep 23, 2019 at 5:34 PM Benjamin Lindqvist via Lists.Zephyrproject.Org <benjamin.lindqvist=endian.se@...> wrote:
Hi,

We have a use-case which I deem to be pretty normal: uplinks are really expensive and should be kept to a minimum (in fact, we want the radio completely powered off 99.99% of the time). But we have N sensors which we want to observe from the cloud, at different intervals. Looking briefly through the specification, one gets the impression that OBSERVE at some interval implies that the device uploads data at this observation interval. 

What we'd like to do is to sample the data at the observation interval and batch upload it at some different, longer, interval. It's not clear to me if the specification allows this - and if it does, does the Zephyr implementation allow it?

Grateful for clarifications.


LWM2M batch uploading data

Benjamin Lindqvist
 

Hi,

We have a use-case which I deem to be pretty normal: uplinks are really expensive and should be kept to a minimum (in fact, we want the radio completely powered off 99.99% of the time). But we have N sensors which we want to observe from the cloud, at different intervals. Looking briefly through the specification, one gets the impression that OBSERVE at some interval implies that the device uploads data at this observation interval. 

What we'd like to do is to sample the data at the observation interval and batch upload it at some different, longer, interval. It's not clear to me if the specification allows this - and if it does, does the Zephyr implementation allow it?

Grateful for clarifications.


zeohyr nucleo and i2c

Jerome Amos <amos.jerome@...>
 

hi,

I'm working on zephyr os and a grove NFC ( seeedstudio grove nfc tag V1.0) and a nucleo l432kc.

the question is : it must communicate with I2C. Does anybody knows how i have to do ?

thanx


Re: 4G/5G modem supported by Zephyr or not?

Shlomi Vaknin
 

Thanks for the reply! The Telit moduled like UE866 and LE910 supports ppp natively and there are 3gpp at commands that switch the state of the modem from at mode to ppp mode. I saw in the video you sent that there is a work on implementing the standard 3gpp commands as part of the modem driver and the ppp state could be part of it. Thanks again!

בתאריך יום ו׳, 20 בספט׳ 2019, 0:12, מאת Michael Scott ‏<mike@...>:

Hello Shlomi,

If the modem had a physical interface which supported the PPP protocol you could in theory create a new: modem_iface_ppp.c file which managed it (as opposed to using the current UART-based modem_iface_uart.c file).  Did you have an example product?

It looks like the current Zephyr PPP support is implemented as an L2 layer.

So it might be that if your product supports PPP natively, you would skip the modem_context driver entirely and use the PPP L2 layer for connectivity.

- Mike

On 9/19/19 1:47 PM, Shlomi Vaknin wrote:
Is there a way to connect the ppp protocol to the modem context and work with this network interface instead of the stack that is built in the modem?


‫בתאריך יום ד׳, 18 בספט׳ 2019 ב-18:00 מאת ‪Michael Scott‬‏ <‪mike@...‬‏>:‬

Hello Liang,

On 9/17/19 8:47 PM, liang ding wrote:

Hi, there,

I am wondering if 4G/5G modem is supported by Zephyr? Or any plan to support 4G/5G modem in Zephyr in a future?

I gave a presentation at Embedded Linux Conference about this exact subject.

Slides: https://static.sched.com/hosted_files/ossna19/61/AT-based%20Modem%20Support%20in%20the%20Zephyr%20Project.pdf
Video: https://vimeo.com/ondemand/ossna2019/357948854?autoplay=1

- Mike

 

B.R.

Liang

 

-- 
Michael Scott
Embedded Software Engineer at Foundries.io
"microPlatforms™ for Connected Products"
E: mike@...
W: https://www.foundries.io
-- 
Michael Scott
Embedded Software Engineer at Foundries.io
"microPlatforms™ for Connected Products"
E: mike@...
W: https://www.foundries.io


Re: 4G/5G modem supported by Zephyr or not?

Michael Scott
 

Hello Shlomi,

If the modem had a physical interface which supported the PPP protocol you could in theory create a new: modem_iface_ppp.c file which managed it (as opposed to using the current UART-based modem_iface_uart.c file).  Did you have an example product?

It looks like the current Zephyr PPP support is implemented as an L2 layer.

So it might be that if your product supports PPP natively, you would skip the modem_context driver entirely and use the PPP L2 layer for connectivity.

- Mike

On 9/19/19 1:47 PM, Shlomi Vaknin wrote:
Is there a way to connect the ppp protocol to the modem context and work with this network interface instead of the stack that is built in the modem?


‫בתאריך יום ד׳, 18 בספט׳ 2019 ב-18:00 מאת ‪Michael Scott‬‏ <‪mike@...‬‏>:‬

Hello Liang,

On 9/17/19 8:47 PM, liang ding wrote:

Hi, there,

I am wondering if 4G/5G modem is supported by Zephyr? Or any plan to support 4G/5G modem in Zephyr in a future?

I gave a presentation at Embedded Linux Conference about this exact subject.

Slides: https://static.sched.com/hosted_files/ossna19/61/AT-based%20Modem%20Support%20in%20the%20Zephyr%20Project.pdf
Video: https://vimeo.com/ondemand/ossna2019/357948854?autoplay=1

- Mike

 

B.R.

Liang

 

-- 
Michael Scott
Embedded Software Engineer at Foundries.io
"microPlatforms™ for Connected Products"
E: mike@...
W: https://www.foundries.io
-- 
Michael Scott
Embedded Software Engineer at Foundries.io
"microPlatforms™ for Connected Products"
E: mike@...
W: https://www.foundries.io


Re: 4G/5G modem supported by Zephyr or not?

Shlomi Vaknin
 

Is there a way to connect the ppp protocol to the modem context and work with this network interface instead of the stack that is built in the modem?


‫בתאריך יום ד׳, 18 בספט׳ 2019 ב-18:00 מאת ‪Michael Scott‬‏ <‪mike@...‬‏>:‬

Hello Liang,

On 9/17/19 8:47 PM, liang ding wrote:

Hi, there,

I am wondering if 4G/5G modem is supported by Zephyr? Or any plan to support 4G/5G modem in Zephyr in a future?

I gave a presentation at Embedded Linux Conference about this exact subject.

Slides: https://static.sched.com/hosted_files/ossna19/61/AT-based%20Modem%20Support%20in%20the%20Zephyr%20Project.pdf
Video: https://vimeo.com/ondemand/ossna2019/357948854?autoplay=1

- Mike

 

B.R.

Liang

 

-- 
Michael Scott
Embedded Software Engineer at Foundries.io
"microPlatforms™ for Connected Products"
E: mike@...
W: https://www.foundries.io


Upcoming Event: Zephyr Project: Dev Meeting - Thu, 09/19/2019 8:00am-9:00am, Please RSVP #cal-reminder

devel@lists.zephyrproject.org Calendar <devel@...>
 

Reminder: Zephyr Project: Dev Meeting

When: Thursday, 19 September 2019, 8:00am to 9:00am, (GMT-07:00) America/Los Angeles

Where:https://zoom.us/j/993312203

An RSVP is requested. Click here to RSVP

Organizer: devel@...

Description: Join Zoom Meeting
https://zoom.us/j/993312203

One tap mobile
+16699006833,,993312203# US (San Jose)
+16465588656,,993312203# US (New York)

Dial by your location
        +1 669 900 6833 US (San Jose)
        +1 646 558 8656 US (New York)
        +1 877 369 0926 US Toll-free
        +1 855 880 1246 US Toll-free
Meeting ID: 993 312 203
Find your local number: https://zoom.us/u/ankEMRagf


Re: question in zephyrproject

Jaemin Choi <jaeminy.choi@...>
 

The import error is solved due to you guys. Thank you.

 

>>> 1. USER_SITE is the directory where pykwalify was installed

>>> 2. ENABLE_USER_SITE is True

>>> 3. sys.path contains the directory where pykwalify was installed

 

These checklists should be added on the website I think.

I figured it out that USER_SITE wasn't the directory where pkywalify was installed.

 

To make them same, i reinstall python3 with this command

pip install python3 --user --force-reinstall 

and also had to remove build directory to make it try to build new setting. 

 

however, I faced another error when Im trying this same command.

west build -b reel_board samples/hello_world --pristine     

 

these are new err message


Zephyr version: 2.0.99
-- Found PythonInterp: /usr/bin/python (found suitable version "3.7.1", minimum required is "3.4")
-- Selected BOARD reel_board
-- Found west: /home1/jaeminy.choi/.local/bin/west (found suitable version "0.6.2", minimum required is "0.6.0")
-- Loading /home1/jaeminy.choi/zephyr/zephyproject/zephyr/boards/arm/reel_board/reel_board.dts as base
-- Overlaying /home1/jaeminy.choi/zephyr/zephyproject/zephyr/dts/common/common.dts
Device tree configuration written to /home1/jaeminy.choi/zephyr/zephyproject/zephyr/build/zephyr/include/generated/generated_dts_board.conf
Parsing Kconfig tree in /home1/jaeminy.choi/zephyr/zephyproject/zephyr/Kconfig
Loaded configuration '/home1/jaeminy.choi/zephyr/zephyproject/zephyr/boards/arm/reel_board/reel_board_defconfig'
Merged configuration '/home1/jaeminy.choi/zephyr/zephyproject/zephyr/samples/hello_world/prj.conf'
Configuration saved to '/home1/jaeminy.choi/zephyr/zephyproject/zephyr/build/zephyr/.config'
-- Cache files will be written to: /home1/jaeminy.choi/.cache/zephyr
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- The ASM compiler identification is GNU
-- Found assembler: /usr/local/zephyr-sdk-0.10.3/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
CMake Error at ../../cmake/extensions.cmake:1326 (message):
  Assertion failed: The toolchain is unable to build a dummy C file.  See
  CMakeError.log.
Call Stack (most recent call first):
  ../../CMakeLists.txt:44 (assert)


-- Configuring incomplete, errors occurred!
See also "/home1/jaeminy.choi/zephyr/zephyproject/zephyr/build/CMakeFiles/CMakeOutput.log".
See also "/home1/jaeminy.choi/zephyr/zephyproject/zephyr/build/CMakeFiles/CMakeError.log".
ERROR: command exited with status 1: /usr/local/bin/cmake -B/home1/jaeminy.choi/zephyr/zephyproject/zephyr/build -S/home1/jaeminy.choi/zephyr/zephyproject/zephyr/samples/hello_world -GNinja -DBOARD=reel_board 

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

 

and these are the contents in /home1/jaeminy.choi/zephyr/zephyproject/zephyr/build/CMakeFiles/CMakeError.log

 

Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
Compiler: /usr/local/zephyr-sdk-0.10.3/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
Build flags:
Id flags:

The output was:
1
/usr/local/zephyr-sdk-0.10.3/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/8.3.0/../../../../arm-zephyr-eabi/b
in/ld: /usr/local/zephyr-sdk-0.10.3/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/8.3.0/../../../../arm-zephyr
-eabi/lib/libc.a(lib_a-exit.o): in function `exit':
/home/buildslave/src/github.com/zephyrproject-rtos/sdk-ng/build/build_arm/.build/arm-zephyr-eabi/src/newlib/new
lib/libc/stdlib/exit.c:64: undefined reference to `_exit'
collect2: error: ld returned 1 exit status


Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
Compiler: /usr/local/zephyr-sdk-0.10.3/arm-zephyr-eabi/bin/arm-zephyr-eabi-g++
Build flags:
Id flags:

The output was:
1
/usr/local/zephyr-sdk-0.10.3/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/8.3.0/../../../../arm-zephyr-eabi/b
in/ld: /usr/local/zephyr-sdk-0.10.3/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/8.3.0/../../../../arm-zephyr
-eabi/lib/libc.a(lib_a-exit.o): in function `exit':
/home/buildslave/src/github.com/zephyrproject-rtos/sdk-ng/build/build_arm/.build/arm-zephyr-eabi/src/newlib/new
lib/libc/stdlib/exit.c:64: undefined reference to `_exit'
collect2: error: ld returned 1 exit status

--------------------------------------------------------------------------------------------------------------------------

 

 

 these are the contents in home1/jaeminy.choi/zephyr/zephyproject/zephyr/build/CMakeFiles/CMakeOutput.log".

 

The target system is: Generic - 2.0.99 - arm
The host system is: Linux - 3.13.0-100-generic - x86_64
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
Compiler: /usr/local/zephyr-sdk-0.10.3/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
Build flags:
Id flags: -c

The output was:
0


Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.o"

The C compiler identification is GNU, found in "/home1/jaeminy.choi/zephyr/zephyproject/zephyr/build/CMakeFiles
/3.15.2/CompilerIdC/CMakeCCompilerId.o"

Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
Compiler: /usr/local/zephyr-sdk-0.10.3/arm-zephyr-eabi/bin/arm-zephyr-eabi-g++
Build flags:
Id flags: -c

The output was:
0


Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CMakeCXXCompilerId.o"

The CXX compiler identification is GNU, found in "/home1/jaeminy.choi/zephyr/zephyproject/zephyr/build/CMakeFil
es/3.15.2/CompilerIdCXX/CMakeCXXCompilerId.o"

Checking whether the ASM compiler is GNU using "--version" matched "(GNU assembler)|(GCC)|(Free Software Founda
tion)":
arm-zephyr-eabi-gcc (crosstool-NG 1.24.0-rc2-dirty) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 

 

 

----------------------------------------------------------------------------------

 

 

This below is the text error message you asked. (import error message)

jaeminy.choi@lion:~/zephyr/zephyrproject/zephyr (master)$ west build -b qemu_x86 samples/hello_world
-- west build: build configuration:
       source directory: /home1/jaeminy.choi/zephyr/zephyrproject/zephyr/samples/hello_world
       build directory: /home1/jaeminy.choi/zephyr/zephyrproject/zephyr/build
       BOARD: qemu_x86 (origin: command line)
-- west build: generating a build system
Zephyr version: 2.0.0
CMake Warning at /home1/jaeminy.choi/zephyr/zephyrproject/zephyr/cmake/app/boilerplate.cmake:160 (message):
  The build directory must be cleaned pristinely when changing boards
Call Stack (most recent call first):
  CMakeLists.txt:5 (include)


-- Selected BOARD reel_board
-- Found west: /home1/jaeminy.choi/.local/bin/west (found suitable version "0.6.2", minimum required is "0.6.0")
CMake Error at /home1/jaeminy.choi/zephyr/zephyrproject/zephyr/cmake/zephyr_module.cmake:45 (message):
  Traceback (most recent call last):

    File "/home1/jaeminy.choi/zephyr/zephyrproject/zephyr/scripts/zephyr_module.py", line 19, in <module>
      import pykwalify.core

  ImportError: No module named 'pykwalify'

Call Stack (most recent call first):
  /home1/jaeminy.choi/zephyr/zephyrproject/zephyr/cmake/app/boilerplate.cmake:429 (include)
  CMakeLists.txt:5 (include)


-- Configuring incomplete, errors occurred!
ERROR: command exited with status 1: /usr/local/bin/cmake -B/home1/jaeminy.choi/zephyr/zephyrproject/zephyr/build -S/home1/jaeminy.choi/zephyr/zephyrproject/zephyr/samples/hello_world -GNinja -DBOARD=qemu_x86 

 

 

 

--------- Original Message ---------

Sender : Bolivar, Marti <Marti.Bolivar@...>

Date : 2019-09-18 05:22 (GMT+9)

Title : RE: [Zephyr-devel] question in zephyrproject

 

"Kinder, David B" <david.b.kinder@...> writes:

 

> Great!

>

> We’re working on an updated getting started guide that streamlines this setup process so some important steps such as updating the PATH are not missed (so easily).

> Check out https://github.com/zephyrproject-rtos/zephyr/pull/19123

> and the build artifacts for the GSG here:

> https://builds.zephyrproject.org/zephyrproject-rtos/zephyr/19123/docs/getting_started/index.html

 

FWIW, recent versions of pip3 install will warn you if ~/.local/bin

(or wherever it installs packages with --user) are not on PATH, so

hopefully this problem will become less common as time goes on.

 

>

> Comments appreciated.

>

> -- david

>

> From: devel@... <devel@...> On Behalf Of Lawrence King

> Sent: Tuesday, September 17, 2019 12:40 PM

> To: Allen Curtis <allen@...>; Bolivar, Marti <Marti.Bolivar@...>

> Cc: devel@...; jaeminy.choi@...

> Subject: Re: [Zephyr-devel] question in zephyrproject

>

> I’m with Charles. I had to add this to my .bashrc

>

> export PATH=~/.local/bin:$PATH

>

> Once I did this everything is good.

 

That is a separate issue as described in the back and forth between

Carles and I.

 

Let's not confuse the PATH environment variable, which is used to locate

the executable "west" file, with sys.path, which is the variable

Python uses to locate importable modules. The latter can be augmented

using the PYTHONPATH environment variable, but it should not be

necessary if python and pip3 are configured properly (and using the

default configuration for at least Ubuntu and Arch in my testing).

 

Thanks,

Marti

 

>

> Lawrence King

> Principal Developer

> +1(416)627-7302

>

> From: devel@...<mailto:devel@...> <devel@...<mailto:devel@...>> On Behalf Of Allen Curtis

> Sent: Tuesday, September 17, 2019 3:36 PM

> To: Bolivar, Marti <Marti.Bolivar@...<mailto:Marti.Bolivar@...>>

> Cc: devel@...<mailto:devel@...>; jaeminy.choi@...<mailto:jaeminy.choi@...>

> Subject: Re: [Zephyr-devel] question in zephyrproject

>

> I did not see the “python -m site” in the instructions.

>

> On Tue, Sep 17, 2019 at 12:33 PM Bolivar, Marti <Marti.Bolivar@...<mailto:Marti.Bolivar@...>> wrote:

> Allen Curtis <allen@...<mailto:allen@...>> writes:

>

>> Not my experience. The last time I installed the dependencies went into a

>> dotlocal directory under the user account. Python couldn’t find them.

>

> What distro are you using? Did you try running python3 -m site as

> described below to debug?

>

>>

>> On Tue, Sep 17, 2019 at 12:12 PM Bolivar, Marti <Marti.Bolivar@...<mailto:Marti.Bolivar@...>>

>> wrote:

>>

>>> Hi Jaemin, Allen,

>>>

>>> "Allen Curtis via Lists.Zephyrproject.Org<http://Lists.Zephyrproject.Org>"

>>> <allen=criticalsoftwaresolutions.com@...<mailto:criticalsoftwaresolutions.com@...>> writes:

>>>

>>> > I had this same problem. My solution was to export PYTHONPATH to include

>>> > the directory containing this module. If you went through the

>>> instructions,

>>> > installing all the dependencies, it is installed on your system

>>> > somewhere.

>>>

>>> Hmm, that shouldn't be needed if the Python dependencies were installed

>>> correctly.

>>>

>>> >

>>> > On Tue, Sep 17, 2019 at 4:16 AM via Lists.Zephyrproject.Org<http://Lists.Zephyrproject.Org>

>>> <jaeminy.choi=

>>> > samsung.com@...<mailto:samsung.com@...>> wrote:

>>> >

>>> >> Hello.

>>> >>

>>> >>

>>> >>

>>> >> This is Jaemin from Samsung Electronics and we are trying to set the

>>> >> environment up for Zephyr with

>>> >> https://docs.zephyrproject.org/latest/getting_started/index.html.

>>> >>

>>> >>

>>> >>

>>> >> Everything went well with your manuals but when I try this one

>>> >>

>>> >> west build -b reel_board samples/hello_world

>>> >>

>>> >> (in my case west build -b qemu_x86 samples/hello_world )

>>> >>

>>> >>

>>> >>

>>> >> The error which can't find pykwalify comes up like below.

>>>

>>> Based on your screenshot, it looks like you are running on Linux, so you

>>> should have installed west using "pip3 install --user west", which it

>>> looks like you did:

>>>

>>> -- Found west: /home/jaeminy.choi/.local/bin/west

>>>

>>> If so, then pykwalify should have been installed too, because west

>>> declares it as a dependency to pip:

>>>

>>> $ pip3 show west | grep Requires:

>>> Requires: colorama, PyYAML, pykwalify, configobj, setuptools

>>>

>>> So as Allen said, if you have west but it can't import pykwalify, there

>>> is a problem with the Python path. But you shouldn't need to set

>>> PYTHONPATH; pip and Python's USER_BASE should take care of this for you.

>>>

>>> First, you should check that pykwalify is installed, like this:

>>>

>>> $ pip3 show -f pykwalify | grep Location:

>>> Location: /home/foo/.local/lib/python3.6/site-packages

>>>

>>> If that doesn't work, reinstall west with pip3 to make sure you get it.

>>>

>>> Second, run "python3 -m site". The output should contain the pykwalify

>>> installation directory in sys.path. Something like this:

>>>

>>> $ python3 -m site

>>> sys.path = [

>>>     '/usr/local/lib/python3.6',

>>>     '/usr/lib/python36.zip',

>>>     '/usr/lib/python3.6',

>>>     '/usr/lib/python3.6/lib-dynload',

>>>     '/home/foo/.local/lib/python3.6/site-packages',

>>>     '/usr/local/lib/python3.6/dist-packages',

>>>     '/usr/lib/python3/dist-packages',

>>> ]

>>> USER_BASE: '/home/foo/.local' (exists)

>>> USER_SITE: '/home/foo/.local/lib/python3.6/site-packages' (exists)

>>> ENABLE_USER_SITE: True

>>>

>>> Make sure:

>>>

>>> 1. USER_SITE is the directory where pykwalify was installed

>>> 2. ENABLE_USER_SITE is True

>>> 3. sys.path contains the directory where pykwalify was installed

>>>

>>> For more details, check:

>>>

>>> https://docs.python.org/3/library/site.html#site.USER_BASE

>>>

>>> >>

>>> >>

>>> >> I've googled it to solve the problem but i ended up here.

>>>

>>> By the way, for the future, please consider cutting and pasting text

>>> instead of using screenshots of your terminal window as discussed in

>>>

>>>

>>> https://docs.zephyrproject.org/latest/guides/getting-help.html#use-copy-paste

>>>

>>> It makes it easier for others to google your exact error message.

>>>

>>> >>

>>> >> Can I have some advices?

>>>

>>> Hope this helps.

>>>

>>> Thanks,

>>> Marti

>>>

>>> >>

>>> >> (All programs I should install are beyond minimum version and I skipped

>>> >> set up a toolchain step because I set up the Zephyr SDK toolchains)

>>> >>

>>> >>

>>> >>

>>> >> Thanks,

>>> >>

>>> >> Jaemin

>>> >>

>>> >>

>>> >>

>>> >>

>>> >>

>>> >>

>>> >>

>>> >

>>> > --

>>> > *Allen Curtis*

>>> > Medical Device Architect

>>> > *Critical Software Solutions, LLC*

>>> >

>>> >

>>

>> --

>> *Allen Curtis*

>> Medical Device Architect

>> *Critical Software Solutions, LLC*

> --

> Allen Curtis

> Medical Device Architect

> Critical Software Solutions, LLC

>

 

 

 


Dev Review Meeting Agenda - 18 Sept 2019

Kumar Gala
 

Here’s the agenda topics for this week:

[TOPIC-GPIO]: Introduce helper functions for irq flags [kumar]
https://github.com/zephyrproject-rtos/zephyr/pull/19251

kernel: Introduce k_triggered_work: [carles]
https://github.com/zephyrproject-rtos/zephyr/pull/14041

sys_heap: a new/simpler/faster memory allocator: [carles]
https://github.com/zephyrproject-rtos/zephyr/pull/17628

New timeout API [carles]
https://github.com/zephyrproject-rtos/zephyr/pull/17155

- k


Re: Consequences of relying on 64 bit uptime

Lawrence King
 

The function k_uptime_get() returns time in milliseconds, since this is a 64-bit number (63-bits if you use signed math), it will almost never wrap  (well, once every 292 million years, but as far as I am concerned, that is almost never). It is the 32-bit versions of k_uptime that can wrap in 50 days.

 

The hardware counters that are used to derive k_uptime will wrap (possibly in milliseconds), it is up to the driver to deal with that. The driver also needs to convert the HW counter times to milliSeconds.

 

Lawrence King

Principal Developer

+1(416)627-7302

 

From: devel@... <devel@...> On Behalf Of Andy Ross
Sent: Wednesday, September 18, 2019 12:43 PM
To: Benjamin Lindqvist <benjamin.lindqvist@...>; devel@...
Subject: Re: [Zephyr-devel] Consequences of relying on 64 bit uptime

 

Generally it's much more often than 50 days.   The hardware counter is the overflow that needs to be detected, not the millisecond count.  With a 24 bit counter updating at 100+ MHz speds (c.f. the systick driver on fast boards) this gets up into the small integer Hz range, even.

The default behavior implemented by Zephyr is that the drivers must do whatever magic is necessary not to lose time.  There is a kconfig, CONFIG_SYSTEM_CLOCK_SLOPPY_IDLE, which relaxes this constraint and allows the uptime counter to be incorrect following an entry/exit of an idle state.

Andy

 

On 9/18/19 6:49 AM, Benjamin Lindqvist wrote:

Hey, 

 

I seem to recall this mentioned in the documentation, but now I can't find it anywhere.

 

What are the ramifications/constraints of relying upon a 64 bit k_uptime_get if one wants to avoid the 55 day overflow problem? What I suspect is that you can never deep sleep because a timer IRQ always needs to be active, firing every 55 days to increment some carry variable.

 

I suppose it's also theoretically possible that this could be implemented by storing the carry variable in volatile RAM which would force us to refresh the RAM as well. But this seems unlikely.

 

Any other things to take into consideration?


Re: Consequences of relying on 64 bit uptime

Andy Ross
 

Generally it's much more often than 50 days.   The hardware counter is the overflow that needs to be detected, not the millisecond count.  With a 24 bit counter updating at 100+ MHz speds (c.f. the systick driver on fast boards) this gets up into the small integer Hz range, even.

The default behavior implemented by Zephyr is that the drivers must do whatever magic is necessary not to lose time.  There is a kconfig, CONFIG_SYSTEM_CLOCK_SLOPPY_IDLE, which relaxes this constraint and allows the uptime counter to be incorrect following an entry/exit of an idle state.

Andy


On 9/18/19 6:49 AM, Benjamin Lindqvist wrote:
Hey, 

I seem to recall this mentioned in the documentation, but now I can't find it anywhere.

What are the ramifications/constraints of relying upon a 64 bit k_uptime_get if one wants to avoid the 55 day overflow problem? What I suspect is that you can never deep sleep because a timer IRQ always needs to be active, firing every 55 days to increment some carry variable.

I suppose it's also theoretically possible that this could be implemented by storing the carry variable in volatile RAM which would force us to refresh the RAM as well. But this seems unlikely.

Any other things to take into consideration?


Re: 4G/5G modem supported by Zephyr or not?

Michael Scott
 

Hello Liang,

On 9/17/19 8:47 PM, liang ding wrote:

Hi, there,

I am wondering if 4G/5G modem is supported by Zephyr? Or any plan to support 4G/5G modem in Zephyr in a future?

I gave a presentation at Embedded Linux Conference about this exact subject.

Slides: https://static.sched.com/hosted_files/ossna19/61/AT-based%20Modem%20Support%20in%20the%20Zephyr%20Project.pdf
Video: https://vimeo.com/ondemand/ossna2019/357948854?autoplay=1

- Mike

 

B.R.

Liang

 

-- 
Michael Scott
Embedded Software Engineer at Foundries.io
"microPlatforms™ for Connected Products"
E: mike@...
W: https://www.foundries.io


Consequences of relying on 64 bit uptime

Benjamin Lindqvist
 

Hey, 

I seem to recall this mentioned in the documentation, but now I can't find it anywhere.

What are the ramifications/constraints of relying upon a 64 bit k_uptime_get if one wants to avoid the 55 day overflow problem? What I suspect is that you can never deep sleep because a timer IRQ always needs to be active, firing every 55 days to increment some carry variable.

I suppose it's also theoretically possible that this could be implemented by storing the carry variable in volatile RAM which would force us to refresh the RAM as well. But this seems unlikely.

Any other things to take into consideration?


Re: BMX160 Driver

Tom Burdick
 

Hi Jeff,

I can't speak of in progress drivers.

The best way to understand how to create drivers in zephyr, in my experience so far, is to look at the current drivers. That said if the devices really are that similar you might might be best served by adding a Kconfig option to select which device is actually there. Then wrap certain sections of the driver code in the appropriate ifdefs. Doing that is probably easier than creating a whole new driver.

If you understand C, I2C/SPI, you should be able to dig in pretty quickly. If you run into something you don't understand and want quicker responses then ask on Slack.

Do note that Zephyr has contribution guides if you'd like to upstream your patch, I recommend you look at those and keep a close eye on the checkpatch.pl (patch linter) results as the number of warnings and errors from it can get quite large quite fast if you aren't used to the styling it wants.

Cheers!

Tom


On Tue, Sep 17, 2019 at 2:03 PM Jeff Langballe <Jeff.langballe@...> wrote:

Hi all,

 

Is there a BMX160 driver in the works? I see that there are drivers for the BMI160 and the BMM150 but nothing for the BMX160. Even Bosch does not provide a driver for the BMX160. Instead they say to use the BMI160 and BMM150 drivers with some modifications. Is there something like this with the Zephyr implementations of the two drivers? If there’s nothing existing, what are some of the resources I should be looking at before I begin hacking away at this with my very, very limited experience.

 

Thanks,

Jeff


Re: 4G/5G modem supported by Zephyr or not?

Wayne Ren
 

If the 4G/5G modem module is AT command based, it’s possible to add in zephyr through SOCKET OFFLOAD or NET CONTEXT OFFLOAD.

 

You can refer the codes in drivers/modem/ublox-sara-r4.c for NB-IoT or PR#18919 for esp8266

 

 

 

From: devel@... <devel@...> On Behalf Of liang ding
Sent: 2019
918 11:48
To: devel@...
Subject: [Zephyr-devel] 4G/5G modem supported by Zephyr or not?

 

Hi, there,

I am wondering if 4G/5G modem is supported by Zephyr? Or any plan to support 4G/5G modem in Zephyr in a future?

 

B.R.

Liang

 


4G/5G modem supported by Zephyr or not?

liang ding
 

Hi, there,

I am wondering if 4G/5G modem is supported by Zephyr? Or any plan to support 4G/5G modem in Zephyr in a future?

 

B.R.

Liang

 


Re: question in zephyrproject

Bolivar, Marti
 

"Kinder, David B" <david.b.kinder@intel.com> writes:

Great!

We’re working on an updated getting started guide that streamlines this setup process so some important steps such as updating the PATH are not missed (so easily).
Check out https://github.com/zephyrproject-rtos/zephyr/pull/19123
and the build artifacts for the GSG here:
https://builds.zephyrproject.org/zephyrproject-rtos/zephyr/19123/docs/getting_started/index.html
FWIW, recent versions of pip3 install will warn you if ~/.local/bin
(or wherever it installs packages with --user) are not on PATH, so
hopefully this problem will become less common as time goes on.


Comments appreciated.

-- david

From: devel@lists.zephyrproject.org <devel@lists.zephyrproject.org> On Behalf Of Lawrence King
Sent: Tuesday, September 17, 2019 12:40 PM
To: Allen Curtis <allen@criticalsoftwaresolutions.com>; Bolivar, Marti <Marti.Bolivar@nordicsemi.no>
Cc: devel@lists.zephyrproject.org; jaeminy.choi@samsung.com
Subject: Re: [Zephyr-devel] question in zephyrproject

I’m with Charles. I had to add this to my .bashrc

export PATH=~/.local/bin:$PATH

Once I did this everything is good.
That is a separate issue as described in the back and forth between
Carles and I.

Let's not confuse the PATH environment variable, which is used to locate
the executable "west" file, with sys.path, which is the variable
Python uses to locate importable modules. The latter can be augmented
using the PYTHONPATH environment variable, but it should not be
necessary if python and pip3 are configured properly (and using the
default configuration for at least Ubuntu and Arch in my testing).

Thanks,
Marti


Lawrence King
Principal Developer
+1(416)627-7302

From: devel@lists.zephyrproject.org<mailto:devel@lists.zephyrproject.org> <devel@lists.zephyrproject.org<mailto:devel@lists.zephyrproject.org>> On Behalf Of Allen Curtis
Sent: Tuesday, September 17, 2019 3:36 PM
To: Bolivar, Marti <Marti.Bolivar@nordicsemi.no<mailto:Marti.Bolivar@nordicsemi.no>>
Cc: devel@lists.zephyrproject.org<mailto:devel@lists.zephyrproject.org>; jaeminy.choi@samsung.com<mailto:jaeminy.choi@samsung.com>
Subject: Re: [Zephyr-devel] question in zephyrproject

I did not see the “python -m site” in the instructions.

On Tue, Sep 17, 2019 at 12:33 PM Bolivar, Marti <Marti.Bolivar@nordicsemi.no<mailto:Marti.Bolivar@nordicsemi.no>> wrote:
Allen Curtis <allen@criticalsoftwaresolutions.com<mailto:allen@criticalsoftwaresolutions.com>> writes:

Not my experience. The last time I installed the dependencies went into a
dotlocal directory under the user account. Python couldn’t find them.
What distro are you using? Did you try running python3 -m site as
described below to debug?


On Tue, Sep 17, 2019 at 12:12 PM Bolivar, Marti <Marti.Bolivar@nordicsemi.no<mailto:Marti.Bolivar@nordicsemi.no>>
wrote:

Hi Jaemin, Allen,

"Allen Curtis via Lists.Zephyrproject.Org<http://Lists.Zephyrproject.Org>"
<allen=criticalsoftwaresolutions.com@lists.zephyrproject.org<mailto:criticalsoftwaresolutions.com@lists.zephyrproject.org>> writes:

I had this same problem. My solution was to export PYTHONPATH to include
the directory containing this module. If you went through the
instructions,
installing all the dependencies, it is installed on your system
somewhere.
Hmm, that shouldn't be needed if the Python dependencies were installed
correctly.


On Tue, Sep 17, 2019 at 4:16 AM via Lists.Zephyrproject.Org<http://Lists.Zephyrproject.Org>
<jaeminy.choi=
samsung.com@lists.zephyrproject.org<mailto:samsung.com@lists.zephyrproject.org>> wrote:

Hello.



This is Jaemin from Samsung Electronics and we are trying to set the
environment up for Zephyr with
https://docs.zephyrproject.org/latest/getting_started/index.html.



Everything went well with your manuals but when I try this one

west build -b reel_board samples/hello_world

(in my case west build -b qemu_x86 samples/hello_world )



The error which can't find pykwalify comes up like below.
Based on your screenshot, it looks like you are running on Linux, so you
should have installed west using "pip3 install --user west", which it
looks like you did:

-- Found west: /home/jaeminy.choi/.local/bin/west

If so, then pykwalify should have been installed too, because west
declares it as a dependency to pip:

$ pip3 show west | grep Requires:
Requires: colorama, PyYAML, pykwalify, configobj, setuptools

So as Allen said, if you have west but it can't import pykwalify, there
is a problem with the Python path. But you shouldn't need to set
PYTHONPATH; pip and Python's USER_BASE should take care of this for you.

First, you should check that pykwalify is installed, like this:

$ pip3 show -f pykwalify | grep Location:
Location: /home/foo/.local/lib/python3.6/site-packages

If that doesn't work, reinstall west with pip3 to make sure you get it.

Second, run "python3 -m site". The output should contain the pykwalify
installation directory in sys.path. Something like this:

$ python3 -m site
sys.path = [
'/usr/local/lib/python3.6',
'/usr/lib/python36.zip',
'/usr/lib/python3.6',
'/usr/lib/python3.6/lib-dynload',
'/home/foo/.local/lib/python3.6/site-packages',
'/usr/local/lib/python3.6/dist-packages',
'/usr/lib/python3/dist-packages',
]
USER_BASE: '/home/foo/.local' (exists)
USER_SITE: '/home/foo/.local/lib/python3.6/site-packages' (exists)
ENABLE_USER_SITE: True

Make sure:

1. USER_SITE is the directory where pykwalify was installed
2. ENABLE_USER_SITE is True
3. sys.path contains the directory where pykwalify was installed

For more details, check:

https://docs.python.org/3/library/site.html#site.USER_BASE



I've googled it to solve the problem but i ended up here.
By the way, for the future, please consider cutting and pasting text
instead of using screenshots of your terminal window as discussed in


https://docs.zephyrproject.org/latest/guides/getting-help.html#use-copy-paste

It makes it easier for others to google your exact error message.


Can I have some advices?
Hope this helps.

Thanks,
Marti


(All programs I should install are beyond minimum version and I skipped
set up a toolchain step because I set up the Zephyr SDK toolchains)



Thanks,

Jaemin






--
*Allen Curtis*
Medical Device Architect
*Critical Software Solutions, LLC*

--
*Allen Curtis*
Medical Device Architect
*Critical Software Solutions, LLC*
--
Allen Curtis
Medical Device Architect
Critical Software Solutions, LLC

1721 - 1740 of 8033