Date   

ieee802154: csma-ca: random backoff factor looks wrong

Franco Saworski <franco.saworski@...>
 

The calculation for the random backoff factor looks wrong [1]:
u8_t bo_n = sys_rand32_get() & (2 << (be + 1));

This generates either a power-of-two number or zero for bo_n, because it only overlaps a single bit with the random number. This is very rare and results in the backoff time being zero most of the time, if I'm not completely mistaken.

The standard defines the value to be random between zero and 2^be-1. The implementation should be:
u8_t bo_n = sys_rand32_get() & ((1 << be) - 1);

Has anyone had experience with this? I noticed this going over the implementation.

Kind regards,
Franco

--

Embedded Engineer

blik GmbH
transparent real-time data

Leonrodstraße 68 | 80636 München
HRB: 233881 | Amtsgericht München
Geschäftsführer: Bastian Burger, Philip Eller, Victoria Hauzeneder

Information in this email - including any attachments - may be privileged, confidential and is intended exclusively for the addressee(s). If you are not the intended recipient, please notify the sender and delete all copies from your system. You should not reproduce, distribute, store, retransmit, use or disclose its contents to anyone.


Re: Zephyr development news, 11 June 2018

Marti Bolivar
 

Hi again,

On Mon, Jun 11, 2018 at 7:28 PM, Marti Bolivar <marti@...> wrote:
Hello and happy release day,

Please note that we've renamed the series to "Zephyr development news"
to avoid a name clash with another publication.

This is the 11 June 2018 newsletter tracking the latest Zephyr
development merged into the mainline tree on GitHub.

I forgot to mention that (as usual) an HTML version is also available:


Sorry about that.

Marti


Zephyr development news, 11 June 2018

Marti Bolivar
 

Hello and happy release day,

Please note that we've renamed the series to "Zephyr development news"
to avoid a name clash with another publication.

This is the 11 June 2018 newsletter tracking the latest Zephyr
development merged into the mainline tree on GitHub.

As usual, content is broken down as follows:

- Highlights
  - Important changes: ABI/API breaks and some features
  - New features: non-exhaustive descriptions of new features
  - Bug fixes: non-exhaustive list of fixed bugs
- Individual changes: a complete list of patches, sorted
  chronologically and categorized into areas, like:
  - Architectures
  - Kernel
  - Drivers
  - etc.

Highlights
==========

As announced previously on the mailing lists, Zephyr v1.12.0 has been
tagged and the v1.13 merge window is now open. Hurray!

This newsletter covers changes in the following inclusive range, which
closes out the v1.12 release candidate period:

- 6a138977 ("susbys: disk: Fix misleading menuconfig prompts"),
  merged 4 June 2018
- f58d9cab ("release: Update VERSION for 1.12.0 release"),
  merged 11 June 2018

Important Changes
-----------------

The areas most affected during this period, as might be expected, were
documentation and testing. There were also a fairly large number of
ARC architecture changes.

Features
--------

Continuous Integration:

Sanitycheck can now export tests in CSV format.

Bug Fixes
---------

Arches:

A variety of ARC fixes were merged. These fix overflows in the
privileged stack, IRQ offloading, the ADC and watchdog timer priority
levels, reset instability, and a couple of issues related to exception
handling.

A bug preventing i.MX RT SoCs from booting correctly was fixed as
well; this also has the nice benefit of eliminating a vast number of
Kconfig warnings emitted when building for other boards.

Bluetooth:

A fix for a Coverity bug related to corrupted flash storage of
persistent settings was merged, along with a fix to retransmit
interval handling in the Mesh implementation, and an invalid pointer
access after disconnect in the ATT code.

Build:

A fix to the kernel helpers for the GCC toolchain was merged which
resolves unaligned access issues on GCC >= 7.

Continuous Integration:

A sanitycheck bug leading to false positive test pass reporting was
fixed.

Documentation:

The final batch of documentation patches covered release notes, issues
in the Getting Started guide, initial documentation for the
experimental West meta-tool, updates to the security documentation,
and some watchdog API documentation.

Kernel:

Architecture-specific attempts to provide thread arguments using its
initial stack layout were replaced with common code, trading off extra
memory to fix broken and incomplete implementations in some
architectures.

Libraries:

A fix was merged for a readdir() buffer out of bounds access
discovered by Coverity.

Networking:

An LWM2M bug was fixed which fixes mandatory rate limiting on the
frequency of notifications for observed object instance attributes.
The LWM2M engine thread priority was also lowered, fixing a thread
starvation issue when running LWM2M concurrently with Bluetooth
(e.g. as part of a 6LoWPAN setup).

The IPv4 stack now correctly updates the time-to-live value based on
the received packet header; a similar fix was merged for IPv6 hop
limits.

Samples:

Some last-minute changes were merged to crypto and networking samples.

The crypto changes appear to have been merged because
samples/drivers/crypto is in fact being used as a test case in
addition to serving as sample code, so they perhaps could be
considered test fixes.

The networking changes were fixes for bugs discovered by Coverity.

Testing:

A variety of patches fixing up and tuning the test cases were merged
in the final days of v1.12 development.

Individual Changes
==================

Patches by area (76 patches total):

- Arches: 11
- Bluetooth: 3
- Boards: 1
- Build: 1
- Continuous Integration: 2
- Documentation: 22
- Firmware Update: 1
- Kernel: 2
- Libraries: 1
- Miscellaneous: 3
- Networking: 5
- Samples: 8
- Scripts: 1
- Storage: 2
- Testing: 13

Arches (11):

- b423ee5f nxp_imx: Move i.MX RT PLL selects to Kconfig.soc
- c5cb8e94 arch/arc: Set the right priority for WDT on quark_se
- 718597fe arch/arm: Fix THREAD_MONITOR entry struct
- 7f7718a0 arch: stm32: remove .hex binary build by default
- 5b6f8605 arch: arc: use a separate stack for exception handling
- 5dd552e6 arch: arc: STACK_CHECK_FAIL of STACK_CHECK not hang the system
- fb3d2d37 arch: arc: remove unused codes
- c63298ea arch: arc: improve the reset code
- 1c4fe3ed arch/arc: Set the right priority for ADC/AON on quark_se
- 97d04364 arch: arc: use top of isr stack as exception stack and bug fixes
- d5bc9d7b arch: arc: adjust privileged stack size of arc to 384 bytes

Bluetooth (3):

- ae829b26 Bluetooth: Fix unchecked settings value lengths
- ed5fb3ff Bluetooth: Mesh: Fix (re)transmit interval handling
- 1218648e Bluetooth: ATT: Fix clearing context at disconnect

Boards (1):

- f0bafc30 boards: make em_starterkit_em7d default test platform

Build (1):

- a37e0372 toolchain: gcc: Add compiler barrier at the end of UNALIGNED_PUT()

Continuous Integration (2):

- 5d6e7eb7 sanitycheck: export list of tests as CSV
- b20c4846 sanitycheck: fail on faults/panics/oopses

Documentation (22):

- 65e191fa api: watchdog: fix wdt_install_timeout doxygen comment
- 265f502b releasenotes: update with doc issues addressed
- 72d4d8bc doc: release notes: Fill in summary, arch, and kernel sections for 1.12
- d04a7efd releasenotes: updated documentation changes
- 59027fb6 doc: relnotes: Correct a couple of headline items
- b0abf365 doc: relnotes: 1.12 Bluetooth release notes
- 2825f79a doc: security: Update security overview for recent features
- 8b9042c4 doc: security: Remove revision history
- 3fc206fa getting_started: fix UNIX-ism
- 9ca4d840 getting_started: fixes for intro section
- 64ab1326 getting_started: fixes and cleanups for installation_linux
- c6c15013 getting_started: building: fix inaccuracies
- e8d0e72a doc: extensions: fix :app: behavior for zephyr-app-commands
- e802d8de doc: conf.py: remove unused import
- 1c852ddf doc: conf.py: make sure west is importable from Python
- 3a766aed doc: conf.py: add sphinx.ext.autodoc extension
- 869e9cce doc: add initial west documentation
- f8251693 conf.py: clean up exit if ZEPHYR_BASE is unset
- d6f2858a doc: relnotes: Add security vulnerability information
- 8e892068 doc: release notes: Update 1.12 release notes with GitHub issues
- d3afa353 doc: release notes: Update 1.12 release notes with more GitHub issues
- 51ae306b doc: release notes: Finalize 1.12 release notes and docs

Firmware Update (1):

- 2cba7017 subsys: mgmt: Remove unnecessary comparison

Kernel (2):

- 0e23ad88 kernel: k_work: k_work_init() should initialize all fields
- 2dd91eca kernel: move thread monitor init to common code

Libraries (1):

- bf1e0198 lib: posix: fix out-of-bound write

Miscellaneous (3):

- eb9df85f release: Move version to 1.12.0-rc3
- 3b1fb7f9 release: update footprint data
- f58d9cab release: Update VERSION for 1.12.0 release

Networking (5):

- 95555221 net: shell: Correct help text for "mem" command
- a957107d net: lwm2m: lower priority of engine thread
- d9a14f5a net: ipv6: Set hop limit in net_pkt according to IPv6 header
- e72dcf02 net: ipv4: Set TTL in net_pkt according to IPv4 header
- ed3ea06f net: lwm2m: fix observer attribute update logic

Samples (8):

- cf3da3c6 samples: crypto: Ensure cap_flags is always initialized
- 858cd199 samples: drivers: crypto: Do not show colors in logs
- d06eecbe samples: drivers: crypto: Update expected sample output
- d05442ee samples: crypto: adapt harness
- fd561dd5 samples: net: Check the return value of nats_publish
- e7a3d01d samples: net: dumb_http_server: Handle recv() errors
- b7ad50b4 samples: net: rpl_border_router: Fix out-of-bounds write
- 7cfd5a41 samples: net: hrpl_border_router: Fix NULL pointer dereference

Scripts (1):

- c6c856bc scripts: west: cherry-pick upstream 321ab2e17

Storage (2):

- 6a138977 susbys: disk: Fix misleading menuconfig prompts
- bfdb6aca subsys: settings: Fix file exist error.

Testing (13):

- 9cefce81 tests: remove obsolete k_thread_cancel
- a803af2f tests/kernel/preempt: Add yield and sleep cases
- a026b9ea tests: crypto: Fully initialize variables using named initializers
- a07d0731 tests: mbox_api: Fully initialize k_box_msg struct
- a803335a tests: net: Increase the stack size of frdm-k64f
- b43000f5 tests: net: trickle: Fix running on frdm-k64f
- 59bf65f4 tests: net: Fix tests so they can be run in real hw
- 3057da07 tests: logger-hook: increase ztest stack size
- bb631076 tests: arm: irq_vector_table: Fix Kconfig override
- fb2e142b tests: fix test identifiers
- 33aa9053 tests: kernel: fifo_timeout: Do not potentially dereference NULL ptrs
- 144a4390 tests: fix the bug of sentinel.conf
- a91f1e5e tests: modify the test conditions for emsk_em7d_v22


Re: is it possible to enable LE Coded PHY for #BluetoothMesh Nodes / #BLE devices? #ble #bluetoothmesh

Chettimada, Vinayak Kariappa <vinayak.kariappa.chettimada@...>
 

Hi Vikrant,

Advertising on Coded PHY needs the implementation of Extended Advertising feature of BT V5.0. This feature has not been implementation, only a initial effort was attempted.
That said, any contribution are welcome and I am available to assist in reviews.

Regards,
Vinayak


On 11 Jun 2018, at 17:48, vikrant8051 <vikrant8051@...> wrote:

Hi,


Is concept of, LE Codded PHY present in current Zephyr implementation to increase range
between two #BluetoothMesh Nodes ?

What is default configuration out of
- LE M1
- LE M2
- LE Coded ?


Thank You !!



is it possible to enable LE Coded PHY for #BluetoothMesh Nodes / #BLE devices? #ble #bluetoothmesh

vikrant8051 <vikrant8051@...>
 

Hi,


Is concept of, LE Codded PHY present in current Zephyr implementation to increase range
between two #BluetoothMesh Nodes ?

What is default configuration out of
- LE M1
- LE M2
- LE Coded ?


Thank You !!


Re: [Solved] Segger RTT support

Marcio Montenegro
 

My prj.conf file for beacon app:

CONFIG_BT=y
CONFIG_BT_DEBUG_LOG=n
CONFIG_BT_DEVICE_NAME="Test beacon"
CONFIG_CLOCK_CONTROL_NRF5_K32SRC_RC=y
CONFIG_CLOCK_CONTROL_NRF5_K32SRC_250PPM=y
CONFIG_I2C=y
CONFIG_I2C_NRF5=y
CONFIG_I2C_0=y
CONFIG_I2C_NRF5_0_GPIO_SDA_PIN=26
CONFIG_I2C_NRF5_0_GPIO_SCL_PIN=27
CONFIG_I2C_0_IRQ_PRI=7
CONFIG_UART_CONSOLE=n
CONFIG_SOC_NRF51822_QFAA=y
CONFIG_CONSOLE_HAS_DRIVER=y
CONFIG_RTT_CONSOLE=y
CONFIG_HAS_SEGGER_RTT=y
CONFIG_UART_NRF5=n
CONFIG_GPIO_NRF5_P0=y

The bluetooth module is nRF51 silicon version NRF51822_QFAA  and has just 1 xtal .I am using GPIO and I2C .
The project was tested on zephyr 1.11.0 version. Many thanks for help Carles.
Regards,
Marcio



Re: Segger RTT support

Carles Cufi
 

Hi Marcio,

 

Can you try adding:

 

CONFIG_UART_CONSOLE=n

 

to your prj.conf?

 

More info here:

 

http://docs.zephyrproject.org/tools/nordic_segger.html#rtt-console

 

Regards,

 

Carles

 

From: users@... <users@...> On Behalf Of Marcio Montenegro
Sent: 08 June 2018 16:30
To: zephyr-users@...; zephyr-devel@...
Subject: [Zephyr-users] Segger RTT support

 

Hi all,

 

I am trying to setup my nrf51 project to use Segger RTT console.I am compiling last version of Zephyr but any previous version can be used.

My nrf51 hardware is ok and  I can use RTT on Keil IDE.

 

This is my prj.conf file

 

CONFIG_BT=y

CONFIG_BT_DEBUG_LOG=y

CONFIG_BT_DEVICE_NAME="Test beacon"

CONFIG_CLOCK_CONTROL_NRF5_K32SRC_RC=y

CONFIG_CLOCK_CONTROL_NRF5_K32SRC_250PPM=y

CONFIG_I2C_NRF5=y

CONFIG_I2C_0=y

CONFIG_I2C_NRF5_0_GPIO_SDA_PIN=26

CONFIG_I2C_NRF5_0_GPIO_SCL_PIN=27

CONFIG_I2C_0_IRQ_PRI=7       

CONFIG_CONSOLE_HAS_DRIVER=y

CONFIG_RTT_CONSOLE=y

CONFIG_HAS_SEGGER_RTT=y

 

On ninja menuconfig I can't find any option for Segger RTT.

Is there any documentation or example ? Am I missing a step ?

Best,

Marcio Montenegro

 

 

 

 


Segger RTT support

Marcio Montenegro
 

Hi all,

I am trying to setup my nrf51 project to use Segger RTT console.I am compiling last version of Zephyr but any previous version can be used.
My nrf51 hardware is ok and  I can use RTT on Keil IDE.

This is my prj.conf file

CONFIG_BT=y
CONFIG_BT_DEBUG_LOG=y
CONFIG_BT_DEVICE_NAME="Test beacon"
CONFIG_CLOCK_CONTROL_NRF5_K32SRC_RC=y
CONFIG_CLOCK_CONTROL_NRF5_K32SRC_250PPM=y
CONFIG_I2C_NRF5=y
CONFIG_I2C_0=y
CONFIG_I2C_NRF5_0_GPIO_SDA_PIN=26
CONFIG_I2C_NRF5_0_GPIO_SCL_PIN=27
CONFIG_I2C_0_IRQ_PRI=7
CONFIG_CONSOLE_HAS_DRIVER=y
CONFIG_RTT_CONSOLE=y
CONFIG_HAS_SEGGER_RTT=y

On ninja menuconfig I can't find any option for Segger RTT.
Is there any documentation or example ? Am I missing a step ?
Best,
Marcio Montenegro





Re: [Zephyr-devel] #BluetoothMesh Lighting Model implementation #bluetoothmesh

Aaron Xu <overheat1984@...>
 

Hi,

MyNewt's is a good start point. But looks need more work to make zephyr bluetooth mesh be used in light.
I am looking forward it. In the mean time, I can start sensor model coding on zephyr when the 1.12 released.

Regards,
Aaron

vikrant8051 <vikrant8051@...> 于2018年6月7日周四 上午2:08写道:

Hi Johan, 

Mynewt's lighting model app is very simple & basic, if compare it with diagram on page 296 of model specs. And it is not what I'm expecting.

Hello Bluetooth_SIG members,

Is Bluetooth_SIG going to maintain this complicated architecture in Spec 2.0  Or there will be something easy on the way ?

Thank You!!

On Wed, Jun 6, 2018, 8:25 PM Johan Hedberg <johan.hedberg@...> wrote:
Hi Vikrant,

On Wed, Jun 06, 2018, vikrant8051 wrote:
> is there any one who tried to implement Lighting Models (page 296 of
> Mesh_Model_Specification v1.0.pdf) using Zephyt #BluetoothMesh API ?
>
> I want to control three things -> Light On Off, Light Lightness
> (intensity), Light CTL (cool to warm white) using single message. This is
> possible only with Lighting Models.
>
> Also want to build remote using #nRF52840_PDK which support Lighting Client
> Models.
>
> FYI, this is Mynewt implementation,
> https://github.com/apache/mynewt-core/blob/master/apps/blemesh_light/src/light_model.c

MyNewt's Bluetooth Mesh is essentially the same as Zephyr's mesh, since
it was ported from Zephyr. Most likely you can take any model
implementation from there and use it directly (or with minor changes)
with Zephyr. In fact, I'd welcome if someone wants to port any missing
mesh models from the MyNewt tree to Zephyr.

Johan


Re: [Zephyr-devel] #BluetoothMesh Lighting Model implementation #bluetoothmesh

vikrant8051 <vikrant8051@...>
 

Hi Johan, 

Mynewt's lighting model app is very simple & basic, if compare it with diagram on page 296 of model specs. And it is not what I'm expecting.

Hello Bluetooth_SIG members,

Is Bluetooth_SIG going to maintain this complicated architecture in Spec 2.0  Or there will be something easy on the way ?

Thank You!!

On Wed, Jun 6, 2018, 8:25 PM Johan Hedberg <johan.hedberg@...> wrote:
Hi Vikrant,

On Wed, Jun 06, 2018, vikrant8051 wrote:
> is there any one who tried to implement Lighting Models (page 296 of
> Mesh_Model_Specification v1.0.pdf) using Zephyt #BluetoothMesh API ?
>
> I want to control three things -> Light On Off, Light Lightness
> (intensity), Light CTL (cool to warm white) using single message. This is
> possible only with Lighting Models.
>
> Also want to build remote using #nRF52840_PDK which support Lighting Client
> Models.
>
> FYI, this is Mynewt implementation,
> https://github.com/apache/mynewt-core/blob/master/apps/blemesh_light/src/light_model.c

MyNewt's Bluetooth Mesh is essentially the same as Zephyr's mesh, since
it was ported from Zephyr. Most likely you can take any model
implementation from there and use it directly (or with minor changes)
with Zephyr. In fact, I'd welcome if someone wants to port any missing
mesh models from the MyNewt tree to Zephyr.

Johan


Re: [Zephyr-devel] #BluetoothMesh Lighting Model implementation #bluetoothmesh

Johan Hedberg
 

Hi Vikrant,

On Wed, Jun 06, 2018, vikrant8051 wrote:
is there any one who tried to implement Lighting Models (page 296 of
Mesh_Model_Specification v1.0.pdf) using Zephyt #BluetoothMesh API ?

I want to control three things -> Light On Off, Light Lightness
(intensity), Light CTL (cool to warm white) using single message. This is
possible only with Lighting Models.

Also want to build remote using #nRF52840_PDK which support Lighting Client
Models.

FYI, this is Mynewt implementation,
https://github.com/apache/mynewt-core/blob/master/apps/blemesh_light/src/light_model.c
MyNewt's Bluetooth Mesh is essentially the same as Zephyr's mesh, since
it was ported from Zephyr. Most likely you can take any model
implementation from there and use it directly (or with minor changes)
with Zephyr. In fact, I'd welcome if someone wants to port any missing
mesh models from the MyNewt tree to Zephyr.

Johan


#BluetoothMesh Lighting Model implementation #bluetoothmesh

vikrant8051 <vikrant8051@...>
 

Hi to all,

is there any one who tried to implement Lighting Models (page 296 of Mesh_Model_Specification v1.0.pdf) using Zephyt #BluetoothMesh API ?

I want to control three things -> Light On Off, Light Lightness (intensity), Light CTL (cool to warm white) using single message. This is possible only with Lighting Models.

Also want to build remote using #nRF52840_PDK which support Lighting Client Models.

FYI, this is Mynewt implementation,

Any unsolicited information will be highly appreciable !!

Thank You !!







Re: [Zephyr-devel] How to implement #BluetoothMesh Generic_Delta_Server_Unack opcode function ?? #bluetoothmesh

vikrant8051 <vikrant8051@...>
 

On Tue, Jun 5, 2018 at 11:53 PM, vikrant8051 <vikrant8051@...> wrote:
Hi,

I forgot to mentioned about

struct server_state *state_ptr = model->user_data;

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

struct server_state
{
int current;
int previous;
int model_instance;
int last_tid;
};

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

Thank You!!

On Tue, Jun 5, 2018 at 11:47 PM, vikrant8051 <vikrant8051@...> wrote:
Hi,

Hi to all,

I am trying to  implement Generic_Delta_Server_Unack (Level Server) as follow ...

void gen_delta_set(struct bt_mesh_model *model, struct bt_mesh_msg_ctx *ctx, struct net_buf_simple *buf)
{

   int  tmp32 = state_ptr->current + net_buf_simple_pull_le16(buf);
   int tid = net_buf_simple_pull_u8(buf);

    if(tmp32 < -32768)
    {
        tmp32 = -32768;
    }
    else if(tmp32 > 32767)
    {
        tmp32 = 32767;
    }
    state_ptr->current = (int16_t)tmp32;

    state_ptr->previous = state_ptr->current;

}

but it get executed 5 times if level client is configured as
--> pub-set 0100 c000 1 0 5 1003

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

If we use something like

       if(last_tid == tid)
       {
           return; 
       }

at start, then it could escape valid message too.

For eg. if Server & Client rebooted simultaneously in that case,
Server side variable last_tid  & Client side variable tid both get set to Zero.
So first message from client get ignore.

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

How to solve this problem ?





Re: First Mac build

Marti Bolivar
 

Hi Jim, and welcome.

On Tue, Jun 5, 2018 at 10:06 PM, Jim Schmidt <JimS14@...> wrote:

Hi all,

 

I’m getting started with first build of Zephyr on my Mac. I don’t get very far – after clone there are the following instructions:

 

Build Kconfig in $ZEPHYR_BASE/build and add it to path

cd $ZEPHYR_BASE

mkdir build && cd build

cmake $ZEPHYR_BASE/scripts

 

 

After a clone, $ZEPHYR_BASE/scripts does not contain a CMakeLists.txt file, and the cmake command fails.

 

Instructions are here:

 

http://docs.zephyrproject.org/1.11.0/getting_started/installation_mac.html

 



Looking at the URL, those are instructions for the v1.11 release of Zephyr, which did indeed have some host tools in the scripts directory that needed to be compiled.

As a guess, are you trying to use the latest master branch of Zephyr instead of v1.11? If so, the host tools in the scripts directory have been replaced with versions written in Python, so there is no need to compile them anymore. You can follow up to date instructions here if that's your situation:

http://docs.zephyrproject.org/getting_started/installation_mac.html

Thanks,
Marti
 

Any hints?

 

Jim

*********************************************************
This electronic message and any attachments are intended only for the use of the addressee. The information in this electronic message is confidential and proprietary, and may include privileged information. If you are not the intended recipient, please delete this electronic message and any attachments and notify the sender of the error. Please be aware that any unauthorized use, dissemination, distribution or copying of this message or any attachments is strictly prohibited.



First Mac build

Jim Schmidt <JimS14@...>
 

Hi all,

 

I’m getting started with first build of Zephyr on my Mac. I don’t get very far – after clone there are the following instructions:

 

Build Kconfig in $ZEPHYR_BASE/build and add it to path

cd $ZEPHYR_BASE

mkdir build && cd build

cmake $ZEPHYR_BASE/scripts

 

 

After a clone, $ZEPHYR_BASE/scripts does not contain a CMakeLists.txt file, and the cmake command fails.

 

Instructions are here:

 

http://docs.zephyrproject.org/1.11.0/getting_started/installation_mac.html

 

Any hints?

 

Jim

*********************************************************
This electronic message and any attachments are intended only for the use of the addressee. The information in this electronic message is confidential and proprietary, and may include privileged information. If you are not the intended recipient, please delete this electronic message and any attachments and notify the sender of the error. Please be aware that any unauthorized use, dissemination, distribution or copying of this message or any attachments is strictly prohibited.


Re: [Zephyr-devel] How to implement #BluetoothMesh Generic_Delta_Server_Unack opcode function ?? #bluetoothmesh

vikrant8051 <vikrant8051@...>
 

Hi,

I forgot to mentioned about

struct server_state *state_ptr = model->user_data;

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

struct server_state
{
int current;
int previous;
int model_instance;
int last_tid;
};

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

Thank You!!

On Tue, Jun 5, 2018 at 11:47 PM, vikrant8051 <vikrant8051@...> wrote:
Hi,

Hi to all,

I am trying to  implement Generic_Delta_Server_Unack (Level Server) as follow ...

void gen_delta_set(struct bt_mesh_model *model, struct bt_mesh_msg_ctx *ctx, struct net_buf_simple *buf)
{

   int  tmp32 = state_ptr->current + net_buf_simple_pull_le16(buf);
   int tid = net_buf_simple_pull_u8(buf);

    if(tmp32 < -32768)
    {
        tmp32 = -32768;
    }
    else if(tmp32 > 32767)
    {
        tmp32 = 32767;
    }
    state_ptr->current = (int16_t)tmp32;

    state_ptr->previous = state_ptr->current;

}

but it get executed 5 times if level client is configured as
--> pub-set 0100 c000 1 0 5 1003

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

If we use something like

       if(last_tid == tid)
       {
           return; 
       }

at start, then it could escape valid message too.

For eg. if Server & Client rebooted simultaneously in that case,
Server side variable last_tid  & Client side variable tid both get set to Zero.
So first message from client get ignore.

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

How to solve this problem ?




How to implement #BluetoothMesh Generic_Delta_Server_Unack opcode function ?? #bluetoothmesh

vikrant8051 <vikrant8051@...>
 

Hi,

Hi to all,

I am trying to  implement Generic_Delta_Server_Unack (Level Server) as follow ...

void gen_delta_set(struct bt_mesh_model *model, struct bt_mesh_msg_ctx *ctx, struct net_buf_simple *buf)
{

   int  tmp32 = state_ptr->current + net_buf_simple_pull_le16(buf);
   int tid = net_buf_simple_pull_u8(buf);

    if(tmp32 < -32768)
    {
        tmp32 = -32768;
    }
    else if(tmp32 > 32767)
    {
        tmp32 = 32767;
    }
    state_ptr->current = (int16_t)tmp32;

    state_ptr->previous = state_ptr->current;

}

but it get executed 5 times if level client is configured as
--> pub-set 0100 c000 1 0 5 1003

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

If we use something like

       if(last_tid == tid)
       {
           return; 
       }

at start, then it could escape valid message too.

For eg. if Server & Client rebooted simultaneously in that case,
Server side variable last_tid  & Client side variable tid both get set to Zero.
So first message from client get ignore.

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

How to solve this problem ?



Zephyr news, 5 June 2018

Marti Bolivar
 

Hello,

This is the 5 June 2018 newsletter tracking the latest Zephyr
development merged into the mainline tree on GitHub.

An HTML version is available here:

https://opensourcefoundries.com/blog/2018/06/05/zephyr-news-20180605/

As usual, content is broken down as follows:

- Highlights
- Important changes: ABI/API breaks and some features
- New features: non-exhaustive descriptions of new features
- Bug fixes: non-exhaustive list of fixed bugs
- Individual changes: a complete list of patches, sorted
chronologically and categorized into areas, like:
- Architectures
- Kernel
- Drivers
- etc.

Highlights
==========

This covers what's happened since v1.12 rc1 was tagged, including
v1.12 rc2, which was tagged on 29 May, and changes since then.

Patch flow continues actively since rc1. This newsletter summarizes
the 409 patches in this inclusive range:

- c182520e ("tests: kernel: Add description for test cases"),
merged 21 May 2018
- b5a3ddf7 ("tests: ieee802154/crypto: use console harness"),
merged 4 June 2018

Since it's currently the stabilization period prior to the release of
Zephyr v1.12, the emphasis will be on tests, bug fixes, and
documentation, which are officially all that's currently permitted for
merge. (Of course, late-breaking exceptions manage to wiggle through.)

The final release is blocked until there are zero high priority and
less than twenty medium priority bugs.

Zephyr's wiki has links to helpful filters showing the number of open
bugs and other issues of various types:

https://github.com/zephyrproject-rtos/zephyr/wiki/Filters

At time of writing, there are 4 high priority bugs and 30 medium
priority bugs open, so there's still work to do before v1.12 is fully
baked.

Important Changes
-----------------

Schedule(r) wrangling:

The following appeared in the previous newsletter: "In a highly
significant but (hopefully mostly) behind-the-scenes change, the
scheduler was rewritten." Hope springs eternal.

As may have been expected, rewrites of central and notoriously
tricky areas like kernel schedulers inevitably result in bugs which
need shaking out. Most noticeably, boot hangs and increasingly lengthy
context switch times have been observed in a variety of circumstances,
and some significant bug fixes have been flowing in following the
rewrite, notably affecting pre-emption, scheduling of dummy threads,
and SMP scheduling.

The dust appears to be settling for v1.12, but more changes are in the
works for v1.13. Hold on to your hats.

CONFIG_TOOLCHAIN_VARIANT removed:

This legacy Kconfig option is gone now. Any remaining users must
switch to the ZEPHYR_TOOLCHAIN_VARIANT CMake or environment variable,
as documented in the Getting Started guide:

http://docs.zephyrproject.org/getting_started/getting_started.html

Kconfig cleanup:

In a valiant tree-wide cleanup effort, a number of stale or incorrect
Kconfig symbols were updated and fixed. This affected essentially
every subsystem. Merge conflicts for out-of-tree patches seem likely.

zephyr_library_ifdef() removed:

The build system's zephyr_library_ifdef() macro was that evil type
which modifies the control flow of the caller. In-tree uses were
replaced with safer alternatives and the macro was removed; any out of
tree users will need updates.

Features
--------

Architectures:

Nordic SoCs have their instruction cache enabled. Users who don't want
their code to run faster can disable the new CONFIG_NRF_ENABLE_ICACHE,
which is on by default.

Precious, precious MPU regions were freed up on various ARM SoCs by
deleting existing entries for memory-mapped peripheral buses and other
such areas in SoC configuration files. Access privileges for these
areas are now determined by the special "background region", or
default configuration, which allows RWX access for supervisor mode,
and prevents user mode access. This frees up these scarce resources
for use defining restrictions on other areas of memory, such as thread
stacks.

Boards:

Support was added for the NUCLEO-L053R8 board, which features an
STM32L053R8 SoC.

Drivers:

Some new features were added here, in some cases to enable bug fixes,
and in others as late-breaking exceptions to the freeze.

In order to address issues with entropy gathering, a new
interrupt-safe source of entropy, entropy_get_entropy_isr(), was
added to the API in include/entropy.h. An implementation is provided
for nRF devices. This was aided by other initialization order changes
which collectively allow the kernel to safely collect entropy earlier
in its initialization.

Users of the w25qxxdv SPI flash driver have new Kconfig options
allowing them to control chip select pins, which can be enabled and
set using CONFIG_SPI_FLASH_W25QXXDV_GPIO_SPI_CS.

A new status_cb field was added to struct netusb_function,
allowing such functions to define status callbacks. This new API was
needed to fix some issues causing kernel crashes.

Driver support was added for STM32 low power UARTs (LPUARTs); this can
be enabled with CONFIG_UART_STM32_LPUART_1.

Kernel:

A new "meta-IRQ" feature was added to control scheduling for a new
type of thread. A meta-IRQ is not a true interrupt, but pending
threads with meta-IRQ priority will be scheduled before any other
threads, even cooperative ones or those which have the scheduler
lock. This has the flavor of the "softirq" mechanism present in the
Linux kernel, and appears to have similar goals. Like softirqs, these
must be used with care, and are likely not good targets for
application developer use. See the Meta-IRQ Priorities section in the
threads documentation for more details on their design and goals:

http://docs.zephyrproject.org/kernel/threads/scheduling.html#meta-irq-priorities

A patch was merged which enables ongoing work producing a requirements
traceability matrix from requirements to test cases in APIs exposed by
the main include/kernel.h. This adds Doxygen comments with requirement
IDs to individual APIs, so it's technically documentation.

A simple deadline scheduling policy was implemented. See
CONFIG_SCHED_DEADLINE for details.

Scripts:

The Python menuconfig implementation has new features for showing a
symbol's name when 'c' is pressed, along with improvements to
searching, saving, and loading.

Kconfiglib now warns if a string symbol's default value is not quoted.

Bug Fixes
---------

Arches:

The majority of the fixes applied to the x86 and ARM architectures.
These cover typos and coding style, scheduling, stack management, IRQ
management, scheduling, and MPU management, as well as SoC
specific fixes mostly targeting STM32 and x86 chips.

Optional mitigation was added for Spectre variant v4 on Intel chips;
see CONFIG_DISABLE_SSBD for details.

Bluetooth:

It was quiet, but not too quiet.

Beyond the Kconfig cleanup, a small number of fixes were merged,
including a compiler-version specific fix for Mesh and a fix for
non-priority event handling in the core controller code. The Bluetooth
subsystem is one of Zephyr's best tested, and the small size of the
change list in this period reflects this.

Boards:

Beyond the tree-wide Kconfig fixes, a general fix was merged for "make
flash" for boards using the "bossac" flashing tool. A variety of
patches were merged fixing board-specific issues and enabling some
missing features. See the Boards list of commits in the Individual
Changes section below to learn if boards you use were affected.

Continuous Integration:

An arguable misconfiguration in sanitycheck related to job parallelism
was addressed, resulting in a 24% speed improvement. Other
miscellaneous fixes to sanitycheck were merged as well.

External libraries are no longer tracked in code coverage
measurements, improving the accuracy of the code coverage output for
Zephyr-specific code.

Device Tree:

A variety of fixes went in for warnings generated by the new dtc
v1.4.6 compiler which was part of the new Zephyr 0.9.3 SDK, with a
handful of fixes in other areas.

Documentation:

The effort preparing the documentation for release is picking up steam.

Missing documentation was added covering system calls and userspace,
kernel and threading APIs, POSIX compatibility, VLANs, network traffic
classification, the sanitycheck script used by CI, and more.

Numerous spelling errors were corrected in a series of commits, each
targeting specific areas.

Drivers:

About fifteen percent of the total patches in this period affected
Zephyr's device drivers.

Apart from the Kconfig cleanup, STM32-specific driver fixes featured
prominently, affecting SPI, UART, Ethernet, and GPIO. Fixes for
drivers needed by the new intel_s1000_crb board were merged affecting
I2S and DMA.

External:

The build system integration for OpenAMP and libmetal was fixed to
avoid recursive builds, which the Zephyr build system (maintainer)
abhors. May other developers tempted down that dark way be warned, and
stay along the straight path.

mbedTLS was updated to version 2.9.0 from 2.8.0; this brings
security fixes along with other improvements.

A subtle power-related USB fix for STM32 was merged, adding a patch to
Zephyr's copy of the STM32L4 HAL.

Kernel:

Various fixes were merged apart from the scheduler rodeo. It looks
like the dust is settling on these issues for v1.12, but the opening
of the v1.13 merge window will include additional refactoring of the
scheduler to better consolidate flags associated with non-running
threads, so the list of incoming scheduler changes won't be empty
anytime soon.

A race was fixed in the mempool allocator. Some architecture-specific
fixes were made that the meta-IRQ addition exposed. The kernel now
uses the new ISR-safe entropy source during early initialization,
before threads are available, and uses the entropy API directly to
initialize stack canaries.

Libraries:

A bug making the clock_gettime() implementation non-monotonic when
called with CLOCK_MONOTONIC was fixed.

Networking:

Not much was merged; the networking developers are hard at
work with the ongoing rewrite of Zephyr's TLS implementation to use a
new and nonstandard setsockopt()-based API. Since that's feature work,
it will have to wait for v1.13 to be merged.

Fixes went in around the subsystem addressing problems where incorrect
timeouts were set due to use of MSEC() or raw numbers instead of
K_MSEC(), and other related issues.

A boot hang related to invalid use of a receive queue was fixed.

A security session initialization bug affecting 802.15.4 was fixed.

Most of the other fixes appear to be of the usual variety: a null
pointer dereference, packet management and checksumming issues, edge
cases and error handling, etc.

Samples:

Other than the Kconfig cleanup, the samples didn't seem to need too
many changes since rc1, which is good.

The coap_server sample properly handles the case where the client no
longer wishes to receive notifications following an initial observe
operation. The coap_client application also saw general improvements
and fixes.

The OpenAMP sample has improved documentation and comments.

Scripts:

Not much happened here.

The elf_helper.py library used by the build system to manipulate
Zephyr binaries got some cleanup and an architecture-specific corner
case fix.

Issues in west preventing "make flash" etc. from working on certain
boards, as well as running as root on Unix, were fixed.

Fixes were made to genrest.py, which generates Zephyr's Kconfig symbol
documentation.

Storage:

This subsystem was fairly quiet as well.

As might be expected with new code, a variety of bug fixes went in to
the non-volatile storage (NVS) layer. These are mostly related to
buffer management and padding, and also include a fix related to
device addressing.

A pile of issues in the disk subsystem discovered by Coverity were
fixed with extra NULL pointer checks.

Testing:

Test, test, one, two, three, ... eighty commits have gone in to
improving Zephyr's tests. These break down into the following rough
categories:

- tons of test descriptions added as Doxygen comments (see GitHub issue
#6991, https://github.com/zephyrproject-rtos/zephyr/issues/6991, for
details on how this is part of a larger strategy)
- other restructuring and refactoring to make #6991 infrastructure work better
- fixes to problems in the sources for the test case themselves
- fixes and improvements related to testing user mode
- Kconfig cleanup
- new tests

As always, details are below.

Individual Changes
==================

Patches by area (409 patches total):

- Arches: 63
- Bluetooth: 6
- Boards: 38
- Build: 9
- Continuous Integration: 8
- Device Tree: 12
- Documentation: 31
- Drivers: 59
- External: 12
- Kernel: 20
- Libraries: 3
- Miscellaneous: 5
- Networking: 15
- Samples: 27
- Scripts: 12
- Storage: 9
- Testing: 80

Arches (63):

- edf7c4fd arch: arm: kw41z: Set DTS fixup for CONFIG_RTC_0_NAME
- a21a075c native: ethernet: fix k_sleep() wait time
- 9731a0cc arm: syscalls: fix some register issues
- 99f36de0 arm: userspace: fix initial user sp location
- 5b37cd73 arch: arm: swap: Remove old context switch code
- d4221f9a arch: x86: Rename MSR-handling functions to conform to convention
- 7faac6a7 arch: arm: atmel_sam: Add quotes to strings in Kconfig
- c2742f66 arch: arc: Fix typo in comment
- 6ef2f76b arch: arm: thread.c: Fix typo in comment
- e653e478 arch: arm: Fix typo in comment
- 33628f1c arch: arc: userspace: Fix typo in comment
- 95592770 arch: stm32: Remove unsupported MPU options
- 5b20350a gdb_server: Remove leftover testing and x86 parts
- 8321b6b6 arch: arm: nxp: Fixup HAS_MCUX_RTC
- dc01b990 arch: stm32l4: only enable USB OTG on SoCs supporting it
- 509e6964 arch: stm32l432: add support for USB controller
- 2bfcb849 arch/arc: UART QMSI's baudrate is not present in Kconfig anymore
- 46a3e8bd arch: arm: fix fault status register bitfield masks
- fb0fba91 arch: x86: Rename CPU_NO_SPECTRE to CPU_NO_SPECTRE_V2
- ecadd465 arch: x86: Allow disabling speculative store bypass
- d9a227c1 arm: st_stm32: reduce boot MPU regions
- 6f6acb46 arm_mpu: reduce boot MPU regions for various soc
- 77eb883a arch: arc: fix the bug in exception return for secure mode
- 876a9af9 arch: arc: fix the bug in register clear for USER_SPACE
- d2c8a205 arch: arm: document non-returning fatal handlers
- d54dc42a arch: arm: refactor FAULT_DUMP to retrieve the fatal error reason
- 49f0dabf arch: arm: refactor default _FaultDump to provide fatal error code
- 24fcba44 arch: arm: remove redundant ifdef check
- 8b7c3cff arch: arm: soc: stm32l0: add LPUART1 pinmux options
- 8cc002e6 soc: stm32f1: add port uart4
- 94a22daf arch: arm: STM32L053X8 support
- 0825d0cd arch: arm: fix undefined variable bug
- a9fe133d arch: arm: fix a typos in Kconfig file
- edd18c8f arch: x86: Better document that CR0.WP will also be set
when CR0.PG is
- 3ac3216d soc: defconfig: Consistently quote string defaults
- d946ed73 soc: defconfig.series: Consistently quote string defaults
- cc447383 soc: soc_family: Consistently quote string defaults
- 71ce9b52 arch: arc: snps_emsk: Removed dead code
- cbac8fca arch: arm: select CPU_HAS_FPU on STM32L4 family
- 93a46432 arch: arm: nordic: nrf52: Enable instruction cache
- 699aacad arch: arm: add_subdirectory shouldn't depend on a hidden kconfig.
- a9ea1554 arch: arm: add_subdirectory shouldn't depend on a hidden kconfig.
- c2d632d6 arch: arm/arc: Remove usage of zephyr_library_ifdef.
- f315afd0 arch: stm32: Fix inclusion of SPI headers
- 3c8ed211 arch: arc: fix the wrong setting of STACK_CHECK for user thread
- 76b1cefd arch: arc: fix the bug in STACK_ARRAY defintion.
- ec7d483b arch: arm: soc: cc2650: Remove dead code.
- 1fe6c367 esp32: Add some "logging" voodoo to SMP initialization
- 56c97608 arch: arm: use stored value for MMFAR
- 6399cb6b arch: arm: force MpuFaultHandler to inspect multiple error conditions
- 45b75dd7 arch: arm: Fix zero interrupt latency priority level
- 7b77a25f arch: arm: coding and comment style fixes
- 0967f11f arch: arm: enhance internal function documentation
- 25c211d2 arch: arm: implement internal function to disable MPU region
- 7f643677 arch: arm: add additional sanity checks before MPU config change
- e76ef30a arch: arm: mpu: minor comment style fixes
- ed33f43e arch: xtensa: intel_s1000: Reference clock API
- 9f4702b3 arch: soc: intel_s1000: set M/N divider ownership
- 997a49ad arm: userspace: Do not overwrite r7 during syscall.
- 7a18b083 x86: align stack buffer sizes
- 0d56036f arch/x86: Rename a legacy network Kconfig option
- b829bc78 arch: arc: refactor the arc stack check support
- b09b6b6e arch: arc: add comments for _load_stack_check_regs

Bluetooth (6):

- f7a1ffe6 Bluetooth: GATT: Change attribute count from u16_t to size_t
- 8e57097e bluetooth: disable user mode for one test
- 20a2b7a7 Bluetooth: Mesh: Fix reference to CONFIG_BT_MESH_FRIEND
- 8d1f67c6 Bluetooth: Remove references to non-existing Kconfig symbols
- c4b0f1c5 Bluetooth: Mesh: Fix build error when LPN is not enabled
- a59f544f bluetooth: controller: Handle non-priority events correctly

Boards (38):

- b5db62ca frdm_kl25z: Remove incorrect references to spi
- 1d1bd60d boards: arduino_101: Fix separated-line interrupt Kconfig setting
- df9e95e5 boards: arm: Remove nonexistent Kconfig symbols
- c1908c3d boards: arm: Fixup comment related to CONFIG_USB_DC_STM
- 3689359f board: frdm_kl25z: Remove undefined Kconfig symbol from defconfig
- 3b83ccdb boards: stm32_mini_a15: fix PLL source selection
- 9c1a2b51 boards: disco_l475_iot1: Remove used pinmux configuration
- 7213ceb3 boards: cc2650_sensortag: Remove Kconfig FLASH/SRAM address
assignments
- e09484f7 boards: arm: lpcxpresso54114: Remove sample specific
defconfig setting
- a85c5462 boards: x86: minnowboard: Unset CONFIG_X86_NO_SPECTRE_V4 by default
- 65e79fd5 boards: exp432p401r_launchxl: Remove Flash base address
Kconfig setting
- b028a515 boards: cc2650_sensortag: Remove TRNG and PINMUX prio
Kconfig settings
- 9d2f370d boards: cc3220sf_launchxl: Make cc3220sf XIP by default
- e0d02d94 boards: cc3220sf_launchxl: Enable standard flash/debug build targets
- 5fe0f7df boards: cc3220sf_launchxl: Update board documentation for flash/debug
- 1d7bd566 boards: cc3220sf_launchxl: Fix documentation links
- fa153a00 boards: nucleo_l432kc: fix GPIO definitions
- 2ef42b7a boards: arm: add support for NUCLEO-L053R8
- 2568e839 boards: stm32f3_disco: Add usb_device to supported features
- a3128e6a boards: defconfig: Consistently quote string defaults
- 41826fdc boards: arm: cc2650: Remove CONFIG_FLASH from defconfig.
- 53a924b3 boards: arm: cc3220sf: Remove CONFIG_FLASH from defconfig.
- c2b2add1 boards: arm: msp_exp432p401r: Remove CONFIG_FLASH from defconfig.
- 6350de3a boards: arm: Remove CONFIG_{FLASH,SRAM}_BASE_ADDRESS assignments
- 10d54e2b boards: arm: argonkey: Properly set choice default
- af411f31 boards/x86: Fix support for w25qxxdv on arduino_101
- 547128e3 boards: frdm_k64f: add USB comment to documentation
- 55494c3f boards: usb_kw24d512: add USB comment to documentation
- 90e00088 boards: intel_s1000: Fix runner invocation
- cddd9e79 boards: intel_s1000: move runner config out of boards/common
- 538db998 boards/x86: Removing undefined Kconfig symbol in
quark_se_c1000_devboard
- b2522d44 mimxrt1050: remove app specific code from soc file
- 3fd25c64 boards: mimxrt1050_evk: add condition to initialize different PLL
- 282d95f6 boards: mimxrt1050_evk: move iomuxc to soc folder
- 5757b448 mimxrt1050: fix dcdc value change process
- 5c6a3991 mimxrt1050: check if D-cache is enabled before enabling it.
- 4a693c3c boards: common: bossac: Fix bossac flash script.
- 9611002f boards/x86: Use right GPIO names for CC2520

Build (9):

- cde6bef7 kconfig: Drop support for CONFIG_TOOLCHAIN_VARIANT
- 59b2c743 cmake: Remove dead logic related to CONFIG_DEBUG_SECTION_MISMATCH
- 411686f0 build: suppress asserts warning if forced off
- 8364b223 Fix struct offsets (DWARF v2 compatibility)
- 5d22834e cmake: extensions: Remove macro zephyr_library_ifdef.
- 5405f688 kconfig: Remove remaining 'option env' bounce symbols
- ddba3d66 kconfig: Define the IRQ priorities for CAVS & DW ICTL
- f90416c6 cmake: fix warning message
- 420bfc1f cmake: toolchain: Don't warn of both ZEPHYR_*_VARIANT envvars defined

Continuous Integration (8):

- dec163fe sanitycheck: Disable parallel builds with Ninja
- a3a7e8e7 sanitycheck: Add support for _bt_settings_area linker section
- 0a9a505e sanitycheck: update script arguments
- 1c7ba097 sanitycheck: document --device-testing feature
- 333a315f sanitycheck: improve help message
- 29599f6d sanitycheck: deprecate assertion options
- fac7108e ci: remove ext/ from coverage
- 386b3e6d ci: increase ccache size

Device Tree (12):

- 6701d449 dts: xtensa: Fix build error due to dts changes for ns16550 driver.
- 22231601 dts/bindings: Make use of RTC base in QMSI bindings
- 76676651 dts: intel_s1000: Enable generating IRQ priority.
- 2ebb6a1f dts: intel_s1000: use dts to set i2c0 priority.
- 22fc6008 dts/nxp: Fix dtc v1.4.6 warning: Missing property
'#clock-cells' in node
- 4e90bd36 dts/nxp: Fix dtc v1.4.6 warning: Aliases property name is not valid
- 2d6c48bf dts/nxp: Fix dtc v1.4.6 warning: Node has a reg but not unit name
- 9faa26db dts/nxp: Fix dtc v1.4.6 warning: Node has a unit name, but
no reg prop
- 95fc141a dts: x86: Fix wrong interrupt number for I2C
- 922490d3 dts/bindings: Remove superfluous property definition
- 5fae3731 dts: nxp: fix typo in usbd bindings
- 05063ede dts: arc: Fix IRQ priorities for quark_se_c1000_ss

Documentation (31):

- 3fb20eb8 doc: updated doc for Zephyr release 1.12.
- a129f19b doc: CODEOWNERS for .rst files
- dcc9cefe doc: i.MX7 updated doc for Zephyr release 1.12
- 81b964b6 doc: Update description of BT_RECV_IS_RX_THREAD.
- 8e7a0051 doc: Makefile: Use phony targets and remove unneeded prereqs
- 071b1bd6 doc: fix misspellings in test documentation
- fcbd8fb6 doc: fix misspellings in API doxygen comments
- 44383a39 doc: fix misspellings in Kconfig files
- 6c6cf23d doc: fix misspellings in docs
- 1fd8b139 doc: update syscall docs to new handler APIs
- 9e4f25bb doxygen: reference requirements
- a50a388b doc: build with CONFIG_USERSPACE enabled
- 993f6db7 doc: Add networking information to 1.12 release note
- 11c6306f doc: tweak CSS for option table display
- a7ffc83b doc: Create a sensor threat model doc
- 92b9d960 doxygen: enable more option for docs
- ce78d16b doc: document kernel APIs with doxygen
- a541e93d doc: document thread options
- 47420d04 doc: add requirement IDs
- cf8ee737 doc: updated doc for Zephyr release 1.12.
- c4bbdc70 doc: Update doc for posix feature
- 9d8c630b doc: release notes: Add details to various sections for 1.12 release
- 5d50d136 doc: Update doc for POSIX feature
- f1eda7b9 doc: updated doc for Zephyr release 1.12.
- d07d5e87 doc: fix broken table display
- e5be22fa doc: net: Add information about VLANs
- d58efe77 doc: net: Add information about network traffic classification
- 7760b941 doc: fix misspellings in docs
- 972386d7 genrest: Highlight Kconfig as Kconfig, not Python
- d96205f6 doc: fix early closing of GPIO doxygen defgroup
- 711adb89 doc: Update release note for 1.12

Drivers (59):

- 30e558f3 devices: entropy: Initialize drivers during PRE_KERNEL_1 stage
- fcc56e31 subsys: random: xoroshiro128: Use SYS_INIT hook to
initialize properly
- c9dd05b9 drivers: net: loopback: Fix setting of SYS_LOG_LEVEL
- 682455ec drivers: crypto_ataes132a: Fix typo in Kconfig symbol
- 08438630 drivers: sensor: bmm150: Fix typo in Kconfig symbol
- 4a3f5e5c drivers: sensor: pms7003: Rename CONFIG_PMS7003_SERIAL_TIMEOUT
- 5013cca6 usb: rndis: Rename CONFIG_RNDIS_TX_BUF_* and CONFIG_RNDIS_CMD_BUF_*
- 1ea03316 drivers: pinmux: Remove dead logic
- 192833a8 drivers: usb_dc_kinetis: fix out-of-bounds write/read
- 134b7484 drivers: clock_control: remove reference unknown config flag
- 2bd15aa7 drivers: clock_control: stm32: Remove unsupported clock configuration
- 80a9b022 drivers: usb_dc_stm32: enable VDDUSB on STM32L4x2
- 45221a97 serial: nsim: Fix impossible-to-enable CONFIG_UART_NSIM
- 668e31f7 drivers: entropy: Introduce ISR-specific entropy function
- 6f534e45 drivers: entropy: nrf5: Implement standard ISR-specific call
- 8e415727 drivers: spi: remove dead references to CONFIG_SPI_QMSI{_SS}
- 23bf9426 drivers: serial: uart_fe310: Match Kconfig defines in comment
- b0e697cc subsys: usb: Remove undefined CONFIG_USB_DEVICE_HID_BOOTP
- f245ef2a drivers: i2s: i2s_cavs: Fix typo in IRQ priority
- 7f4608cc gpio: Fix imx driver edge selection when configuring by port
- 6632ffa6 drivers: serial: stm32: remove HAL driver legacy
- fd26514a drivers: serial: stm32: rework macros and fixups
- 967c31bc drivers: serial: stm32: enable LBD only for UARTs with LIN support
- 1e6d827a drivers: serial: stm32: add LPUART support for L0/L4 series
- bb9fe428 spi: spi_ll_stm32: Fix transceive() ret value in spi_slave case
- d8fd97ab drivers/ethernet: stm32: Don't exit driver init on HAL timeout
- 5135a733 usb: netusb: Add subsys/usb to include list
- 34977913 usb: netusb: Use function - defined status callbacks
- 851195bf usb: netusb: Implement status callback for ECM
- 1d5692a7 usb: netusb: Implement status callback for EEM
- 7a6f1c98 usb: netusb: Implement status callback for RNDIS
- fc8bcb9a usb: netusb: Refactor function's status callbacks
- 8e15353d i2c: i2c_gpio: fix typos in Kconfig file
- 373a0212 drivers: serial: nrf: Fix interrupts enabling/disabling
- 7fb245f9 spi: spi_ll_stm32: fix slave frame shifting
- a8d93406 eth_stm32_hal: fix dev_data->mac_addr typo
- cb0dd0cc usb: function_eem: fix eem_read_cb
- 62004146 drivers: sensors: Remove usage of zephyr_library_ifdef
- 5f5e9fb9 drivers: flash: Remove usage of zephyr_library_ifdef
- 963a0bee drivers: serial: Remove usage of zephyr_library_ifdef
- 8c812900 drivers: entropy: Remove usage of zephyr_library_ifdef
- 8eb652bf drivers: apds9960: Always default on I2C_0
- a6d83783 drivers/flash: A support for SPI gpio-cs logic into w25qxxdv driver
- 002031d8 drivers/flash: Cleaning up Kconfig
- 33e3ae71 drivers/spi: Handle the case when tx buf/len is NULL/>0 in DW driver
- 13e1c3c2 uart_console: delete char using BS(08H) or DEL(7FH)
- 73009d05 usb: cdc_acm: Set bInterfaceProtocol to No Protocol (0)
- 4d0a1912 drivers: usb_dc_kinetis: fix usb_dc_ep_read_continue
- 29b7cdc8 drivers: eth: native_posix: Fix malformed echo response
- 9a7538b9 drivers: dma_cavs: separate callbacks per channel
- 30dbf3c0 drivers: eth: mcux: use CONFIG_SYS_LOG_ETHERNET_LEVEL for
syslog level
- f2719501 drivers/gpio: stm32 fix gpio device init prio
- f36edc6c drivers: i2s: intel_s1000: Fractional bit-clock
- b97dd472 drivers: can: Move bit timing and clock to device tree
- eefeb2b0 drivers: watchdog: esp32: Use common Kconfig option to
disable at boot
- 158ea970 drivers: watchdog: Use common name configuration for all drivers
- a88a9866 drivers/flags: W25QXXDW internal erase logic fix
- b4d0850d drivers/rtc: Fix how prescaler is used in QMSI driver
- c7053643 spi: spi_ll_stm32: (fix) Clear OVR bit condition

External (12):

- 57637029 ext: simplelink: Fix minor typo in CONFIG_NUM_IRQs
- bdf2f4ef ext: move libmetal to hal
- 6a2c371f ext: libmetal: Update import of libmetal
- f6fb8b8a ext: libmetal: Change build integration so its not recursive
- 6a86b026 ext: open-amp: move open-amp down one dir
- e3e8c83b ext: open-amp: Update import of open-amp
- 4e8438bc ext: open-amp: Change build integration so its not recursive
- b66ecc57 ext: hal: stm32cube: fix stm32l4xx VDDUSB supply control
- e91b5802 ext: hal: libmetal: Allow for libmetal source to be external
- 9a89f39b ext: hal: open-amp: Allow for open-amp source to be external
- 1cd6373f ext: lib: crypto: Update mbedTLS to 2.9.0
- 9550a7b1 ext: lib: crypto: Restore config macros removed in mbedTLS 2.9.0

Kernel (20):

- 72c7ded5 kernel: prepare threads after PRE_KERNEL*
- 1856e220 kernel/sched: Don't preempt cooperative threads
- 7aa25fa5 kernel: Add "meta IRQ" thread priorities
- 4a2e50f6 kernel: Earliest-deadline-first scheduling policy
- 4afc6c9f kernel: remove STACK_ALIGN checks
- 982d5c8f init: run kernel_arch_init() earlier
- 389c3643 kernel: init: Use entropy API directly to initialize stack canary
- 177bbbd3 kernel: Fix trivial typo in CONFIG_WAIT_Q_FAST
- c8e0d0ce kernel: add requirement Ids to implementation
- 538754cb kernel: handle early entropy issues
- b5464491 kernel: Use IS-specific entropy function when available
- 3a0cb2d3 kernel: Remove legacy preemption checking
- df55524d userspace: align _k_object to 4 bytes
- 75398d2c kernel/mempool: Handle transient failure condition
- eace1df5 kernel/sched: Fix SMP scheduling
- 43553da9 kernel/sched: Fix preemption logic
- f669a08e kernel: thread: fix _THREAD_DUMMY check in _check_stack_sentinel()
- e2d77915 kernel: update stack macro documentation
- b85ac3e5 kernel: clarify thread->stack_info documentation
- 6c95dafd kernel: sched: use _is_thread_ready() in should_preempt()

Libraries (3):

- dd78ab05 newlib: Fix typo in Kconfig related to NEWLIB_LIBC_ALIGNED_HEAP_SIZE
- 817e3cd9 lib: posix: Make sure the name string is NULL terminated
- 03a3c992 lib: posix: clock: Use k_uptime_get() to compute tv_nsec

Miscellaneous (5):

- 0b708185 misc: improve description of BOOTLOADER_SRAM_SIZE
- c40b9e04 codeowner: Fix wildcard issue for arch/arm/soc/st_stm32/
- d93ecda4 release: Move version to 1.12.0-rc2
- 98fcaf29 release: Update release notes with CAVS ICTL info
- 718a4cd2 include/toolchain/gcc.h: Fix static assert detection

Networking (15):

- 4dd5867a net: conn: Fix is_invalid_packet
- b1e06f2b net: lwm2m: remove silent fail for bad endpoint data in rd_client
- 6586dba3 net: coap: Fix CoAP observer helper function
- 6180b904 net: Too long timeout was passed to k_sleep
- 5ec569df net: Fix dependency to offload driver in Kconfig
- c5cfb462 net: rpl: fix null pointer dereference
- 2facf33f net: ieee802154: Remove old cc2520 AUTO_ACK assignments
- 4c58ffb5 net: lwm2m: dont release reply for duplicate block transfer
- 8f5929dd net: Too long timeout for k_sleep
- 8670e8a1 net: Convert MSEC_PER_SEC to K_SECONDS()
- 48ac4a37 net: Convert raw timeout values to use K_MSEC() macro
- 201a1b40 net/ieee802154: Security session must be initialized with a valid key
- dcb0ac12 net: tc: dont yield during net_rc tx/rx workq init
- c84b37b0 net: icmpv4: fix incorrect IP header checksum
- 9ab9a835 net/ethernet: Fix ethernet net mgmt interface layer code

Samples (27):

- ac3c6ba9 samples: net: Fix coap-server sample
- 55680f88 samples: net: Fix coap-client sample
- 2c305d2c samples: net: Remove unwanted code from coap-server
- d5df6472 samples: net: rpl_br: Fix coverity issues
- e0e188d3 samples: xtensa_asm2: Cleanup stray IS_TEST reference
- 02d9cc17 samples: subsys: debug: Remove CONFIG_SEGGER_RTT assignment
- 4a54005e samples: net: Remove undefined references to CONFIG_NET_LOG_ENABLED
- e7468fb5 samples: net: Fix VLAN tag name in prj.conf file
- 1a7ae583 samples: net: mqtt: Remove CONFIG_BT_MAX_CMD_LEN assignment
- 7bb6eb62 samples: wifi: remove dead Kconfig symbol
- 91d80445 samples: net: zperf: Remove dead Kconfig symbol from galileo conf
- 27f05e39 samples: board: 96b_argonkey: Remove dead code
- 2dbde4a1 samples: net: zperf: Remove config files for Galileo board
- f346c7ae samples: grove: Remove CONFIG_GROVE_LCD_RGB_INIT_PRIORITY assignment
- d154060a samples: grove: Fix CONFIG_GROVE_TEMPERATURE_SENSOR_V1_X assignment
- 9a06d119 samples: mcp9808: Fix CONFIG_MCP9808_TRIGGER_GLOBAL_THREAD assignment
- 40777af7 samples: openamp: Cleanup CMakeLists.txt files
- 31c5a83e samples: hci_uart: Remove NRF5 Kconfig baud rate setting
- cbdfdf9e samples: bmm150: Remove assignment to missing CONFIG_BMM150_SET_ATTR
- 544f8271 samples: mbedTLS server: Remove CONFIG_NET_SLIP_TAP assignment
- ee4a4175 samples: echo_server: Remove conflicting option from conf file
- 7d01bf8c samples: openamp: Update docs
- b0ffe06f samples: openamp: add some comments to the code
- c5fda143 samples: Quote BOARD value in custom board definition
- 337832d1 samples: hci_uart: Remove CONFIG_UART_NRF5_BAUD_RATE assignment
- 659c241e samples: net: big_http_download: Ignore close() return value.
- 61f91f8f samples: sensor : mcp9808: check return value

Scripts (12):

- e0477756 scripts: west: downgrade missing ZEPHYR_BASE to a warning
- b45e152f menuconfig/genrest: Exclude implicit submenus from menu paths
- 06ecb287 genrest: Move from doc/scripts/genrest/ to doc/scripts/
- e144a68f elf_helper: fix member offset calculation
- f20efcfb scripts: generalize kobject -> enum naming
- d44fee35 menuconfig: Add search and save/load improvements from upstream
- a06b14f2 scripts: check-compliance: Allow to run from any path
- 58967c7d scripts: extract_dts_includes.py: fix multiple include in bindings
- 6eabea3a Kconfiglib: Warn for unquoted string defaults
- 163dec6d menuconfig: Add show-name mode + small help dialog improvement
- 1d27ee0b scripts: extract_dts_includes: fix recursion in extract_controller
- 63f2cf57 scripts: west: update to upstream 894aedbc0

Storage (9):

- 2f074783 subsys: disk: Fix NULL pointer checks for disk operations
- 83ac3f8b subsys: fs/nvs: explicitly pad flash writes up to the write
block size
- 7acd3399 subsys: fs/nvs: never read more than the destination buffer
- 154e6ea7 subsys: fs/nvs: never write more than the source buffer
- 14aae1a1 subsys: fs/nvs: remove explicit padding from structures
- 4795b79e subsys: fs/nvs: kill a warning
- 131c4a4f subsys: fs/nvs: do not assume the flash is mapped at address 0
- 4089602f subsys: fs/nvs: fix _nvs_sector_is_used
- ae2f419b subsys: disk: Fix log level issues

Testing (80):

- c182520e tests: kernel: Add description for test cases
- 4c7a44b5 tests: posix: Fix pthread attribute initialization
- 9f30a6ca tests: mem_protect: fix off-by-one
- 136687d2 test_build_sensors_a_m: disable app memory
- 5b8da206 tests: fatal: fix several issues
- efe0c4b7 tests: enable user mode by default
- 5414a7de tests: mqtt: Fix CONFIG_NET_BUF_DATA_SIZE assignments
- 4190f61c tests: net: Fix misspelled CONFIG_DNS_NUM_CONCUR_QUERIES assignments
- cf227f36 tests: drivers: build_all: Fix CONFIG_ETH_ENC28J60_0_MAC2 reference
- ac13bedc tests: net: all: Fix COAP enablement in prj.conf
- 24b0b3c1 tests: Remove CONFIG_COMMAND_STACK_SIZE assignments
- 7a3ace35 tests: Remove newline character
- dccd2753 tests: posix: fs: Free dirp resource in case error
- a1492325 tests: kernel: fifo: Do NULL pointer check before accessing data
- 14fe2727 tests: unfold nffs_fs_api
- 17998888 tests: footprint: only use user mode for max
- 2348daa8 tests: crypto: disable user mode on 2 tests
- e1fab4c3 tests: kernel: timer: timer_api: Remove nonexistent config option
- 6f40b533 tests: semaphore: improve test documentation
- c2be4417 tests: alert: improve test documentation
- 12d47cc5 tests: fifo: improve test documentation
- e989283f tests: lifo: improve test documentation
- 234484fd tests: msgq: improve test documentation
- 876195de tests: pipe: improve test documentation
- d73e9700 tests: stack: improve test documentation
- f8ef918d tests/lib/c_lib: Turn off too-clever compiler warning
- e9174c6d tests/kernel/common: Add rigorous integer typing test
- d6b11e15 tests: net: arp: Check NULL in unicast test
- ba8c8c3c tests: mslab_threadsafe: Check for return value
- 843ad8b0 tests: semaphore: Check return value
- dda7befd tests: benchmarks: force assertions off
- bc40f934 debug: enable assertions for all tests
- f3f767a2 tests: power: multicore: Remove CONFIG_UART_{0,1}=n assignments
- e8182fa0 test: kernel: remove workaround for arm_mpu (keep for nxp_mpu)
- d96dbadd tests: adc_simple: Change ADC_DEBUG=y to SYS_LOG_ADC_LEVEL=4
- 637ad4cc tests: net: all: Remove redundant/misspelled NET_RPL assignments
- 77658137 tests: net: all: Fix assignments to old TIME_WAIT Kconfig symbols
- f6bdcb71 tests: net: all: Fix assignments to old nbuf API Kconfig symbols
- 3c8e033e tests: net: all: Remove CONFIG_HTTP_HEADER_FIELD_ITEMS assignment
- 21792fa0 tests: posix: timer: Fix integer handling issues
- 86b53643 tests/kernel: Add preemption priority test
- 6a014b63 tests: spi: Check for return value
- ba2c44e4 tests: enable HW stack protection by default
- 0a438983 tests: kernel: document thread tests for RTM
- fa4aa9fe tests: threads: fold systemthread tests into main test
- fe4693bd tests: threads: fold customdata tests into main test
- eeae0eef tests: kernel: put all thread tests on one level
- 43293b90 tests: critical: fix naming and comments
- c5be083d tests: move schedule_api under sched/
- 20e969b8 tests: schedule_api: fix references to tested APIs
- f0f11289 tests: schedule_api: change category to sched
- 6faf5b86 test: early_sleep: cleanup test
- 9a28c87b tests: posix: rename entry file to main.c
- c2e9eef8 tests: kernel context: rewrite test to use ztest correctly
- 8c8ddb81 tests: workqueue: add API references and doxygen group
- 4317a181 tests: net: all: Increase NET_MAX_CONTEXTS from 4 to 5
- b20cc63d tests: power states: Remove CONFIG_GPIO_QMSI_1_{NAME,PRI} assignments
- 12f87f7a tests: net: Fix assignments to CONFIG_NET_DEBUG_6LO
- aa26d992 tests: mbedtls: don't use stdout console
- e63cccdc tests: fixes for ARC
- 467f8fbe tests: fixes for ARC
- 92a3c41d tests: necessary fixes for ARC
- 22838e8b benchmarks: object_footprint: Disable userspace for benchmarks
- 6663286f benchmarks: app_kernel: Disable userspace for benchmarks
- a5988f81 benchmarks: latency_measure: Disable userspace for benchmarks
- e8626d71 benchmarks: boot_time: Disable userspace for benchmarks
- a9dda77f benchmarks: footprint: Disable userspace for benchmarks
- 2182178b benchmarks: sys_kernel: Disable userspace for benchmarks
- 8bbf0fd7 benchmarks: timing_info: Disable userspace for benchmarks
- c782d07a tests/kernel/smp: Properly synchronize CPU counters at test start
- bed0ac68 tests: workqueue: fix doxygen group
- 2f7fe7e2 tests: mem_pool: organise test documentation
- 4ef36a4b tests/kernel/mem_slab: Fix memory overcommit
- 338f4519 tests: kernel: profiling: Fix _sys_soc_suspend logic
- 66e84540 tests: subsys: settings: fcb: Fix failure on nrf52_pca10040
- f5bf2816 tests: posix: Function call return values need to be validated.
- 2d03b552 tests/kernel/mem_slab: Fix memory overcommit for real
- 75e2af20 tests: fifo_timeout : Dereference after null check
- 2237ce6b tests: mem_protect: use better stack size arg
- b5a3ddf7 tests: ieee802154/crypto: use console harness


Re: [Zephyr-devel] How to change Bluetooth default TX power ?

Gurpreet Singh <gurpreet@...>
 

I'd second that vote as our use case also involves being able to change the tx power depending on the type of advertisement packet being sent out. 

On Mon, Jun 4, 2018 at 11:16 AM, Ryan Erickson <ryan.erickson@...> wrote:
I'd like to put in a vote for changing the TX power at runtime.  Our use case would be making the TX power less during advertisements and then increasing it once the connection is made.

Thanks,

Ryan

From: devel@... <devel@...> On Behalf Of Chettimada, Vinayak Kariappa
Sent: Monday, June 4, 2018 13:13
To: Vikrant More <vikrant8051@...>
Cc: Abderrezak Mekkaoui <ab.mekka@...>; devel@...; users@...
Subject: Re: [Zephyr-users] [Zephyr-devel] How to change Bluetooth default TX power ?

Vikrant,

Sure, I will send a PR for that one as soon as I can (tomorrow maybe).

Regards,
Vinayak


On 4 Jun 2018, at 23:41, Vikrant More <mailto:vikrant8051@...> wrote:

Hi Vinayak, 
As of now, I need build time configuration option to change Tx power. It will be great, if we could do it by editing prj.conf.

Thank You !!

On Mon, Jun 4, 2018, 11:29 PM Chettimada, Vinayak Kariappa <mailto:vinayak.kariappa.chettimada@...> wrote:
Hi Vikrant and Abderrezak,

Please elaborate on your applications' use case for Tx power change. Do you want to use a build time custom Tx power setting or runtime dynamic update to Tx Power?

As there is no HCI command to update Tx power, except in Extended Advertising feature, it is important to define a Host API for a dynamic update well suited targeting an use case for legacy advertising and connections.
This will then need to define vendor specific HCI extensions to update the settings in the controller’s radio implementations.

Regards,
Vinayak


On 4 Jun 2018, at 19:28, Abderrezak Mekkaoui <mailto:ab.mekka@...> wrote:

Hi All,
I have the same issue. This is clearly an app variable imho.
Thanks
Abderrezak

On 6/4/2018 9:45 AM, vikrant8051 wrote:
Hi,

If anyone want to edit tx power of #nRF52840_PDK, then have to edit two file ..
1) $zephyr/subsys/bluetooth/controller/ll_sw/ctrl.c: L5882
2)  $zephyr/subsys/bluetooth/controller/ll_sw/ll_test.c: L189

which are part of Bluetooth Stack.

How to modify TX power at APP level (after reboot or in middle of firmware execution) ?
Is it possible to use some configuration parameter for it ?

Thank You !!












--
Gurpreet Singh
Member of Technical Staff
Mist Systems

e:gurpreet@...   w:  www.mist.com
Sign up for a live demo of the world's first Virtual Network Assistant. Join Demo!


Re: [Zephyr-devel] How to change Bluetooth default TX power ?

Chettimada, Vinayak Kariappa <vinayak.kariappa.chettimada@...>
 

Hi,


Ryan,

As stated in my earlier email, runtime changes need Host API and corresponding vendor HCI extensions, let alone controller implementations to handle runtime changes. This will need a bit more effort and re-prioritising my current tasks!

Regards,
Vinayak

On 4 Jun 2018, at 23:46, Ryan Erickson <Ryan.Erickson@...> wrote:

I'd like to put in a vote for changing the TX power at runtime.  Our use case would be making the TX power less during advertisements and then increasing it once the connection is made.

Thanks,

Ryan

From: devel@... <devel@...> On Behalf Of Chettimada, Vinayak Kariappa
Sent: Monday, June 4, 2018 13:13
To: Vikrant More <vikrant8051@...>
Cc: Abderrezak Mekkaoui <ab.mekka@...>; devel@...; users@...
Subject: Re: [Zephyr-users] [Zephyr-devel] How to change Bluetooth default TX power ?

Vikrant,

Sure, I will send a PR for that one as soon as I can (tomorrow maybe).

Regards,
Vinayak


On 4 Jun 2018, at 23:41, Vikrant More <mailto:vikrant8051@...> wrote:

Hi Vinayak, 
As of now, I need build time configuration option to change Tx power. It will be great, if we could do it by editing prj.conf.

Thank You !!

On Mon, Jun 4, 2018, 11:29 PM Chettimada, Vinayak Kariappa <mailto:vinayak.kariappa.chettimada@...> wrote:
Hi Vikrant and Abderrezak,

Please elaborate on your applications' use case for Tx power change. Do you want to use a build time custom Tx power setting or runtime dynamic update to Tx Power?

As there is no HCI command to update Tx power, except in Extended Advertising feature, it is important to define a Host API for a dynamic update well suited targeting an use case for legacy advertising and connections.
This will then need to define vendor specific HCI extensions to update the settings in the controller’s radio implementations.

Regards,
Vinayak


On 4 Jun 2018, at 19:28, Abderrezak Mekkaoui <mailto:ab.mekka@...> wrote:

Hi All,
I have the same issue. This is clearly an app variable imho.
Thanks
Abderrezak

On 6/4/2018 9:45 AM, vikrant8051 wrote:
Hi,

If anyone want to edit tx power of #nRF52840_PDK, then have to edit two file ..
1) $zephyr/subsys/bluetooth/controller/ll_sw/ctrl.c: L5882
2)  $zephyr/subsys/bluetooth/controller/ll_sw/ll_test.c: L189

which are part of Bluetooth Stack.

How to modify TX power at APP level (after reboot or in middle of firmware execution) ?
Is it possible to use some configuration parameter for it ?

Thank You !!





1921 - 1940 of 2797