Commit Graph

64391 Commits

Author SHA1 Message Date
Piotr Pryga
3715241bde Bluetooth: Controller: fix per sync hang if wrong cte and list filter
In case of use of filtering based on: periodic advertising list and
CTE type, the synchronization can hang. That is possible if a periodic
advertiser uses wrong CTE type. In such situation the sync is not
released in ull_sync_done call. What more the sync->timeout_reload
is not cleared and Host is not able to cancel the synchronization.
The periodic advertising is in a semi-sync-established state.
There are no reports send to Host. Host can't use the sync set to
synchronize with other device. It is only able to terminate the
sync (call to ll_sync_terminate).

To fix the issue following changes should be applied:
- isr_rx_adv_sync_estab should call isr_rx_done_cleanup
with sync_term parameter in case the sync_ok isn't SYNC_STAT_ALLOWED.
In any case the CTE type is wrong, no matter is the periodic
advertising list filtering is enabled or not.
- ull_sync_established_report should set sync->is_term to true
in case the CTE type is not allowed. That change is required for devices
that do not support Direction Finding Extension. For those devices CTE
type based filtering is done in ULL by ull_sync_established_report
function. The sync->is_term should be set unconditionally, hence is
moved up in the function.

With these two changes done, ull_sync_done function will execute
sync_ticker_release in case the CTE has wrong type. ULL, depending on
notifications prepared by ull_sync_established_report, will follow up
on sync termination if required.

Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
2022-05-16 10:08:06 +02:00
Katsuhiro Suzuki
154b5a1319 boards: hifive1_revb: add pinctrl configs for spi
This patch adds lack pinctrl configs for spi1 and spi2.

Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
2022-05-16 09:41:40 +02:00
Erik Brockhoff
876772f82e Bluetooth: controller: llcp: terminate conn. on past instant for chmu
In case a channel map is requested for an instant in the past
connection is terminated.

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2022-05-16 09:41:23 +02:00
Wael Barakat
4b3fe99b83 drivers: gpio: nrf: fix pin number used in getting GPIOTE channel
Incorrect GPIOTE channel was being freed because the pin number
being used is not the absolute pin but the pin within the port.

Signed-off-by: Wael Barakat <waelsbarakat@gmail.com>
2022-05-16 09:41:04 +02:00
Erik Brockhoff
9498310c53 Bluetooth: controller: Implement cross connection CPR mutual exclusion
Porting mechanism as used in legacy LLCP to refactored CPR.

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2022-05-16 09:40:36 +02:00
Erik Brockhoff
4ae3dc8cb2 Bluetooth: controller: Impl. check for active remote initiated CPR
Checking if a remote initiated CPR is currently active on given conn

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2022-05-16 09:40:36 +02:00
Erik Brockhoff
84a8294624 Bluetooth: test: Implementing mechanism to emulate multiple connections
Expanding the test helpers for unit tests to allow for emulation of
multiple connections.

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2022-05-16 09:40:36 +02:00
Erik Brockhoff
3e5b004d62 Bluetooth: controller: moving CPR cross connection serialization
Moving to allow using the mechanism with refactored LLCP

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2022-05-16 09:40:36 +02:00
Jordan Yates
782480313e tests: pm: device_runtime: test PM unsupported behaviour
Test the behaviour of the PM device_runtime API on devices that do not
support power management.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2022-05-15 21:34:46 +02:00
Jordan Yates
e83e9b08b5 pm: device_runtime: return -ENOTSUP if PM not supported
Return `-ENOTSUP` on calls to device_runtime functions if the underlying
device does not support power management.

Fixes #45648.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2022-05-15 21:34:46 +02:00
Felipe Neves
b3611b4cd0 samples: net: wifi: add mikroe wifi bt click
as supported wifi interface for this sample.

Signed-off-by: Felipe Neves <felipe.neves@linaro.org>
2022-05-15 21:34:32 +02:00
Felipe Neves
7dfd56a855 boards: arm: b_u585_iot02a: enable arduino
serial bus in the arduino connector.

Signed-off-by: Felipe Neves <felipe.neves@linaro.org>
2022-05-15 21:34:32 +02:00
Felipe Neves
2494db7191 boards: arm: lpcexpresso5569: enables mikrobus
serial connector in its dts file.

Signed-off-by: Felipe Neves <felipe.neves@linaro.org>
2022-05-15 21:34:32 +02:00
Felipe Neves
44631ebada drivers: wifi: esp_at: add support for firmware
V2.1 for ESP At and make it to coexist
with the current versions.

Signed-off-by: Felipe Neves <felipe.neves@linaro.org>
2022-05-15 21:34:32 +02:00
Felipe Neves
ddfceb6ad5 boards: mikroe_wifi_bt_click: added support
For MikroElektronika WIFI plus BT shield

Signed-off-by: Felipe Neves <felipe.neves@linaro.org>
2022-05-15 21:34:32 +02:00
Martin Jäger
2554f04464 doc: services: storage: add flash_img API
Doxygen comments were existing, but they were not rendered anywhere in
the docs. The code is located under DFU, but I think it makes sense
to document it under storage, next to similar flash-related APIs.

Signed-off-by: Martin Jäger <martin@libre.solar>
2022-05-15 21:33:54 +02:00
Reto Schneider
3bd8355ca0 doc: Fix settings_handler_static::h_export example
Callback takes a const data pointer.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
2022-05-15 21:33:22 +02:00
Dominik Ermel
578cb132ff mgmt/mcumgr/lib: Make version string work with CONFIG_NEWLIB_LIBC
By default the newlib does not compile with %hhu processing,
to avoid turning on additional options for newlib compilation
this commit changes formatting string to use %hu instead.
The commit fixes problem with malformed version string being
returned, by smp_svr, when CONFIG_NEWLIB_LIBC=y is set together
with CONFIG_NEWLIB_LIBC_NANO=y.

Fixes #45261

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-05-15 21:33:05 +02:00
Dominik Ermel
0c051d0dd6 mgmt/mcumgr/lib: Fix astray dot in image version
Removed the dot.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-05-15 21:33:05 +02:00
Emil Gydesen
f34c9132d6 Bluetooth: Sample: Add iso get info use to iso connected benchmark
Add a call to bt_iso_chan_get_info for each CIS in the sample
to ensure that we don't attempt to send any data on a CIS
that is RX only.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-05-15 21:32:19 +02:00
Emil Gydesen
bcfb4df390 Bluetooth: ISO: Modify and add more debug for setup iso data path
Modify the function slightly to take a different
argument, and add more debugging to the function.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-05-15 21:32:19 +02:00
Emil Gydesen
f67e12ae8e Bluetooth: ISO: Add check for can_send in bt_iso_chan_send
Ensure that we don't attempt to send any data to the
controller if `can_send` is not set, and return an
error code to the application instead.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-05-15 21:32:19 +02:00
Emil Gydesen
24e38e90db Bluetooth: ISO: Use can_send, can_recv when setting up data paths
Besides checking for the rx/tx pointer, we now also validate
the can_send and can_recv values to ensure that we do
not setup a useless data path.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-05-15 21:32:19 +02:00
Emil Gydesen
54fac0323c Bluetooth: ISO: Expose can_send and can_recv in bt_iso_chan_get_info
The application can get the information about can_send
and can_recv in the bt_iso_chan_get_info function.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-05-15 21:32:19 +02:00
Emil Gydesen
2660c17c31 Bluetooth: ISO: Set can_send/can_recv for broadcast channels
Set the can_send to true and can_recv to false for broadcaster.
Set the can_send to false and can_recv to true for the sync
receiver.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-05-15 21:32:19 +02:00
Emil Gydesen
b88b25adac Bluetooth: ISO: Extract and store information about RX and TX
Instead of relying only on the `tx` and `rx` qos pointers,
we extract further information from the
bt_hci_evt_le_cis_established event to properly determine if we
can actually send or receive data.

This is useful to help determine which data paths to setup,
and whether to reject requests to send.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-05-15 21:32:19 +02:00
Alexej Rempel
476d199752 logging: shell: fix shell stats null pointer dereference
If CONFIG_SHELL_STATS is disabled, shell->stats is NULL and
must not be dereferenced. Guard against it.

Fixes #44089

Signed-off-by: Alexej Rempel <Alexej.Rempel@de.eckerle-gruppe.com>
2022-05-15 21:32:10 +02:00
Keiya Nobuta
5d662ae3f8 drivers: kscan: Add CAP1203 driver
Add driver for Microchip CAP1203 3-Channel Capacitive Touch Sensor

datasheet: https://ww1.microchip.com/downloads/en/DeviceDoc/00001572B.pdf

Signed-off-by: Keiya Nobuta <nobuta.keiya@fujitsu.com>
2022-05-15 21:31:54 +02:00
Anas Nashif
a6f924db7f twister: add support for platform_type filter
Instead of relying on runtime filter to limit scope to emulation
platforms, use the type attribute for each platform and do the filtering
very early on. This will speed things up for tests where we only run on
emulation platforms.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-05-14 14:49:59 -04:00
Anas Nashif
8faca29fea tests/samples: fix usage of integration_platforms
integration platforms can't be filtered out, adapt tests so that those
platforms are always available for testing.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-05-14 14:49:59 -04:00
Anas Nashif
bfe16bdc17 samples: logging: fix filtering in yaml file
integration platforms should not be in common section if we have
scenarios with different set of integration platforms.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-05-13 17:25:56 -07:00
Keith Packard
05946ed9b2 lib/libc/minimal: Move sqrt/sqrtf from samples
The lmp90100_evb sample included an implementation of double sqrt, and the
on_off_level_lighting_vnd_app sample included an implementation of float
sqrtf. Move that code into minimal libc instead of requiring applications
to hand-roll their own version.

Signed-off-by: Keith Packard <keithp@keithp.com>
2022-05-14 08:49:36 +09:00
Henrik Brix Andersen
d781945467 doc: releases: 3.1: add CAN related release notes
Add CAN related release notes for Zephyr v3.1.0.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-05-13 14:13:54 -07:00
Henrik Brix Andersen
39f3d2d5a1 doc: develop: api: overview: note that the CAN API was changed in v3.1
Update the API overview documentation to note that the CAN API was
changed in the upcoming Zephyr v3.1 release.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-05-13 14:13:54 -07:00
Martin Jäger
257b4cdd85 dts: arm: stm32g4: fix bosch m_can compatible
The binding was erroneously changed in commit 988fe8d, which led to
build failures. This commit reverts the change.

Signed-off-by: Martin Jäger <martin@libre.solar>
2022-05-13 13:44:37 -07:00
Anas Nashif
367b962c28 ci: twister generates testplan.json
use json testplan, not CSV. Twister has migrated away from CSV.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-05-13 15:53:04 -04:00
Andrzej Głąbek
07b4362bac samples/drivers/adc: Add support for nRF52840 DK and nRF51 DK boards
The overlay for the nRF52840 DK board uses ADC controller child nodes
for specifying channel configurations and it shows how to configure
a channel in differential input mode, so it can serve as an example
of how to use these new possibilities. The overlay for the nRF51 DK
board shows how to use a specific ADC resolution (the default 12 bit
setting is not supported by nRF51 SoCs).

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2022-05-13 12:46:06 -07:00
Andrzej Głąbek
f5ffd05e6b samples/drivers/adc: Rework to use channel configurations from DT
Allow specifying configuration of channels through child nodes of ADC
controllers. This way analog inputs can be specified for channels in
SoCs that require this and it is also possible, for example, to use
different gain or reference selections for particular channels.

This commit also removes a few former limitations of the sample: now
it is possible to use more than 2 channels and each channel can use
a different ADC controller. Also the ADC resolution to be used can be
specified through devicetree.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2022-05-13 12:46:06 -07:00
Andrzej Głąbek
3e0679f01c include: drivers: adc: Add macros for reading channel configs from DT
Add macros that allow reading configuration for ADC channels from
child nodes of ADC controllers in devicetree.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2022-05-13 12:46:06 -07:00
Andrzej Głąbek
77edc2c852 dts: Include ADC DT binding headers from nRF SoC dtsi files
Add inclusions of header files with devicetree related ADC definitions
to the nRF SoC dtsi files so that those definitions can be used also
for nRF SoC based boards.
Provide definitions of nRF ADC and SAADC analog inputs suitable
for use in devicetree.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2022-05-13 12:46:06 -07:00
Andrzej Głąbek
8ca23ff2b5 dts: Add ADC controller child binding for channel configuration
Extend the common ADC controller binding with a child binding that
allows specifying configuration of ADC channels.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2022-05-13 12:46:06 -07:00
Emil Gydesen
0380f1180d Bluetooth: Audio: Remove unicast client iso listen
Remove call to bt_audio_stream_iso_listen which
calls bt_iso_server_register for the unicast client.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-05-13 12:44:47 -07:00
Emil Gydesen
fb8ee77efb Bluetooth: ISO: Update ISO shell for split config support
The bluetooth ISO shell module now supports the newly
added central and peripheral ISO configs.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-05-13 12:44:47 -07:00
Emil Gydesen
75bc421664 Bluetooth: ISO: Change some functions to static
There were a few local functions that were not
defined as static even though they could.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-05-13 12:44:47 -07:00
Emil Gydesen
4e557d71cc Bluetooth: ISO: Move functions around to reduce number of guards
Move a few unicast functions around so that we reduce the number
of #if defined guards. No code has changed, but a single
prototype has been added.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-05-13 12:44:47 -07:00
Emil Gydesen
3a68de4fba Bluetooth: ISO: Update ISO Kconfig for EXPERIMENTAL
Ensure that any Kconfig with [EXPERIMENTAL] in the
description, also selects EXPERIMENTAL.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-05-13 12:44:47 -07:00
Emil Gydesen
3f247b212b Bluetooth: ISO: Add Kconfig for ISO central/peripheral
Add two new Kconfigs: BT_ISO_CENTRAL and BT_ISO_PERIPHERAL
that is used to do central or peripheral only builds,
similar to the BT_CENTRAL or BT_PERIPHERAL Kconfigs.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-05-13 12:44:47 -07:00
Nazar Palamar
d940d23c10 modules: hal_infineon: added initial Kconfig and CMakeLists.txt
- added initial Kconfig
- added initial CMakeLists.txt (root, core-lib,  mtb-pal-cat1)
- updated module, driver and soc to use CONFIG_USE_INFINEON_xx
  defines from modules/hal_infineon/Kconfig

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2022-05-13 21:34:59 +02:00
Nazar Palamar
2fe6f74e09 west: Update hal_infineon and hal_cypress
- Update revision hal_infineon to 4af06965f57ba1e7d170e6a97d24c33785543a8c
- Remove hal_cypress

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2022-05-13 21:34:59 +02:00
Nazar Palamar
5a99e93d69 soc: arm: cypress: Update PSoC 6 implementation to use mtb-pdl-cat1
Updated PSoC 6 implementation to use hal_infineon/mtb-pdl-cat1

This PR is reflected changes according to Task#1 for RFC#42883.

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2022-05-13 21:34:59 +02:00