Date   

Re: [RFC] Zephyr 1.6: HTTP support

Flavio Santes <flavio.santes@...>
 

Hello Oleg,

You are right, TCP and HTTP are not the best choices for the IoT ecosystem.

A few days ago, a CoAP native implementation was submitted:

https://gerrit.zephyrproject.org/r/#/q/topic:1.6-quapi

This RFC is just about integrating the http-parser from nodejs to Zephyr. Thanks to the build system, this feature will be only available if necessary.

I think this forum could guide us to take the right decision. So, please keep an eye on this thread and also on Gerrit.

Regards,
Flavio.


Re: [RFC] Zephyr 1.6: HTTP support

Oliver Hahm <oliver.hahm@...>
 

Hi!

On Sun, Aug 07, 2016 at 07:42:15PM -0000, Flavio Santes wrote:
This is a Request For Comments: HTTP support for Zephyr:
Maybe a stupid question from someone who follows this project only remotely,
but wouldn't a CoAP implementation make more sense for an IoT operating
system? HTTP and TCP don't seem to be a good choice for a constrained system.
If Zephyr already supports CoAP, wouldn't a simple HTTP-to-CoAP mapping do the
trick for you?

Cheers,
Oleg


[RFC] Zephyr 1.6: HTTP support

Flavio Santes <flavio.santes@...>
 


Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 0

UPDATED JIRA items within last 24 hours: 2
[ZEP-346] Provide a HTTP library within Zephyr
https://jira.zephyrproject.org/browse/ZEP-346

[ZEP-522] TCP/client-mode: disconnect
https://jira.zephyrproject.org/browse/ZEP-522


CLOSED JIRA items within last 24 hours: 0

RESOLVED JIRA items within last 24 hours: 3
[ZEP-623] (Fixed) MQTT sample mqtt.h missing "mqtt_unsubscribe" function
https://jira.zephyrproject.org/browse/ZEP-623

[ZEP-546] (Won't Do) UART interrupts not triggered on ARC
https://jira.zephyrproject.org/browse/ZEP-546

[ZEP-477] (Won't Do) IPV6 reassembly of fragmented packets is not working
https://jira.zephyrproject.org/browse/ZEP-477


Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/3924 : RFC: HTTP support in Zephyr (test-case) (part 3)
- https://gerrit.zephyrproject.org/r/3923 : RFC: HTTP support in Zephyr (part 2)
- https://gerrit.zephyrproject.org/r/3921 : crypto/tinycrypt: Update README file
- https://gerrit.zephyrproject.org/r/3922 : RFC: HTTP support in Zephyr (part 1)
- https://gerrit.zephyrproject.org/r/3925 : mailmap: Fix broken author information for Evan Couzens

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/3510 : drivers/nble: Take semaphore in write without response
- https://gerrit.zephyrproject.org/r/3531 : Bluetooth: GATT: Add queuing support
- https://gerrit.zephyrproject.org/r/3910 : Bluetooth: tester: Use SYS_LOG_ERR instead of printk
- https://gerrit.zephyrproject.org/r/3909 : Bluetooth: tester: Fix extra new lines
- https://gerrit.zephyrproject.org/r/3919 : mqtt: fix: pinreq handler function exit condition
- https://gerrit.zephyrproject.org/r/3920 : mqtt: fix: Eliminate redundant lines by using a common exit point

MERGED within last 24 hours:


Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 21
[ZEP-648] New CoAP Implementation
https://jira.zephyrproject.org/browse/ZEP-648

[ZEP-650] Quark SE: Implement PM reference application
https://jira.zephyrproject.org/browse/ZEP-650

[ZEP-652] QMSI shim driver: RTC: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-652

[ZEP-656] QMSI shim driver: Comparator: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-656

[ZEP-662] QMSI shim driver: Pinmux: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-662

[ZEP-655] QMSI shim driver: PWM: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-655

[ZEP-660] QMSI shim driver: DMA: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-660

[ZEP-661] QMSI shim driver: SPI: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-661

[ZEP-654] QMSI shim driver: I2C: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-654

[ZEP-657] QMSI shim driver: AON counters: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-657

[ZEP-653] QMSI shim driver: Watchdog: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-653

[ZEP-659] QMSI shim driver: UART: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-659

[ZEP-658] QMSI shim driver: GPIO: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-658

[ZEP-668] Quark SE: Add support for suspend and resume ARC Sensor subsystem when SoC enters/exits Sleep state
https://jira.zephyrproject.org/browse/ZEP-668

[ZEP-665] QMSI shim driver: SS_GPIO: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-665

[ZEP-667] QMSI shim driver: SS_ADC: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-667

[ZEP-664] QMSI shim driver: SS_SPI: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-664

[ZEP-666] QMSI shim driver: SS_I2C: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-666

[ZEP-641] Bluetooth Eddystone sample does not correctly implement Eddystone beacon
https://jira.zephyrproject.org/browse/ZEP-641

[ZEP-642] Inconsistent interpretation of pwm_pin_set_values arguments among drivers
https://jira.zephyrproject.org/browse/ZEP-642

[ZEP-644] Zephyr SDK 0.8.2 newlib headers no longer provide gettimeofday() prototype by default
https://jira.zephyrproject.org/browse/ZEP-644


UPDATED JIRA items within last 24 hours: 4
[ZEP-357] Support for the MAX44009 sensor
https://jira.zephyrproject.org/browse/ZEP-357

[ZEP-646] I2C fail to read GY2561 sensor when GY2561 & GY271 sensor are attached to I2C bus.
https://jira.zephyrproject.org/browse/ZEP-646

[ZEP-539] Jenkins marks patches -1 verified for style issues
https://jira.zephyrproject.org/browse/ZEP-539

[ZEP-647] Power management state storage should use GPS1 instead of GPS0
https://jira.zephyrproject.org/browse/ZEP-647


CLOSED JIRA items within last 24 hours: 5
[ZEP-568] (Fixed) MQTT QoS sample app
https://jira.zephyrproject.org/browse/ZEP-568

[ZEP-225] (Fixed) Add kernel API to put SoC to Deep Sleep (DS) State
https://jira.zephyrproject.org/browse/ZEP-225

[ZEP-227] (Fixed) Add kernel API to put SoC to Low Power State (LPS)
https://jira.zephyrproject.org/browse/ZEP-227

[ZEP-643] (Fixed) Add file system API documentation
https://jira.zephyrproject.org/browse/ZEP-643

[ZEP-645] (Fixed) ARC QMSI ADC shim driver fails to read sample data
https://jira.zephyrproject.org/browse/ZEP-645


RESOLVED JIRA items within last 24 hours: 5
[ZEP-291] (Fixed) Driver for the ENC28J60 ethernet device
https://jira.zephyrproject.org/browse/ZEP-291

[ZEP-240] (Fixed) printk/printf usage in samples
https://jira.zephyrproject.org/browse/ZEP-240

[ZEP-461] (Fixed) Release 1.4.0 has broken the BMI160 sample as well as an application based on it
https://jira.zephyrproject.org/browse/ZEP-461

[ZEP-595] (Fixed) UART: usb simulated uart doesn't work in poll mode
https://jira.zephyrproject.org/browse/ZEP-595

[ZEP-518] (Fixed) SPI not working on Arduino101
https://jira.zephyrproject.org/browse/ZEP-518


Building on ARM and ld error

Carles Cufi
 

Hi there,

Building a simple example on Linux with the latest 0.8.2 SDK:

$ make BOARD=nrf52_pca10040

I get the following error:

/home/cacu/prog/zephyr-sdk/sysroots/i686-pokysdk-linux/usr/libexec/arm-poky-eabi/gcc/arm-poky-eabi/5.2.0/real-ld: cannot find -lgcc

Below is my zephyr.lnk contents:

-nostartfiles -nodefaultlibs -nostdlib -static -Wl,-X -Wl,-N -Wl,--gc-sections -Wl,--build-id=none
-Wl,-Map=zephyr.map
-L ./include/generated
-u _OffsetAbsSyms -u _ConfigAbsSyms
-e __start
-Wl,--start-group
-Wl,--whole-archive

src/built-in.o
libzephyr.a
-Wl,--no-whole-archive
./arch/arm/core/offsets/offsets.o
-Wl,--end-group
-L . -L ~/prog/zephyr-sdk/sysroots/armv5-poky-eabi/usr/lib/armv7e-m -lgcc


Thanks,

Carles


Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/3919 : mqtt: fix: pinreq handler function exit condition
- https://gerrit.zephyrproject.org/r/3920 : mqtt: fix: Eliminate redundant lines by using a common exit point
- https://gerrit.zephyrproject.org/r/3913 : net: uip: Fix uip_udp_conns traverse loop in uip_process

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/3848 : lib: Introduce the CoAP implementation for Zephyr
- https://gerrit.zephyrproject.org/r/3886 : scripts: Port get_maintainer.pl to Zephyr
- https://gerrit.zephyrproject.org/r/3849 : tests: Add simple CoAP tests
- https://gerrit.zephyrproject.org/r/3850 : samples/net: Add a sample for a CoAP client
- https://gerrit.zephyrproject.org/r/3851 : samples/net: Add a sample for a CoAP server
- https://gerrit.zephyrproject.org/r/3911 : i2c_qmsi: Implement suspend and resume functions
- https://gerrit.zephyrproject.org/r/3854 : tests: Support computing the result of tests
- https://gerrit.zephyrproject.org/r/3853 : MAINTAINERS: add Quapi section
- https://gerrit.zephyrproject.org/r/3894 : power_mgmt: Make device_pm_ops definition static
- https://gerrit.zephyrproject.org/r/3884 : pm: Declare weak versions of _sys_soc_suspend and _sys_soc_resume
- https://gerrit.zephyrproject.org/r/3883 : pm: Reduce amount of #ifdef usage on drivers
- https://gerrit.zephyrproject.org/r/3517 : arm: Add support for both floating point ABIs

MERGED within last 24 hours:
- https://gerrit.zephyrproject.org/r/3917 : doc: removed unneeded variable from guide
- https://gerrit.zephyrproject.org/r/3918 : power_mgmt: PM should use GPS1 instead of GPS0
- https://gerrit.zephyrproject.org/r/3916 : doc: Fixes a typo in the file system documentation
- https://gerrit.zephyrproject.org/r/3915 : Revert "microkernel: remove deprecated task IRQs"
- https://gerrit.zephyrproject.org/r/3898 : dns: FIX add README_API file and improve sample code
- https://gerrit.zephyrproject.org/r/3887 : mqtt/subscriber: FIX: update README file
- https://gerrit.zephyrproject.org/r/3900 : MAINTAINERS: Add network applications and update tinycrypt sections
- https://gerrit.zephyrproject.org/r/3890 : mqtt: FIX: update hack to handle dummy packet for TCP connect
- https://gerrit.zephyrproject.org/r/3899 : dns: FIX: use byteorder.h functions
- https://gerrit.zephyrproject.org/r/3889 : mqtt: FIX: add unsubscribe function and update return codes
- https://gerrit.zephyrproject.org/r/3891 : mqtt: FIX: update sample code to include MQTT UNSUBSCRIBE message
- https://gerrit.zephyrproject.org/r/3888 : mqtt: FIX: add MQTT unsubscribe/pingresp handling functions
- https://gerrit.zephyrproject.org/r/3893 : nats: FIX: add README file
- https://gerrit.zephyrproject.org/r/3857 : sanitycheck: add nrf52_nitrogen and nrf52_pca10040
- https://gerrit.zephyrproject.org/r/3905 : usb/cdc_acm : Unsupported functions return error code
- https://gerrit.zephyrproject.org/r/3858 : misc: Remove generic PRINT macros from net samples
- https://gerrit.zephyrproject.org/r/3860 : misc: Remove generic PRINT macros from usb samples
- https://gerrit.zephyrproject.org/r/3861 : misc: Remove generic PRINT macros from synch samples
- https://gerrit.zephyrproject.org/r/3862 : misc: Remove generic PRINT macros from hello world samples
- https://gerrit.zephyrproject.org/r/3863 : misc: Remove generic PRINT macros from power samples
- https://gerrit.zephyrproject.org/r/3864 : misc: Remove generic PRINT macros from spi samples
- https://gerrit.zephyrproject.org/r/3906 : doc: Clarified Mac OS X set up instructions
- https://gerrit.zephyrproject.org/r/3896 : nats: FIX: update hack to handle dummy packet for TCP connect
- https://gerrit.zephyrproject.org/r/3908 : doc: Add file system documentation
- https://gerrit.zephyrproject.org/r/3525 : zephyr-env.sh: prepend to PATH
- https://gerrit.zephyrproject.org/r/3859 : misc: Remove generic PRINT macros from sensor samples
- https://gerrit.zephyrproject.org/r/3892 : nats: FIX: homogenize return codes and update API documentation
- https://gerrit.zephyrproject.org/r/3866 : misc: Remove generic PRINT macros from pci samples
- https://gerrit.zephyrproject.org/r/3867 : misc: Remove generic PRINT macros from aio samples
- https://gerrit.zephyrproject.org/r/3868 : misc: Remove generic PRINT macros from button samples
- https://gerrit.zephyrproject.org/r/3505 : driver: ENC28J60 Ethernet SPI module
- https://gerrit.zephyrproject.org/r/3865 : misc: Remove generic PRINT macros from flash samples
- https://gerrit.zephyrproject.org/r/3901 : sensor: fix BMI160 sensor hang issue
- https://gerrit.zephyrproject.org/r/3842 : microkernel: remove deprecated task IRQs
- https://gerrit.zephyrproject.org/r/3912 : misc: Make sure byteorder.h does not get loaded more than once


Re: [RFC] Provide a file system API

Thomas, Ramesh
 

On 08/05/2016 10:21 AM, Benjamin Walsh wrote:
On Tue, Jul 26, 2016 at 06:36:45PM -0700, Ramesh Thomas wrote:
A file system is necessary to store data reliably and to be accessed in
a consistent and deterministic manner. Example applications are data
logging, media files and file based databases which would need to be
stored for later processing off-line or to be sent over radio in bursts
instead of per sample captured.

Related requirement:
https://jira.zephyrproject.org/browse/ZEP-228

***Proposal***
The Zephyr File System API will follow interfaces similar to stdio and
POSIX so it is familiar to users. However, it does not claim to be
compliant to POSIX or any other specification.

One of the goals is to keep clean separation of the file API layer and
the disk interface. Following diagram illustrates the layer separation:

+--------------------------+
| Zephyr File System API |
+--------------------------+
| Glue layer for FS module |
+--------------------------+
| File System module |
+--------------------------+
| Disk I/O interface |
+--------------------------+
| Storage media interface |
+--------------------------+

The File system module would be an implementation that provides clean
separation between the API layer and disk I/O. A glue layer will
abstract its own interface to that of the Zephyr FS API. The disk i/o
interface will use Zephyr's flash HAL.
Have you thought about possibly consolidating the API, the glue layer
and the filesystem itself when there is only one filesystem in the
system, which might well be the most common case ? Basically having the
ZFS API become a set of macros that map directly to the interface of the
one File System module present in the system ?
Yes, I agree that we will most likely have only one file system. I am
looking into making the glue layer as thin as possible.

Some functions have different parameters, while almost all of them need
to translate the error value that is returned by the file system module.
The ZFS API returns -ERRNO values and one of its goals is to provide a
generic API familiar to users. The glue layer does this translation.


v1.5.0-rc1 tagged

Perez-Gonzalez, Inaky <inaky.perez-gonzalez@...>
 

Hello All

New RC tagged. Thank you for your contributions

For the next cycle in the upcoming week, let's aim at trying to reduce the amount patches to more strictly necessary with a reduced size; please consider:


- If your commit can go to 1.6 (if such, please issue a topic 1.6-SOMETHING, so we can tell it apart)

- Indicate in the commit message why this is a 1.5 fix

- Keep them small!

Enjoy your weekend!


Re: About the testing framework

Perez-Gonzalez, Inaky <inaky.perez-gonzalez@...>
 

From: Hannikainen, Jaakko
Sent: Friday, August 5, 2016 5:51 AM
To: Perez-Gonzalez, Inaky <inaky.perez-gonzalez(a)intel.com>; devel(a)lists.zephyrproject.org
Subject: RE: About the testing framework

Hi,

Guess our targest are partially aligned then (thanks, 'open-source' development). At any case, Zephyr needs a centralized testing framework. I quickly wrote one up for testing purposes, but it's meant to run with precisely the module being tested linked in, and nothing else of Zephyr, instead being linked with eg. GNU's libc. I haven't done any work for actual integration with the existing testing scripts. The framework itself can be ported pretty quickly to a more Zephyr-compatible way though (a couple lines of code + some ifdef), so that we could have one framework for both integration and unit testing - unifying the test architecture. How well does your framework work without the Zephyr core, and is it easily portable to be run with your own computer without virtualization?
The infrastructure does two parts; one [the server] allows you to access and share (remote) target hardware; the client side builds and deploys to targets, running the code in the target and evaluating if tests pass. If it is running in the local machine as part of what you are conceiving (what it calls an static check), then it can do it without the server side (this I use for example to run checkpatch verifications, etc).
That said, nothing is tied to Zephyr itself-every part is configurable to support other OSes or whichever.

ZEP-578 could help testing a lot. If we move from ifdef-compiled code to if(defined()), the code can be tested a lot easier in a unit testing context. Before including the .c file, just change the macro contents simple numbers to variables, and set the variables at each unit test.
ACK-I'm all to minimize #ifdef blocks; I think we can do a reasonable job of making multiple things static without introducing complexity in the code itself.

Drivers can also be pretty easily unit-tested, just mock out the hardware apis and check the driver's code itself, and ensure it uses the mocked device correctly. This applies even if ZEP-578 doesn't get any wind, then the test suite code has to be split into multiple binaries, one for each test configuration.
Agreed-this helps exercising the extra paths and complements running the driver code in the hardware to make sure it works in the iron.


armv7m QEMU patch used by the Zephyr SDK

Ricardo Salveti <ricardo.salveti@...>
 

Hey,

I was looking at the Zephyr SDK source code today, and noticed the
following statement as part of patch
0001-armv7m-support-basepri-primask-interrupt-locking.patch
(https://gerrit.zephyrproject.org/r/gitweb?p=meta-zephyr-sdk.git;a=blob;f=recipes-devtools/qemu/files/0001-armv7m-support-basepri-primask-interrupt-locking.patch;hb=HEAD):

*****************************************************************************
DISCLAIMER: The code contained in this patch cannot be used outside of Intel
or Windriver. It is not to be shared with other entities or persons.
*****************************************************************************

Is this still the case? If not, probably good to update that patch
removing that statement.

Thanks,
--
Ricardo Salveti


Re: [RFC] Provide a file system API

Benjamin Walsh <benjamin.walsh@...>
 

On Tue, Jul 26, 2016 at 06:36:45PM -0700, Ramesh Thomas wrote:
A file system is necessary to store data reliably and to be accessed in
a consistent and deterministic manner. Example applications are data
logging, media files and file based databases which would need to be
stored for later processing off-line or to be sent over radio in bursts
instead of per sample captured.

Related requirement:
https://jira.zephyrproject.org/browse/ZEP-228

***Proposal***
The Zephyr File System API will follow interfaces similar to stdio and
POSIX so it is familiar to users. However, it does not claim to be
compliant to POSIX or any other specification.

One of the goals is to keep clean separation of the file API layer and
the disk interface. Following diagram illustrates the layer separation:

+--------------------------+
| Zephyr File System API |
+--------------------------+
| Glue layer for FS module |
+--------------------------+
| File System module |
+--------------------------+
| Disk I/O interface |
+--------------------------+
| Storage media interface |
+--------------------------+

The File system module would be an implementation that provides clean
separation between the API layer and disk I/O. A glue layer will
abstract its own interface to that of the Zephyr FS API. The disk i/o
interface will use Zephyr's flash HAL.
Have you thought about possibly consolidating the API, the glue layer
and the filesystem itself when there is only one filesystem in the
system, which might well be the most common case ? Basically having the
ZFS API become a set of macros that map directly to the interface of the
one File System module present in the system ?


Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 3
[ZEP-637] Building and linking static libraries
https://jira.zephyrproject.org/browse/ZEP-637

[ZEP-638] feature to consider: flag missing functionality at build time when possible
https://jira.zephyrproject.org/browse/ZEP-638

[ZEP-640] Remove dynamic IRQs/exceptions from Zephyr
https://jira.zephyrproject.org/browse/ZEP-640


UPDATED JIRA items within last 24 hours: 6
[ZEP-48] define API for interrupt controllers
https://jira.zephyrproject.org/browse/ZEP-48

[ZEP-522] TCP/client-mode: disconnect
https://jira.zephyrproject.org/browse/ZEP-522

[ZEP-518] SPI not working on Arduino101
https://jira.zephyrproject.org/browse/ZEP-518

[ZEP-461] Release 1.4.0 has broken the BMI160 sample as well as an application based on it
https://jira.zephyrproject.org/browse/ZEP-461

[ZEP-639] device_pm_ops structure should be defined as static
https://jira.zephyrproject.org/browse/ZEP-639

[ZEP-423] Quark D2000 CRB documentation should include instructions to flash bootloader
https://jira.zephyrproject.org/browse/ZEP-423


CLOSED JIRA items within last 24 hours: 21
[ZEP-573] (Fixed) IoT applications must use netz API
https://jira.zephyrproject.org/browse/ZEP-573

[ZEP-567] (Fixed) netz sample code
https://jira.zephyrproject.org/browse/ZEP-567

[ZEP-489] (Fixed) nios2: handle unimplemented multiply/divide instructions
https://jira.zephyrproject.org/browse/ZEP-489

[ZEP-279] (Fixed) nios2: demonstrate nanokernel hello world
https://jira.zephyrproject.org/browse/ZEP-279

[ZEP-273] (Fixed) nios2: implement flashing scripts
https://jira.zephyrproject.org/browse/ZEP-273

[ZEP-506] (Fixed) nios2: support baremetal boot and XIP on Altera MAX10
https://jira.zephyrproject.org/browse/ZEP-506

[ZEP-254] (Fixed) nios2: define NANO_ESF struct and populate _default_esf
https://jira.zephyrproject.org/browse/ZEP-254

[ZEP-274] (Fixed) nios2: document GDB debugging procedure
https://jira.zephyrproject.org/browse/ZEP-274

[ZEP-277] (Fixed) nios2: implement sys_io.h functions
https://jira.zephyrproject.org/browse/ZEP-277

[ZEP-249] (Fixed) nios2: Enable altera_max10 board in sanitycheck runs for nanokernel
https://jira.zephyrproject.org/browse/ZEP-249

[ZEP-262] (Fixed) nios2: implement _arch_irq_lock() _arch_irq_unlock()
https://jira.zephyrproject.org/browse/ZEP-262

[ZEP-304] (Fixed) Investigate QEMU support for Nios II
https://jira.zephyrproject.org/browse/ZEP-304

[ZEP-289] (Fixed) nios2: implement kernel_event_logger
https://jira.zephyrproject.org/browse/ZEP-289

[ZEP-271] (Fixed) nios2: enable microkernel & test cases
https://jira.zephyrproject.org/browse/ZEP-271

[ZEP-203] (Fixed) clean up APIs for static exceptions
https://jira.zephyrproject.org/browse/ZEP-203

[ZEP-275] (Fixed) nios2: scope support for instruction/data caches
https://jira.zephyrproject.org/browse/ZEP-275

[ZEP-504] (Won't Do) nios2: investigate tickless idle for avalon timer driver
https://jira.zephyrproject.org/browse/ZEP-504

[ZEP-270] (Fixed) nios2: determine optimal value for PERFOPT_ALIGN
https://jira.zephyrproject.org/browse/ZEP-270

[ZEP-272] (Fixed) nios2: add global pointer support
https://jira.zephyrproject.org/browse/ZEP-272

[ZEP-463] (Fixed) Getting started guide "next" link doesn't take you to "Checking Out the Source Code Anonymously" section
https://jira.zephyrproject.org/browse/ZEP-463

[ZEP-428] (Won't Do) Ethernet/IPv4/TCP net_send error
https://jira.zephyrproject.org/browse/ZEP-428


RESOLVED JIRA items within last 24 hours: 3
[ZEP-488] (Won't Do) Ethernet/IPv4/TCP/server-mode: unable to send data
https://jira.zephyrproject.org/browse/ZEP-488

[ZEP-633] (Fixed) samples/usb/cdc_acm: undefined reference to `uart_qmsi_pm_save_config'
https://jira.zephyrproject.org/browse/ZEP-633

[ZEP-478] (Fixed) Linux setup docs missing step to install curses development package for Fedora
https://jira.zephyrproject.org/browse/ZEP-478


Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/3911 : i2c_qmsi: Implement suspend and resume functions
- https://gerrit.zephyrproject.org/r/3904 : x86: don't report bogus spurious interrupt vectors
- https://gerrit.zephyrproject.org/r/3910 : Bluetooth: tester: Use SYS_LOG_ERR instead of printk
- https://gerrit.zephyrproject.org/r/3909 : Bluetooth: tester: Fix extra new lines
- https://gerrit.zephyrproject.org/r/3901 : sensor: fix BMI160 sensor hang issue
- https://gerrit.zephyrproject.org/r/3908 : doc: Add file system documentation
- https://gerrit.zephyrproject.org/r/3906 : doc: Clarified Mac OS X set up instructions
- https://gerrit.zephyrproject.org/r/3905 : usb/cdc_acm : Unsupported functions return error code
- https://gerrit.zephyrproject.org/r/3899 : dns: FIX: use byteorder.h functions
- https://gerrit.zephyrproject.org/r/3898 : dns: FIX add README_API file and improve sample code
- https://gerrit.zephyrproject.org/r/3900 : MAINTAINERS: Add network applications and update tinycrypt sections

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/3517 : arm: Add support for both floating point ABIs
- https://gerrit.zephyrproject.org/r/3842 : microkernel: remove deprecated task IRQs
- https://gerrit.zephyrproject.org/r/3525 : zephyr-env.sh: prepend to PATH
- https://gerrit.zephyrproject.org/r/3880 : Bluetooth: L2CAP: Add RTX timer for 'disconnect' command
- https://gerrit.zephyrproject.org/r/3879 : Bluetooth: L2CAP: Add RTX timer for 'configuration' command
- https://gerrit.zephyrproject.org/r/3878 : Bluetooth: L2CAP: Add RTX timer for 'get info' command
- https://gerrit.zephyrproject.org/r/3877 : Bluetooth: L2CAP: Initialize & cleanup RTX timer on BR/EDR
- https://gerrit.zephyrproject.org/r/3856 : x86: declare internal API for interrupt controllers
- https://gerrit.zephyrproject.org/r/3883 : pm: Reduce amount of #ifdef usage on drivers
- https://gerrit.zephyrproject.org/r/3531 : Bluetooth: GATT: Add queuing support
- https://gerrit.zephyrproject.org/r/3505 : driver: ENC28J60 Ethernet SPI module
- https://gerrit.zephyrproject.org/r/3530 : Bluetooth: L2CAP: Make common RTX commands timer
- https://gerrit.zephyrproject.org/r/3859 : misc: Remove generic PRINT macros from sensor samples
- https://gerrit.zephyrproject.org/r/3857 : sanitycheck: add nrf52_nitrogen and nrf52_pca10040
- https://gerrit.zephyrproject.org/r/3848 : lib: Introduce the CoAP implementation for Zephyr
- https://gerrit.zephyrproject.org/r/3851 : samples/net: Add a sample for a CoAP server
- https://gerrit.zephyrproject.org/r/3850 : samples/net: Add a sample for a CoAP client
- https://gerrit.zephyrproject.org/r/3849 : tests: Add simple CoAP tests
- https://gerrit.zephyrproject.org/r/3854 : tests: Support computing the result of tests
- https://gerrit.zephyrproject.org/r/3853 : MAINTAINERS: add Quapi section
- https://gerrit.zephyrproject.org/r/3896 : nats: FIX: update hack to handle dummy packet for TCP connect
- https://gerrit.zephyrproject.org/r/3892 : nats: FIX: homogenize return codes and update API documentation
- https://gerrit.zephyrproject.org/r/3893 : nats: FIX: add README file
- https://gerrit.zephyrproject.org/r/3887 : mqtt/subscriber: FIX: update README file
- https://gerrit.zephyrproject.org/r/3891 : mqtt: FIX: update sample code to include MQTT UNSUBSCRIBE message
- https://gerrit.zephyrproject.org/r/3888 : mqtt: FIX: add MQTT unsubscribe/pingresp handling functions
- https://gerrit.zephyrproject.org/r/3890 : mqtt: FIX: update hack to handle dummy packet for TCP connect
- https://gerrit.zephyrproject.org/r/3861 : misc: Remove generic PRINT macros from synch samples
- https://gerrit.zephyrproject.org/r/3866 : misc: Remove generic PRINT macros from pci samples
- https://gerrit.zephyrproject.org/r/3889 : mqtt: FIX: add unsubscribe function and update return codes
- https://gerrit.zephyrproject.org/r/3868 : misc: Remove generic PRINT macros from button samples
- https://gerrit.zephyrproject.org/r/3864 : misc: Remove generic PRINT macros from spi samples
- https://gerrit.zephyrproject.org/r/3867 : misc: Remove generic PRINT macros from aio samples
- https://gerrit.zephyrproject.org/r/3863 : misc: Remove generic PRINT macros from power samples
- https://gerrit.zephyrproject.org/r/3862 : misc: Remove generic PRINT macros from hello world samples
- https://gerrit.zephyrproject.org/r/3865 : misc: Remove generic PRINT macros from flash samples
- https://gerrit.zephyrproject.org/r/3894 : power_mgmt: Make device_pm_ops definition static
- https://gerrit.zephyrproject.org/r/3840 : make_zephyr_sdk.sh: Use git describe to determine version
- https://gerrit.zephyrproject.org/r/3860 : misc: Remove generic PRINT macros from usb samples
- https://gerrit.zephyrproject.org/r/3886 : scripts: Port get_maintainer.pl to Zephyr
- https://gerrit.zephyrproject.org/r/3847 : arm: remove dynamic IRQs and exceptions
- https://gerrit.zephyrproject.org/r/3845 : x86: remove dynamic interrupts and exceptions
- https://gerrit.zephyrproject.org/r/3846 : arc: remove deprecated dynamic interrupt implementation
- https://gerrit.zephyrproject.org/r/3844 : test_context: don't test dynamic exceptions
- https://gerrit.zephyrproject.org/r/3843 : zephyr: remove deprecated dynamic interrupt API
- https://gerrit.zephyrproject.org/r/3895 : tests/kernel/test_multilib: Test for proper multilib selection.
- https://gerrit.zephyrproject.org/r/3884 : pm: Declare weak versions of _sys_soc_suspend and _sys_soc_resume
- https://gerrit.zephyrproject.org/r/3312 : drivers/crypto: Tinycrypt shim driver

MERGED within last 24 hours:
- https://gerrit.zephyrproject.org/r/3912 : misc: Make sure byteorder.h does not get loaded more than once
- https://gerrit.zephyrproject.org/r/3902 : doc: add ncurses to linux dev host setup doc
- https://gerrit.zephyrproject.org/r/3897 : add reviewers: add support for multiple mantainer per file
- https://gerrit.zephyrproject.org/r/3885 : MAINTAINERS: add file system and update mbedTLS sections
- https://gerrit.zephyrproject.org/r/3871 : uart_qmsi: Remove uart_qmsi_pm_save_config
- https://gerrit.zephyrproject.org/r/3479 : doc: Remove contributor documentation moved to wiki
- https://gerrit.zephyrproject.org/r/3521 : Makefile.toolchain.zephyr: Test CONFIG_TOOLCHAIN_VARIANT robustly.
- https://gerrit.zephyrproject.org/r/3526 : samples/static_lib: Add testcase.ini
- https://gerrit.zephyrproject.org/r/3881 : Make apt be more quiet during packer builds
- https://gerrit.zephyrproject.org/r/3882 : Update to SDK 0.8.2-i686


Re: About the testing framework

Hannikainen, Jaakko <jaakko.hannikainen@...>
 

Hi,

Guess our targest are partially aligned then (thanks, 'open-source' development). At any case, Zephyr needs a centralized testing framework. I quickly wrote one up for testing purposes, but it's meant to run with precisely the module being tested linked in, and nothing else of Zephyr, instead being linked with eg. GNU's libc. I haven't done any work for actual integration with the existing testing scripts. The framework itself can be ported pretty quickly to a more Zephyr-compatible way though (a couple lines of code + some ifdef), so that we could have one framework for both integration and unit testing - unifying the test architecture. How well does your framework work without the Zephyr core, and is it easily portable to be run with your own computer without virtualization?

ZEP-578 could help testing a lot. If we move from ifdef-compiled code to if(defined()), the code can be tested a lot easier in a unit testing context. Before including the .c file, just change the macro contents simple numbers to variables, and set the variables at each unit test.

Drivers can also be pretty easily unit-tested, just mock out the hardware apis and check the driver's code itself, and ensure it uses the mocked device correctly. This applies even if ZEP-578 doesn't get any wind, then the test suite code has to be split into multiple binaries, one for each test configuration.

Jaakko

________________________________
From: Perez-Gonzalez, Inaky
Sent: Friday, August 05, 2016 09:37
To: Hannikainen, Jaakko; devel(a)lists.zephyrproject.org; Perez Hernandez, Javier B
Subject: RE: About the testing framework

Hi Jaakko

A few weeks ago I presented in the TSC an automated testing solution we are now in the process of opensourcing so the project as a whole can use it.

It is the opposite of unit testing, as it focuses on being able to run any kind of code in target hardware in an automated way—however, I am interested in the approach you are taking because we could have this system running those unit tests in target hardware too. Especially would like to see how can be work on CONFIG_ option combination. Javier is doing some research into that.

The breadth of my concern is drivers. If we follow the LK model, most of our code base is going to be drivers and subsystems; I am trying to figure out how we can get all that tested with a reasonable frequency and coverage

From: Hannikainen, Jaakko [mailto:jaakko.hannikainen(a)intel.com]
Sent: Wednesday, August 3, 2016 5:29 AM
To: devel(a)lists.zephyrproject.org
Subject: [devel] About the testing framework

Hello,

Currently, the testing stack consists of an unsorted bunch of integration and end-to-end tests. There's nothing wrong with having integration tests, but currently a lot of the tests could be done at least partially as plain unit tests. This way we could skip over a lot of unneeded time used for both compiling and running tests, as a lot of the testable code is written in portable C. Then the unit tests wouldn't have to do anything except compile the single .c file containing the code and link it with the testing framework. The test would also run a lot faster then the current stack since it can be run natively on the host without dragging in QEMU and the rest of Zephyr OS.

Including a unit testing library (either existing or a new one) would have multiple benefits for the entire system:

1) Unit testing enables testing static methods, rather than having to stick with the public api exposed by the module. This way all functions can be tested, for example edge cases of a static validation function.

2) Writing unit tests is also a lot simpler than writing complex integration tests. This would eventually result as an increase of testing coverage as writing tests would have a lower barrier of entry. This would especially happen if the project would start to enforce some percent of required test coverage for all incoming patches (this would have to exclude eg. arch specific code).

3) Writing native tests enables running valgrind on the tests, exposing bugs like invalid pointer dereferences and uninitialized variables. For certain cases, statically initialized code could be turned to dynamically allocated by mocking the respective functions, which would also allow using valgrind to hunt down memory leaks.

Although C lags a bit behind languages like Java for mocking, GCC's -Wl,--wrap works well for isolating single functions for testing. I tested out a library called CMocka (licensed under Apache 2.0) which seemed to work pretty well. Writing our own testing library isn't really that hard either, an initial usable version can be done in a day or two.

I propose including a unit testing framework in the Zephyr project (1.6.0 as target), and would like some discussion about how it should be implemented. Should we write our own test framework or use an existing one? What kind of adaptations to the existing test frameworks would be needed, if any? Should code coverage metrics be enforced so that we could have actual CI, rather than Jenkins just running some tests?

Jaakko


Re: About the testing framework

Perez-Gonzalez, Inaky <inaky.perez-gonzalez@...>
 

Hi Jaakko

A few weeks ago I presented in the TSC an automated testing solution we are now in the process of opensourcing so the project as a whole can use it.

It is the opposite of unit testing, as it focuses on being able to run any kind of code in target hardware in an automated way-however, I am interested in the approach you are taking because we could have this system running those unit tests in target hardware too. Especially would like to see how can be work on CONFIG_ option combination. Javier is doing some research into that.

The breadth of my concern is drivers. If we follow the LK model, most of our code base is going to be drivers and subsystems; I am trying to figure out how we can get all that tested with a reasonable frequency and coverage

From: Hannikainen, Jaakko [mailto:jaakko.hannikainen(a)intel.com]
Sent: Wednesday, August 3, 2016 5:29 AM
To: devel(a)lists.zephyrproject.org
Subject: [devel] About the testing framework

Hello,

Currently, the testing stack consists of an unsorted bunch of integration and end-to-end tests. There's nothing wrong with having integration tests, but currently a lot of the tests could be done at least partially as plain unit tests. This way we could skip over a lot of unneeded time used for both compiling and running tests, as a lot of the testable code is written in portable C. Then the unit tests wouldn't have to do anything except compile the single .c file containing the code and link it with the testing framework. The test would also run a lot faster then the current stack since it can be run natively on the host without dragging in QEMU and the rest of Zephyr OS.

Including a unit testing library (either existing or a new one) would have multiple benefits for the entire system:

1) Unit testing enables testing static methods, rather than having to stick with the public api exposed by the module. This way all functions can be tested, for example edge cases of a static validation function.

2) Writing unit tests is also a lot simpler than writing complex integration tests. This would eventually result as an increase of testing coverage as writing tests would have a lower barrier of entry. This would especially happen if the project would start to enforce some percent of required test coverage for all incoming patches (this would have to exclude eg. arch specific code).

3) Writing native tests enables running valgrind on the tests, exposing bugs like invalid pointer dereferences and uninitialized variables. For certain cases, statically initialized code could be turned to dynamically allocated by mocking the respective functions, which would also allow using valgrind to hunt down memory leaks.

Although C lags a bit behind languages like Java for mocking, GCC's -Wl,--wrap works well for isolating single functions for testing. I tested out a library called CMocka (licensed under Apache 2.0) which seemed to work pretty well. Writing our own testing library isn't really that hard either, an initial usable version can be done in a day or two.

I propose including a unit testing framework in the Zephyr project (1.6.0 as target), and would like some discussion about how it should be implemented. Should we write our own test framework or use an existing one? What kind of adaptations to the existing test frameworks would be needed, if any? Should code coverage metrics be enforced so that we could have actual CI, rather than Jenkins just running some tests?

Jaakko


code freeze! 1.5.0-rc1 due Friday EOD PDT

Perez-Gonzalez, Inaky <inaky.perez-gonzalez@...>
 

Hello All

Please remember we'll tag v1.5.0-rc1 end of day Friday (PDT Time Zone)

We are in code freeze, so to make processing swifter for everyone, please state in contributions what is being fixed by your submission, as we are only taking:


- code: bug / issue fixes

- documentation

- testcases

Thank you!


Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 3
[ZEP-634] document IRQ handling internals
https://jira.zephyrproject.org/browse/ZEP-634

[ZEP-635] Add FS API to grow a file
https://jira.zephyrproject.org/browse/ZEP-635

[ZEP-636] Add FS API to get volume total and free space
https://jira.zephyrproject.org/browse/ZEP-636


UPDATED JIRA items within last 24 hours: 6
[ZEP-244] Multiple Published Versions Support
https://jira.zephyrproject.org/browse/ZEP-244

[ZEP-632] MQTT fail to re-connect to the broker.
https://jira.zephyrproject.org/browse/ZEP-632

[ZEP-633] samples/usb/cdc_acm: undefined reference to `uart_qmsi_pm_save_config'
https://jira.zephyrproject.org/browse/ZEP-633

[ZEP-623] MQTT sample mqtt.h missing "mqtt_unsubscribe" function
https://jira.zephyrproject.org/browse/ZEP-623

[ZEP-423] Quark D2000 CRB documentation should include instructions to flash bootloader
https://jira.zephyrproject.org/browse/ZEP-423

[ZEP-580] Stack allignment on ARM doesn't always follow Procedure Call Standard
https://jira.zephyrproject.org/browse/ZEP-580


CLOSED JIRA items within last 24 hours: 11
[ZEP-568] (Fixed) MQTT QoS sample app
https://jira.zephyrproject.org/browse/ZEP-568

[ZEP-511] (Fixed) Add Deep Sleep support in PMA
https://jira.zephyrproject.org/browse/ZEP-511

[ZEP-234] (Fixed) provide a direct memory access (DMA) interface
https://jira.zephyrproject.org/browse/ZEP-234

[ZEP-232] (Fixed) Support for USB communications device class ACM
https://jira.zephyrproject.org/browse/ZEP-232

[ZEP-354] (Fixed) Provide a DMA driver for Quark SE core
https://jira.zephyrproject.org/browse/ZEP-354

[ZEP-356] (Fixed) DMA device support
https://jira.zephyrproject.org/browse/ZEP-356

[ZEP-227] (Fixed) Add kernel API to put SoC to Low Power State (LPS)
https://jira.zephyrproject.org/browse/ZEP-227

[ZEP-225] (Fixed) Add kernel API to put SoC to Deep Sleep (DS) State
https://jira.zephyrproject.org/browse/ZEP-225

[ZEP-163] (Won't Do) AIO doesn't work on QUARK_D2000_CRB
https://jira.zephyrproject.org/browse/ZEP-163

[ZEP-177] (Fixed) Windows build with MinGW
https://jira.zephyrproject.org/browse/ZEP-177

[ZEP-401] (Fixed) PWM driver turns off pin if off time is 0 in set_values
https://jira.zephyrproject.org/browse/ZEP-401


RESOLVED JIRA items within last 24 hours: 8
[ZEP-358] (Fixed) Add support for TMP112 sensor
https://jira.zephyrproject.org/browse/ZEP-358

[ZEP-575] (Fixed) Ethernet/IPv4/UDP: ip_buf_appdatalen returns wrong values
https://jira.zephyrproject.org/browse/ZEP-575

[ZEP-621] (Fixed) samples/static_lib: fatal error: stdio.h: No such file or directory
https://jira.zephyrproject.org/browse/ZEP-621

[ZEP-581] (Fixed) test_sha256 fails on Nios II if CONFIG_DEBUG=y
https://jira.zephyrproject.org/browse/ZEP-581

[ZEP-474] (Fixed) ND: Neighbor cache is not getting cleared
https://jira.zephyrproject.org/browse/ZEP-474

[ZEP-477] (Won't Do) IPV6 reassembly of fragmented packets is not working
https://jira.zephyrproject.org/browse/ZEP-477

[ZEP-370] (Fixed) Crash on Arduino101 if fiber is CPU hog
https://jira.zephyrproject.org/browse/ZEP-370

[ZEP-523] (Fixed) FIFOs defined by DEFINE_FIFO macro use the same memory buffer
https://jira.zephyrproject.org/browse/ZEP-523


Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/3893 : nats: Add README file
- https://gerrit.zephyrproject.org/r/3896 : nats: Update hack to handle dummy packet for TCP connect
- https://gerrit.zephyrproject.org/r/3888 : mqtt: Add MQTT unsubscribe/pingresp handling functions
- https://gerrit.zephyrproject.org/r/3895 : tests/kernel/test_multilib: Test for proper multilib selection.
- https://gerrit.zephyrproject.org/r/3886 : scripts: Port get_maintainer.pl to Zephyr
- https://gerrit.zephyrproject.org/r/3883 : pm: Reduce amount of #ifdef usage on drivers
- https://gerrit.zephyrproject.org/r/3884 : pm: Declare weak versions of _sys_soc_suspend and _sys_soc_resume
- https://gerrit.zephyrproject.org/r/3894 : power_mgmt: Make device_pm_ops definition static
- https://gerrit.zephyrproject.org/r/3892 : nats: Homogenize return codes and update API documentation
- https://gerrit.zephyrproject.org/r/3889 : mqtt: Add unsubscribe function and update return codes
- https://gerrit.zephyrproject.org/r/3890 : mqtt: Update hack to handle dummy packet for TCP connect
- https://gerrit.zephyrproject.org/r/3891 : mqtt: Update sample code to include MQTT UNSUBSCRIBE message
- https://gerrit.zephyrproject.org/r/3887 : mqtt/subscriber: Update README file
- https://gerrit.zephyrproject.org/r/3885 : MAINTAINERS: add file system and update mbedTLS sections
- https://gerrit.zephyrproject.org/r/3882 : Update to SDK 0.8.2-i686
- https://gerrit.zephyrproject.org/r/3881 : Make apt be more quiet during packer builds

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/3848 : lib: Introduce the CoAP implementation for Zephyr
- https://gerrit.zephyrproject.org/r/3850 : samples/net: Add a sample for a CoAP client
- https://gerrit.zephyrproject.org/r/3849 : tests: Add simple CoAP tests
- https://gerrit.zephyrproject.org/r/3851 : samples/net: Add a sample for a CoAP server
- https://gerrit.zephyrproject.org/r/3854 : tests: Support computing the result of tests
- https://gerrit.zephyrproject.org/r/3853 : MAINTAINERS: add Quapi section
- https://gerrit.zephyrproject.org/r/3521 : Makefile.toolchain.zephyr: Test CONFIG_TOOLCHAIN_VARIANT robustly.
- https://gerrit.zephyrproject.org/r/3517 : arm: Add support for both floating point ABIs
- https://gerrit.zephyrproject.org/r/3878 : Bluetooth: L2CAP: Add RTX timer for 'get info' command
- https://gerrit.zephyrproject.org/r/3439 : spi_qmsi: Add suspend/resume
- https://gerrit.zephyrproject.org/r/3527 : console: shell: Shell enhancement - Support multiple modules
- https://gerrit.zephyrproject.org/r/3879 : Bluetooth: L2CAP: Add RTX timer for configuration command
- https://gerrit.zephyrproject.org/r/3530 : Bluetooth: L2CAP: Make common RTX commands timer
- https://gerrit.zephyrproject.org/r/3880 : Bluetooth: L2CAP: Add RTX timer for disconnect on BR/EDR
- https://gerrit.zephyrproject.org/r/3877 : Bluetooth: L2CAP: Initialize & cleanup RTX timer on BR/EDR
- https://gerrit.zephyrproject.org/r/3312 : drivers/crypto: Tinycrypt shim driver
- https://gerrit.zephyrproject.org/r/3856 : x86: declare internal API for interrupt controllers
- https://gerrit.zephyrproject.org/r/3859 : misc: Remove generic PRINT macros from sensor samples
- https://gerrit.zephyrproject.org/r/3863 : misc: Remove generic PRINT macros from power samples
- https://gerrit.zephyrproject.org/r/3868 : misc: Remove generic PRINT macros from button samples
- https://gerrit.zephyrproject.org/r/3867 : misc: Remove generic PRINT macros from aio samples
- https://gerrit.zephyrproject.org/r/3866 : misc: Remove generic PRINT macros from pci samples
- https://gerrit.zephyrproject.org/r/3865 : misc: Remove generic PRINT macros from flash samples
- https://gerrit.zephyrproject.org/r/3862 : misc: Remove generic PRINT macros from hello world samples
- https://gerrit.zephyrproject.org/r/3861 : misc: Remove generic PRINT macros from synch samples
- https://gerrit.zephyrproject.org/r/3860 : misc: Remove generic PRINT macros from usb samples
- https://gerrit.zephyrproject.org/r/3858 : misc: Remove generic PRINT macros from net samples
- https://gerrit.zephyrproject.org/r/3864 : misc: Remove generic PRINT macros from spi samples
- https://gerrit.zephyrproject.org/r/3505 : driver: ENC28J60 Ethernet SPI module
- https://gerrit.zephyrproject.org/r/3871 : uart_qmsi: Remove uart_qmsi_pm_save_config

MERGED within last 24 hours:
- https://gerrit.zephyrproject.org/r/3404 : soc: nrf5x: Add support to read and write to gpios
- https://gerrit.zephyrproject.org/r/3350 : uart_qmsi: Implement suspend and resume functions

6941 - 6960 of 8113