No description
Find a file
Pavel Vasilyev 37ab40f2f7 Bluetooth: Mesh: Calculate adv duration instead of using estimation
The duration value passed to `struct bt_mesh_adv_cb::start` is an
estimation.

When running mesh with BT_MESH_ADV_EXT option, the actual duration will
be shorter and the `struct bt_mesh_adv_cb::end` is called right after
the contorller finished advertising. Using the calculated duration the
lpn node can be configured for a shorter receive delay and receive
window and eventually use less power.

When running mesh with BT_MESH_ADV_LEGACY option, the time when adv will
be sent out by controller is unpredictable. But the time between start
and end `struct bt_mesh_adv_cb` callbacks is always 50ms for a single
advertisement. Therefore, the receive delay can't be less than 50ms.

With this change, adv duration is calculated between start and end
callbacks, but timers are started after end callback is called. Therefore
we need to consider time between two callbacks when setting timeouts for
timers.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2022-12-09 11:18:18 +01:00
.github github: workflows: compliance: Ensure no merge commits 2022-11-30 12:06:03 -05:00
arch arc: cache: Rework cache API 2022-12-01 13:40:56 -05:00
boards boards: arm: nuvoton_pfm_m487: use gpio and pinctrl apis by default 2022-12-08 18:46:33 +01:00
cmake cmake: update FindDeprecated for SOURCES 2022-12-05 11:03:02 +01:00
doc drivers: spi: deprecate spi_is_ready function 2022-12-07 09:40:23 -06:00
drivers drivers: dma: Simplify stm32_dma_check_fifo_mburst() function 2022-12-09 11:18:01 +01:00
dts drivers: serial: numicro: use pinctrl instead of hard-coded values 2022-12-08 18:46:33 +01:00
include/zephyr fs: Improve documentation for fs_mkdir 2022-12-09 11:18:10 +01:00
kernel kernel: events: add function to clear events 2022-12-02 09:50:42 -05:00
lib lib: libc: picolibc: Clean up Kconfig configurations 2022-12-08 15:09:55 -05:00
misc misc: generated: update configs.c template with <zephyr/...> prefix 2022-05-09 12:45:29 -04:00
modules modules: lvgl: Enable for CPU_CORTEX_M0/M0PLUS 2022-12-07 10:23:32 +00:00
samples samples: ipc: openamp: Enable openamp sample for iMX.RT1160 EVK 2022-12-05 19:54:37 +01:00
scripts gitlint: Add "commit" to violation messages 2022-12-07 07:58:05 -05:00
share cmake: sysbuild: Add support for recurive target cmake inclusion 2022-11-03 13:04:08 +01:00
soc xtensa: linker: Fix #52539 by updating the linker scripts 2022-12-08 18:46:59 +01:00
submanifests west.yml: allow users to easily add more modules 2021-10-07 13:45:42 +02:00
subsys Bluetooth: Mesh: Calculate adv duration instead of using estimation 2022-12-09 11:18:18 +01:00
tests tests: settings: remove unused settings_enc.c 2022-12-08 09:59:34 +00:00
.checkpatch.conf checkpatch: Remove ext/ from excludes 2022-11-30 12:06:55 -05:00
.clang-format clang-format: remove space before colon 2022-11-16 12:14:58 +00:00
.codecov.yml
.editorconfig editorconfig: Improve verbosity 2022-04-28 08:55:39 -04:00
.gitattributes gitattributes: consider SVG files generated 2021-10-14 12:42:44 -04:00
.gitignore scripts: compliance: Use consistent naming convention 2022-11-21 11:02:39 -05:00
.gitlint gitlint: Stop ignoring merge, revert, fixup and squash commits 2022-01-10 08:13:36 -05:00
.mailmap mailmap: update mailmap file with some stray emails 2021-06-17 14:15:41 -04:00
CMakeLists.txt usb-c: Generate USB-C connector VIF policies XML file 2022-12-02 08:46:04 -06:00
CODE_OF_CONDUCT.md
CODEOWNERS math: Introduce a DSP basicmath subsystem with a cmsis backend 2022-12-02 20:15:55 +01:00
CONTRIBUTING.rst doc: Fixed a link in CONTRIBUTING.rst 2019-02-28 12:46:04 -08:00
Kconfig kconfig: Clean up header comments and make them consistent 2019-11-04 17:31:27 -05:00
Kconfig.zephyr cmake: Allow selection of libc API overflow detection mode 2022-10-31 23:23:27 +09:00
LICENSE
MAINTAINERS.yml math: Introduce a DSP basicmath subsystem with a cmsis backend 2022-12-02 20:15:55 +01:00
README.rst readme: Add support for light/dark modes in the logo 2022-11-18 08:58:59 +01:00
VERSION VERSION: bump to 3.2.99 2022-09-30 13:06:22 -05:00
version.h.in cmake: version.h generation performed at build time 2022-02-08 07:50:24 -05:00
west.yml west.yml: update hal_nuvoton revision to add pinctrl include file 2022-12-08 18:46:33 +01:00
zephyr-env.cmd scripts: remove west from scripts/ 2019-01-29 10:15:01 +01:00
zephyr-env.sh everywhere: fix typos 2022-03-18 13:24:08 -04:00

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <picture>
         <source media="(prefers-color-scheme: dark)" srcset="doc/_static/images/logo-readme-dark.svg">
         <source media="(prefers-color-scheme: light)" srcset="doc/_static/images/logo-readme-light.svg">
         <img src="doc/_static/images/logo-readme-light.svg">
       </picture>
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img
   src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <a
   href="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml?query=branch%3Amain">
   <img
   src="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml/badge.svg?event=push"></a>


The Zephyr Project is a scalable real-time operating system (RTOS) supporting
multiple hardware architectures, optimized for resource constrained devices,
and built with security in mind.

The Zephyr OS is based on a small-footprint kernel designed for use on
resource-constrained systems: from simple embedded environmental sensors and
LED wearables to sophisticated smart watches and IoT wireless gateways.

The Zephyr kernel supports multiple architectures, including ARM (Cortex-A,
Cortex-R, Cortex-M), Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V,
SPARC, MIPS, and a large number of `supported boards`_.

.. below included in doc/introduction/introduction.rst


Getting Started
***************

Welcome to Zephyr! See the `Introduction to Zephyr`_ for a high-level overview,
and the documentation's `Getting Started Guide`_ to start developing.

.. start_include_here

Community Support
*****************

Community support is provided via mailing lists and Discord; see the Resources
below for details.

.. _project-resources:

Resources
*********

Here's a quick summary of resources to help you find your way around:

* **Help**: `Asking for Help Tips`_
* **Documentation**: http://docs.zephyrproject.org (`Getting Started Guide`_)
* **Source Code**: https://github.com/zephyrproject-rtos/zephyr is the main
  repository; https://elixir.bootlin.com/zephyr/latest/source contains a
  searchable index
* **Releases**: https://github.com/zephyrproject-rtos/zephyr/releases
* **Samples and example code**: see `Sample and Demo Code Examples`_
* **Mailing Lists**: users@lists.zephyrproject.org and
  devel@lists.zephyrproject.org are the main user and developer mailing lists,
  respectively. You can join the developer's list and search its archives at
  `Zephyr Development mailing list`_. The other `Zephyr mailing list
  subgroups`_ have their own archives and sign-up pages.
* **Nightly CI Build Status**: https://lists.zephyrproject.org/g/builds
  The builds@lists.zephyrproject.org mailing list archives the CI nightly build results.
* **Chat**: Real-time chat happens in Zephyr's Discord Server. Use
  this `Discord Invite`_ to register.
* **Contributing**: see the `Contribution Guide`_
* **Wiki**: `Zephyr GitHub wiki`_
* **Issues**: https://github.com/zephyrproject-rtos/zephyr/issues
* **Security Issues**: Email vulnerabilities@zephyrproject.org to report
  security issues; also see our `Security`_ documentation. Security issues are
  tracked separately at https://zephyrprojectsec.atlassian.net.
* **Zephyr Project Website**: https://zephyrproject.org

.. _Discord Invite: https://chat.zephyrproject.org
.. _supported boards: http://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: http://docs.zephyrproject.org
.. _Introduction to Zephyr: http://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: http://docs.zephyrproject.org/latest/develop/getting_started/index.html
.. _Contribution Guide: http://docs.zephyrproject.org/latest/contribute/index.html
.. _Zephyr GitHub wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _Zephyr Development mailing list: https://lists.zephyrproject.org/g/devel
.. _Zephyr mailing list subgroups: https://lists.zephyrproject.org/g/main/subgroups
.. _Sample and Demo Code Examples: http://docs.zephyrproject.org/latest/samples/index.html
.. _Security: http://docs.zephyrproject.org/latest/security/index.html
.. _Asking for Help Tips: https://docs.zephyrproject.org/latest/develop/getting_started/index.html#asking-for-help