Date   
Cancelled Event: Zephyr Project: Dev Meeting - Thursday, 15 August 2019 #cal-cancelled

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

Cancelled: Zephyr Project: Dev Meeting

This event has been cancelled.

When:
Thursday, 15 August 2019
8:00am to 9:00am
(UTC-07:00) America/Los Angeles

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

Organizer:
devel@...

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

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

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

About the Behavior of "z_clock_announce" in SMP, Is it dupulicate caculated?

"曹子龙
 

Hi  folks:

    
  a puzzle in the timer tick interrupt handler in SMP mode.  look at below,  the SMP mult cores share the same "cur_tick" object to remeber the current time, each cpu would increment it when the tick hander  excutes on each CPU.
so, could this would accelerate the timer compare with the realworld?  for example, if 4cores  exist, the cur_tick would 4 times incmrent than the read world, i cant fingure out where am a wrong, so, could you figure me out?  thanks for your kinldy supply. 

void z_clock_announce(s32_t ticks)
{
#ifdef CONFIG_TIMESLICING
 z_time_slice(ticks);
#endif

 k_spinlock_key_t key = k_spin_lock(&timeout_lock);

 announce_remaining = ticks;

 while (first() != NULL && first()->dticks <= announce_remaining) {
  struct _timeout *t = first();
  int dt = t->dticks;

  curr_tick += dt;
  announce_remaining -= dt;
  t->dticks = 0;
  remove_timeout(t);

  k_spin_unlock(&timeout_lock, key);
  t->fn(t);
  key = k_spin_lock(&timeout_lock);
 }

 if (first() != NULL) {
  first()->dticks -= announce_remaining;
 }

 curr_tick += announce_remaining;
 announce_remaining = 0;

 z_clock_set_timeout(next_timeout(), false);

 k_spin_unlock(&timeout_lock, key);
}


曹子龙

珠海全志科技股份有限公司      BU1-PSW

地址:广东省珠海市高新区唐家湾镇科技2路9号

TEL:13824125580

Email:caozilong@...

网址: http://www.allwinnertech.com

 



Upcoming Event: Zephyr Project: APIs - Tue, 08/13/2019 9:00am-10:00am, Please RSVP #cal-reminder

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

Reminder: Zephyr Project: APIs

When: Tuesday, 13 August 2019, 9:00am to 10:00am, (GMT-07:00) America/Los Angeles

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

An RSVP is requested. Click here to RSVP

Organizer: devel@...

Description: Join from PC, Mac, Linux, iOS or Android: https://zoom.us/j/177647878

Or iPhone one-tap :
    US: +16465588656,,177647878# or +16699006833,,177647878# 
Or Telephone:
    Dial(for higher quality, dial a number based on your current location): 
        US: +1 646 558 8656 or +1 669 900 6833 or +1 855 880 1246 (Toll Free) or +1 877 369 0926 (Toll Free)
    Meeting ID: 177 647 878
    International numbers available: https://zoom.us/zoomconference?m=ioAR9GK1OE5LkN1ojt-heTCl7yPcJrhY


 Live meeting minutes: https://docs.google.com/document/d/1lv-8B5QE2m4FjBcvfqAXFIgQfW5oz6306zJ7GIZIWCk/edit?usp=sharing

API meeting: agenda

Cufi, Carles
 

Hi all,

This week we will look at:

Agenda:

- Sensor API: Update on progress
rtio PR: https://github.com/zephyrproject-rtos/zephyr/pull/17434

- GPIO: Update on implementation and way forward

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

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

Regards,

Carles

About the Behavior of "z_clock_announce" in SMP?

"曹子龙
 

Hi  folks:
    
  a puzzle in the timer tick interrupt handler in SMP mode.  look at below,  the SMP mult cores share the same "cur_tick" object to remeber the current time, each cpu would increment it when the tick hander  excutes on each CPU.
so, could this would accelerate the timer compare with the realworld?  for example, if 4cores  exist, the cur_tick would 4 times incmrent than the read world, i cant fingure out where am a wrong, so, could you figure me out?  thanks for your kinldy supply. 

void z_clock_announce(s32_t ticks)
{
#ifdef CONFIG_TIMESLICING
 z_time_slice(ticks);
#endif

 k_spinlock_key_t key = k_spin_lock(&timeout_lock);

 announce_remaining = ticks;

 while (first() != NULL && first()->dticks <= announce_remaining) {
  struct _timeout *t = first();
  int dt = t->dticks;

  curr_tick += dt;
  announce_remaining -= dt;
  t->dticks = 0;
  remove_timeout(t);

  k_spin_unlock(&timeout_lock, key);
  t->fn(t);
  key = k_spin_lock(&timeout_lock);
 }

 if (first() != NULL) {
  first()->dticks -= announce_remaining;
 }

 curr_tick += announce_remaining;
 announce_remaining = 0;

 z_clock_set_timeout(next_timeout(), false);

 k_spin_unlock(&timeout_lock, key);
}


曹子龙

珠海全志科技股份有限公司      BU1-PSW

地址:广东省珠海市高新区唐家湾镇科技2路9号

TEL:13824125580

Email:caozilong@...

网址: http://www.allwinnertech.com

 


Re: STM32WB55 BLE address

Marcio Montenegro
 

Awesome, thanks!


On Tue, Aug 13, 2019 at 9:13 AM Erwan Gouriou <erwan.gouriou@...> wrote:
Hi Marcio,

Setting of public address based on flash registers should be done as part of controller init in hci driver.
In function bt_ipm_ble_init in drivers/bluetooth/hci/ipm_stm32wb.c

It should be done by sending a custom command to the controller (ACI_HAL_WRITE_CONFIG_DATA), which will provide the address that you can get by the piece of code you mentionned.
This proprietary command is described in following application note:

Hope it helps
Erwan



On Thu, 8 Aug 2019 at 20:29, Marcio Montenegro <mtuxpe@...> wrote:
Hello Rob,
I got the error below:
undefined reference to `bt_ctlr_set_public_addr'

Yes I included <bluetooth/controller.h>
I don't know if any config is missing and how public BLE address is assigned for this board.

My prj.conf:

CONFIG_BT=y
CONFIG_BT_DEBUG_LOG=y
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_DEVICE_NAME="P2PSRV1"
CONFIG_BT_GATT_BAS=y
CONFIG_BT_DEBUG=y

Anyway I can connect to nrf connect and ST BLE sensor android app.
The battery service is working.
Now I am finishing a custom service.
Best regards,
Marcio



On Wed, Aug 7, 2019 at 2:21 PM Marcio Montenegro via Lists.Zephyrproject.Org <mtuxpe=gmail.com@...> wrote:
Thanks, I'll check it out. 

On Wed, Aug 7, 2019, 13:57 Rob Weber <rob@...> wrote:
Hello,

On Tue, Aug 06, 2019 at 11:26:59AM -0300, Marcio Montenegro wrote:
> I am evaluating STM32WB55  board HCI driver.
> During my test I found that BLE  public address is  02:80:e1:00:00:00
> But this microcontroller has an internal flash register to store BLE
> address and device id.
> I would like to know the best way to change the address BLE in this case.
> Best regards,
> Marcio
>
> BLE Stack initialization:
>
> [00:00:00.015,000] <dbg> bt_settings.bt_settings_init:
> Bluetooth initialized
> Configuration mode: waiting connections...
> [00:00:00.187,000] <inf> bt_hci_core: Identity: 02:80:e1:00:00:00 (public)
> [00:00:00.187,000] <inf> bt_hci_core: HCI: version 5.0 (0x09) revision
> 0x0026, manufacturer 0x0030
> [00:00:00.187,000] <inf> bt_hci_core: LMP: version 5.0 (0x09) subver 0x2126
>
> Get correct BLE address:
>
> udn = LL_FLASH_GetUDN();
> if(udn != 0xFFFFFFFF)
> {
>     company_id = LL_FLASH_GetSTCompanyID();
>     device_id = LL_FLASH_GetDeviceID();
>
>     bd_addr_udn[0] = (uint8_t)(udn & 0x000000FF);
>     bd_addr_udn[1] = (uint8_t)( (udn & 0x0000FF00) >> 8 );
>     bd_addr_udn[2] = (uint8_t)( (udn & 0x00FF0000) >> 16 );
>     bd_addr_udn[3] = (uint8_t)device_id;
>     bd_addr_udn[4] = (uint8_t)(company_id & 0x000000FF);;
>     bd_addr_udn[5] = (uint8_t)( (company_id & 0x0000FF00) >> 8 );
>     bd_addr = (const uint8_t *)bd_addr_udn;
>
> }

I have not yet worked with any of the bluetooth APIs, but this thread
peaked my interest because I am also evaluating the STM32WB55 for an
upcoming project.

I did a quick search through the bluetooth API and found the function
bt_ctlr_set_public_addr [1]. I started digging into its implementation,
but I was not able to figure out how this function relates to the rest
of the bluetooth system, or how it relates to the STM32WB55 LL/HAL.

I would recommend trying this function to see if it meets your needs.
Please let me know if it works! I'm definitely curious to know how this
might work with the STM32WB55.

Cheers,
Rob Weber

[1] https://docs.zephyrproject.org/latest/reference/bluetooth/controller.html#_CPPv323bt_ctlr_set_public_addrPK4u8_t

Re: STM32WB55 BLE address

Erwan Gouriou
 

Hi Marcio,

Setting of public address based on flash registers should be done as part of controller init in hci driver.
In function bt_ipm_ble_init in drivers/bluetooth/hci/ipm_stm32wb.c

It should be done by sending a custom command to the controller (ACI_HAL_WRITE_CONFIG_DATA), which will provide the address that you can get by the piece of code you mentionned.
This proprietary command is described in following application note:

Hope it helps
Erwan



On Thu, 8 Aug 2019 at 20:29, Marcio Montenegro <mtuxpe@...> wrote:
Hello Rob,
I got the error below:
undefined reference to `bt_ctlr_set_public_addr'

Yes I included <bluetooth/controller.h>
I don't know if any config is missing and how public BLE address is assigned for this board.

My prj.conf:

CONFIG_BT=y
CONFIG_BT_DEBUG_LOG=y
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_DEVICE_NAME="P2PSRV1"
CONFIG_BT_GATT_BAS=y
CONFIG_BT_DEBUG=y

Anyway I can connect to nrf connect and ST BLE sensor android app.
The battery service is working.
Now I am finishing a custom service.
Best regards,
Marcio



On Wed, Aug 7, 2019 at 2:21 PM Marcio Montenegro via Lists.Zephyrproject.Org <mtuxpe=gmail.com@...> wrote:
Thanks, I'll check it out. 

On Wed, Aug 7, 2019, 13:57 Rob Weber <rob@...> wrote:
Hello,

On Tue, Aug 06, 2019 at 11:26:59AM -0300, Marcio Montenegro wrote:
> I am evaluating STM32WB55  board HCI driver.
> During my test I found that BLE  public address is  02:80:e1:00:00:00
> But this microcontroller has an internal flash register to store BLE
> address and device id.
> I would like to know the best way to change the address BLE in this case.
> Best regards,
> Marcio
>
> BLE Stack initialization:
>
> [00:00:00.015,000] <dbg> bt_settings.bt_settings_init:
> Bluetooth initialized
> Configuration mode: waiting connections...
> [00:00:00.187,000] <inf> bt_hci_core: Identity: 02:80:e1:00:00:00 (public)
> [00:00:00.187,000] <inf> bt_hci_core: HCI: version 5.0 (0x09) revision
> 0x0026, manufacturer 0x0030
> [00:00:00.187,000] <inf> bt_hci_core: LMP: version 5.0 (0x09) subver 0x2126
>
> Get correct BLE address:
>
> udn = LL_FLASH_GetUDN();
> if(udn != 0xFFFFFFFF)
> {
>     company_id = LL_FLASH_GetSTCompanyID();
>     device_id = LL_FLASH_GetDeviceID();
>
>     bd_addr_udn[0] = (uint8_t)(udn & 0x000000FF);
>     bd_addr_udn[1] = (uint8_t)( (udn & 0x0000FF00) >> 8 );
>     bd_addr_udn[2] = (uint8_t)( (udn & 0x00FF0000) >> 16 );
>     bd_addr_udn[3] = (uint8_t)device_id;
>     bd_addr_udn[4] = (uint8_t)(company_id & 0x000000FF);;
>     bd_addr_udn[5] = (uint8_t)( (company_id & 0x0000FF00) >> 8 );
>     bd_addr = (const uint8_t *)bd_addr_udn;
>
> }

I have not yet worked with any of the bluetooth APIs, but this thread
peaked my interest because I am also evaluating the STM32WB55 for an
upcoming project.

I did a quick search through the bluetooth API and found the function
bt_ctlr_set_public_addr [1]. I started digging into its implementation,
but I was not able to figure out how this function relates to the rest
of the bluetooth system, or how it relates to the STM32WB55 LL/HAL.

I would recommend trying this function to see if it meets your needs.
Please let me know if it works! I'm definitely curious to know how this
might work with the STM32WB55.

Cheers,
Rob Weber

[1] https://docs.zephyrproject.org/latest/reference/bluetooth/controller.html#_CPPv323bt_ctlr_set_public_addrPK4u8_t

Re: how to make zephyr as a ble mesh provisioner?

Johan Hedberg
 

Hi Rahul,

On 24 Jul 2019, at 8.01, rahul tiwari <rahultiwari30694@...> wrote:
what are the steps required to make zephyr OS as a provisioner.
There’s a preliminary pull request to add this feature, but it’s not yet merged upstream:

https://github.com/zephyrproject-rtos/zephyr/pull/17729

I flashed the sample board example of mesh over nordic pca10040 , and i cant provision it from BlueZ meshctl
Kindly provide me the way to provision it
Were you asking for provisioner support as a workaround for the above issue, or these are two independent requests? meshctl should be able to provision Zephyr as long as you have PB-GATT support enabled in Zephyr. Nordic’s nRF Mesh app (available for Android & iOS) should work as well.

Johan

Zephyr 2.0.0-rc1 tagged

Glaropoulos, Ioannis
 

Hi Zephyr developers,

 

We have just tagged Zephyr 2.0.0-rc1.

 

All required features scheduled for 2.0 release are now merged into master. As of now we are in the stabilization phase for 2.0 release; the merge window is closed for new features and enhancements, and will remain closed until the release date. We will also start working on filling in the existing skeleton for the release notes.

 

During the stabilization period bug-fix, documentation, and stabilization-related patches may be merged to master. Additional features or enhancements for 2.0 release will need to be approved by TSC.

 

As we need to reduce bug counts for the release, you are all encouraged to submit PRs that close existing bug reports, and to help reviewing such PRs submitted by other contributors or maintainers.

Testing Zephyr release candidate branches is also highly appreciated; please, test the code base and file bug reports so they can be addressed before the release deadline.

 

The full release log can be found here: https://github.com/zephyrproject-rtos/zephyr/releases/tag/v2.0.0-rc1

 

More details about Zephyr releases is found here: https://github.com/zephyrproject-rtos/zephyr/wiki/Program-Management

 

The final release is tentatively scheduled for August 30th.

 

Thanks to everybody who contributed to this release!

 

Ioannis Glaropoulos

 

Re: STM32WB55 BLE address

Marcio Montenegro
 

Hello Rob,
I got the error below:
undefined reference to `bt_ctlr_set_public_addr'

Yes I included <bluetooth/controller.h>
I don't know if any config is missing and how public BLE address is assigned for this board.

My prj.conf:

CONFIG_BT=y
CONFIG_BT_DEBUG_LOG=y
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_DEVICE_NAME="P2PSRV1"
CONFIG_BT_GATT_BAS=y
CONFIG_BT_DEBUG=y

Anyway I can connect to nrf connect and ST BLE sensor android app.
The battery service is working.
Now I am finishing a custom service.
Best regards,
Marcio



On Wed, Aug 7, 2019 at 2:21 PM Marcio Montenegro via Lists.Zephyrproject.Org <mtuxpe=gmail.com@...> wrote:
Thanks, I'll check it out. 

On Wed, Aug 7, 2019, 13:57 Rob Weber <rob@...> wrote:
Hello,

On Tue, Aug 06, 2019 at 11:26:59AM -0300, Marcio Montenegro wrote:
> I am evaluating STM32WB55  board HCI driver.
> During my test I found that BLE  public address is  02:80:e1:00:00:00
> But this microcontroller has an internal flash register to store BLE
> address and device id.
> I would like to know the best way to change the address BLE in this case.
> Best regards,
> Marcio
>
> BLE Stack initialization:
>
> [00:00:00.015,000] <dbg> bt_settings.bt_settings_init:
> Bluetooth initialized
> Configuration mode: waiting connections...
> [00:00:00.187,000] <inf> bt_hci_core: Identity: 02:80:e1:00:00:00 (public)
> [00:00:00.187,000] <inf> bt_hci_core: HCI: version 5.0 (0x09) revision
> 0x0026, manufacturer 0x0030
> [00:00:00.187,000] <inf> bt_hci_core: LMP: version 5.0 (0x09) subver 0x2126
>
> Get correct BLE address:
>
> udn = LL_FLASH_GetUDN();
> if(udn != 0xFFFFFFFF)
> {
>     company_id = LL_FLASH_GetSTCompanyID();
>     device_id = LL_FLASH_GetDeviceID();
>
>     bd_addr_udn[0] = (uint8_t)(udn & 0x000000FF);
>     bd_addr_udn[1] = (uint8_t)( (udn & 0x0000FF00) >> 8 );
>     bd_addr_udn[2] = (uint8_t)( (udn & 0x00FF0000) >> 16 );
>     bd_addr_udn[3] = (uint8_t)device_id;
>     bd_addr_udn[4] = (uint8_t)(company_id & 0x000000FF);;
>     bd_addr_udn[5] = (uint8_t)( (company_id & 0x0000FF00) >> 8 );
>     bd_addr = (const uint8_t *)bd_addr_udn;
>
> }

I have not yet worked with any of the bluetooth APIs, but this thread
peaked my interest because I am also evaluating the STM32WB55 for an
upcoming project.

I did a quick search through the bluetooth API and found the function
bt_ctlr_set_public_addr [1]. I started digging into its implementation,
but I was not able to figure out how this function relates to the rest
of the bluetooth system, or how it relates to the STM32WB55 LL/HAL.

I would recommend trying this function to see if it meets your needs.
Please let me know if it works! I'm definitely curious to know how this
might work with the STM32WB55.

Cheers,
Rob Weber

[1] https://docs.zephyrproject.org/latest/reference/bluetooth/controller.html#_CPPv323bt_ctlr_set_public_addrPK4u8_t

Zephyr SDK 0.10.2 available

Kumar Gala
 

Hi,

Latest version of the SDK can be found here:

https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.10.2

Please download and try things out and report any issues.

Changes since the last release:

• Updated QEMU to v4.1.0-rc4 to pickup MPS2 AN521 / v8m functionality as well as RISC-V fixes
• Enabled aarch64 qemu target to be used for Cortex-R on Xilinx platform
• Updated RISC-V toolchain with fixes from riscv/riscv-gnu-toolchain
• Enabled 64-bit RISC-V toolchain, defaults to ilp32 so it can build RISC-V 32-bit code
• Deprecating the 32-bit RISC-V toolchain
• Pulled in openocd fix for CC13x2/CC26x2 platforms

Thanks to all that contributed fixes and enhancements to this version of the SDK.

- k

Cancelled Event: Zephyr Project: Dev Meeting - Thursday, 8 August 2019 #cal-cancelled

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

Cancelled: Zephyr Project: Dev Meeting

This event has been cancelled.

When:
Thursday, 8 August 2019
8:00am to 9:00am
(UTC-07:00) America/Los Angeles

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

Organizer:
devel@...

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

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

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

Re: Adafruit Feature nRF52 bit bang i2c

Tomas McGuinness <tomasmcguinness@...>
 

After some reading, I settled on these settings:

 

CONFIG_I2C=y

CONFIG_I2C_LOG_LEVEL_INF=y

CONFIG_I2C_LOG_LEVEL_ERR=y

CONFIG_I2C_LOG_LEVEL_DBG=y

 

CONFIG_I2C_NRFX=y

CONFIG_I2C_0=y

CONFIG_I2C_0_NRF_TWI=y

 

CONFIG_SENSOR=y

CONFIG_BME280=y

 

With your DTS configuration of

 

&i2c0 {

    bme280@76 {

        compatible = "bosch,bme280";

        label = "BME280";

        reg = <0x76>;

    };

};

 

I get this trace!

 

Everything seems to be working now.

 

***** Booting Zephyr OS build zephyr-v1.14.0-2748-g4eb85176e325 *****

Simple Light

Dev 0x20004350 name BME280

nt: 8

[temp: 22.950000; press: 100.875410; humidity: 51.296875

0:00:00.000,000] <dbg> mpu.region_init: [0] 0x00000000 0x07020024

[00:00:00.000,000] <dbg> mpu.region_init: [1] 0x20000000 0x110b001e

[00:00:00.000,000] <dbg> bt_hci_core.bt_hci_driver_register: Registered Controller

[00:00:00.000,000] <dbg> BME280.bme280_chip_init: BME280 chip detected

[00:00:00.005,126] <dbg> temp_nrf5.temp_nrf5_init:

temp: 22.950000; press: 100.875074; humidity: 51.296875

temp: 22.950000; press: 100.874640; humidity: 51.296875

temp: 22.950000; press: 100.874640; humidity: 51.286132

temp: 22.950000; press: 100.874980; humidity: 51.296875

 

Thanks for pointing me in the right direction, Benjamin!

 

Tom

 

Sent from Mail for Windows 10

 

From: Tomas McGuinness
Sent: 07 August 2019 13:41
To: devel@...
Subject: RE: [Zephyr-devel] Adafruit Feature nRF52 bit bang i2c

 

Benjamin,

 

I added that entry to a file called nrf52_adafruit_feather.overlay

 

I had to add CONFIG_I2C_0=y to my proj file also, so it includes these settings now:

 

CONFIG_I2C=y

CONFIG_I2C_0=y

 

CONFIG_SENSOR=y

CONFIG_BME280=y

 

However, when I flash the adafruit, I get a serious looking error message:

 

***** Booting Zephyr OS build zephyr-v1.14.0-2748-g4eb85176e325 *****

Simple Light

[00:00:00.012,939] <err> os: ***** USAGE FAULT *****

[00:00:00.012,939] <err> os:   Attempt to execute undefined instruction

[00:00:00.012,969] <err> os: r0/a1:  0x20004324  r1/a2:  0x0000000a  r2/a3:  0x0000d4e6

[00:00:00.013,000] <err> os: r3/a4:  0x20001d28 r12/ip:  0x20001c94 r14/lr:  0x00000aab

[00:00:00.013,000] <err> os:  xpsr:  0x61000000

[00:00:00.013,031] <err> os: Faulting instruction address (r15/pc): 0x00000aba

[00:00:00.013,031] <err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception

[00:00:00.013,031] <err> os: Current thread: 0x20000f54 (unknown)

[00:00:00.072,937] <err> os: Halting system

 

Sent from Mail for Windows 10

 

From: Benjamin Lindqvist <benjamin.lindqvist@...>
Sent: Monday, August 5, 2019 2:13:04 PM
To: Tomas McGuinness <tomasmcguinness@...>
Subject: Re: [Zephyr-devel] Adafruit Feature nRF52 bit bang i2c

 

You need to add the bme280 to your device tree file. Something like:

 

&i2c0 {
        bme280@76 {
                compatible = "bosch,bme280";
                label = "BME280";
                reg = <0x76>;
        };

};

 

On Mon, Aug 5, 2019 at 3:04 PM Tomas McGuinness <tomasmcguinness@...> wrote:

Hello,

 

I’m quite new to Zephyr and I’m trying to connect a BME280 to an Adafruit Feature nRF52832. As the I2C device driver isn’t available on the Adafruit Feature nRF52832, I want to try and use the Big Bang approach. I’m using the latest build of Zephyr.

 

My prj.config includes these settings:

 

CONFIG_I2C=y

CONFIG_I2C_GPIO=y

 

CONFIG_SENSOR=y

CONFIG_BME280=y

 

When I try and build the project using west, I get

 

west build -b nrf52_adafruit_feather

 

In file included from C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c:24:

C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.h:111:2: error: #error "BME280 device type not specified"

#error "BME280 device type not specified"

  ^~~~~

C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c: In function 'bme280_init':

C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c:357:22: warning: unused variable 'data' [-Wunused-variable]

  struct bme280_data *data = dev->driver_data;

                      ^~~~

In file included from C:/Development/zephyrproject/zephyr/include/drivers/sensor.h:23,

                 from C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c:11:

C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c: At top level:

C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c:385:29: error: 'DT_INST_0_BOSCH_BME280_LABEL' undeclared here (not in a function); did you mean 'DT_INST_0_SOC_NV_FLASH_LABEL'?

DEVICE_AND_API_INIT(bme280, DT_INST_0_BOSCH_BME280_LABEL, bme280_init, &bme280_data,

                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

C:/Development/zephyrproject/zephyr/include/device.h:107:11: note: in definition of macro 'DEVICE_AND_API_INIT'

   .name = drv_name, .init = (init_fn),     \

           ^~~~~~~~

[79/177] Building C object zephyr/drivers/i2c/CMakeFiles/drivers__i2c.dir/i2c_gpio.c.obj

C:/Development/zephyrproject/zephyr/drivers/i2c/i2c_gpio.c:94:12: warning: 'i2c_gpio_init' defined but not used [-Wunused-function]

static int i2c_gpio_init(struct device *dev)

            ^~~~~~~~~~~~~

C:/Development/zephyrproject/zephyr/drivers/i2c/i2c_gpio.c:89:30: warning: 'api' defined but not used [-Wunused-variable]

static struct i2c_driver_api api = {

                              ^~~

 

I know the Adafruit supports I2c (since it marks two pins for it). I also look at a look at the dts file for this board and can see an etry:

 

&i2c0 {

                sda-pin = <25>;

                scl-pin = <26>;

};

 

Is support for the i2c device a work in progress?

 

Any help would be appreciated.

 

Sent from Mail for Windows 10

 

 

Re: STM32WB55 BLE address

Marcio Montenegro
 

Thanks, I'll check it out. 


On Wed, Aug 7, 2019, 13:57 Rob Weber <rob@...> wrote:
Hello,

On Tue, Aug 06, 2019 at 11:26:59AM -0300, Marcio Montenegro wrote:
> I am evaluating STM32WB55  board HCI driver.
> During my test I found that BLE  public address is  02:80:e1:00:00:00
> But this microcontroller has an internal flash register to store BLE
> address and device id.
> I would like to know the best way to change the address BLE in this case.
> Best regards,
> Marcio
>
> BLE Stack initialization:
>
> [00:00:00.015,000] <dbg> bt_settings.bt_settings_init:
> Bluetooth initialized
> Configuration mode: waiting connections...
> [00:00:00.187,000] <inf> bt_hci_core: Identity: 02:80:e1:00:00:00 (public)
> [00:00:00.187,000] <inf> bt_hci_core: HCI: version 5.0 (0x09) revision
> 0x0026, manufacturer 0x0030
> [00:00:00.187,000] <inf> bt_hci_core: LMP: version 5.0 (0x09) subver 0x2126
>
> Get correct BLE address:
>
> udn = LL_FLASH_GetUDN();
> if(udn != 0xFFFFFFFF)
> {
>     company_id = LL_FLASH_GetSTCompanyID();
>     device_id = LL_FLASH_GetDeviceID();
>
>     bd_addr_udn[0] = (uint8_t)(udn & 0x000000FF);
>     bd_addr_udn[1] = (uint8_t)( (udn & 0x0000FF00) >> 8 );
>     bd_addr_udn[2] = (uint8_t)( (udn & 0x00FF0000) >> 16 );
>     bd_addr_udn[3] = (uint8_t)device_id;
>     bd_addr_udn[4] = (uint8_t)(company_id & 0x000000FF);;
>     bd_addr_udn[5] = (uint8_t)( (company_id & 0x0000FF00) >> 8 );
>     bd_addr = (const uint8_t *)bd_addr_udn;
>
> }

I have not yet worked with any of the bluetooth APIs, but this thread
peaked my interest because I am also evaluating the STM32WB55 for an
upcoming project.

I did a quick search through the bluetooth API and found the function
bt_ctlr_set_public_addr [1]. I started digging into its implementation,
but I was not able to figure out how this function relates to the rest
of the bluetooth system, or how it relates to the STM32WB55 LL/HAL.

I would recommend trying this function to see if it meets your needs.
Please let me know if it works! I'm definitely curious to know how this
might work with the STM32WB55.

Cheers,
Rob Weber

[1] https://docs.zephyrproject.org/latest/reference/bluetooth/controller.html#_CPPv323bt_ctlr_set_public_addrPK4u8_t

Re: STM32WB55 BLE address

Rob Weber
 

Hello,

On Tue, Aug 06, 2019 at 11:26:59AM -0300, Marcio Montenegro wrote:
I am evaluating STM32WB55 board HCI driver.
During my test I found that BLE public address is 02:80:e1:00:00:00
But this microcontroller has an internal flash register to store BLE
address and device id.
I would like to know the best way to change the address BLE in this case.
Best regards,
Marcio

BLE Stack initialization:

[00:00:00.015,000] <dbg> bt_settings.bt_settings_init:
Bluetooth initialized
Configuration mode: waiting connections...
[00:00:00.187,000] <inf> bt_hci_core: Identity: 02:80:e1:00:00:00 (public)
[00:00:00.187,000] <inf> bt_hci_core: HCI: version 5.0 (0x09) revision
0x0026, manufacturer 0x0030
[00:00:00.187,000] <inf> bt_hci_core: LMP: version 5.0 (0x09) subver 0x2126

Get correct BLE address:

udn = LL_FLASH_GetUDN();
if(udn != 0xFFFFFFFF)
{
company_id = LL_FLASH_GetSTCompanyID();
device_id = LL_FLASH_GetDeviceID();

bd_addr_udn[0] = (uint8_t)(udn & 0x000000FF);
bd_addr_udn[1] = (uint8_t)( (udn & 0x0000FF00) >> 8 );
bd_addr_udn[2] = (uint8_t)( (udn & 0x00FF0000) >> 16 );
bd_addr_udn[3] = (uint8_t)device_id;
bd_addr_udn[4] = (uint8_t)(company_id & 0x000000FF);;
bd_addr_udn[5] = (uint8_t)( (company_id & 0x0000FF00) >> 8 );
bd_addr = (const uint8_t *)bd_addr_udn;

}
I have not yet worked with any of the bluetooth APIs, but this thread
peaked my interest because I am also evaluating the STM32WB55 for an
upcoming project.

I did a quick search through the bluetooth API and found the function
bt_ctlr_set_public_addr [1]. I started digging into its implementation,
but I was not able to figure out how this function relates to the rest
of the bluetooth system, or how it relates to the STM32WB55 LL/HAL.

I would recommend trying this function to see if it meets your needs.
Please let me know if it works! I'm definitely curious to know how this
might work with the STM32WB55.

Cheers,
Rob Weber

[1] https://docs.zephyrproject.org/latest/reference/bluetooth/controller.html#_CPPv323bt_ctlr_set_public_addrPK4u8_t

Re: Adafruit Feature nRF52 bit bang i2c

Benjamin Lindqvist
 

It's not easy to comment on what caused the usage fault without knowing what code is actually running on the device.


On Wed, Aug 7, 2019 at 3:02 PM Tomas McGuinness <tomasmcguinness@...> wrote:

Benjamin,

 

I added that entry to a file called nrf52_adafruit_feather.overlay

 

I had to add CONFIG_I2C_0=y to my proj file also, so it includes these settings now:

 

CONFIG_I2C=y

CONFIG_I2C_0=y

 

CONFIG_SENSOR=y

CONFIG_BME280=y

 

However, when I flash the adafruit, I get a serious looking error message:

 

***** Booting Zephyr OS build zephyr-v1.14.0-2748-g4eb85176e325 *****

Simple Light

[00:00:00.012,939] <err> os: ***** USAGE FAULT *****

[00:00:00.012,939] <err> os:   Attempt to execute undefined instruction

[00:00:00.012,969] <err> os: r0/a1:  0x20004324  r1/a2:  0x0000000a  r2/a3:  0x0000d4e6

[00:00:00.013,000] <err> os: r3/a4:  0x20001d28 r12/ip:  0x20001c94 r14/lr:  0x00000aab

[00:00:00.013,000] <err> os:  xpsr:  0x61000000

[00:00:00.013,031] <err> os: Faulting instruction address (r15/pc): 0x00000aba

[00:00:00.013,031] <err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception

[00:00:00.013,031] <err> os: Current thread: 0x20000f54 (unknown)

[00:00:00.072,937] <err> os: Halting system

 

Sent from Mail for Windows 10

 


From: Benjamin Lindqvist <benjamin.lindqvist@...>
Sent: Monday, August 5, 2019 2:13:04 PM
To: Tomas McGuinness <tomasmcguinness@...>
Subject: Re: [Zephyr-devel] Adafruit Feature nRF52 bit bang i2c
 
You need to add the bme280 to your device tree file. Something like:

&i2c0 {
        bme280@76 {
                compatible = "bosch,bme280";
                label = "BME280";
                reg = <0x76>;
        };
};

On Mon, Aug 5, 2019 at 3:04 PM Tomas McGuinness <tomasmcguinness@...> wrote:

Hello,

 

I’m quite new to Zephyr and I’m trying to connect a BME280 to an Adafruit Feature nRF52832. As the I2C device driver isn’t available on the Adafruit Feature nRF52832, I want to try and use the Big Bang approach. I’m using the latest build of Zephyr.

 

My prj.config includes these settings:

 

CONFIG_I2C=y

CONFIG_I2C_GPIO=y

 

CONFIG_SENSOR=y

CONFIG_BME280=y

 

When I try and build the project using west, I get

 

west build -b nrf52_adafruit_feather

 

In file included from C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c:24:

C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.h:111:2: error: #error "BME280 device type not specified"

#error "BME280 device type not specified"

  ^~~~~

C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c: In function 'bme280_init':

C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c:357:22: warning: unused variable 'data' [-Wunused-variable]

  struct bme280_data *data = dev->driver_data;

                      ^~~~

In file included from C:/Development/zephyrproject/zephyr/include/drivers/sensor.h:23,

                 from C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c:11:

C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c: At top level:

C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c:385:29: error: 'DT_INST_0_BOSCH_BME280_LABEL' undeclared here (not in a function); did you mean 'DT_INST_0_SOC_NV_FLASH_LABEL'?

DEVICE_AND_API_INIT(bme280, DT_INST_0_BOSCH_BME280_LABEL, bme280_init, &bme280_data,

                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

C:/Development/zephyrproject/zephyr/include/device.h:107:11: note: in definition of macro 'DEVICE_AND_API_INIT'

   .name = drv_name, .init = (init_fn),     \

           ^~~~~~~~

[79/177] Building C object zephyr/drivers/i2c/CMakeFiles/drivers__i2c.dir/i2c_gpio.c.obj

C:/Development/zephyrproject/zephyr/drivers/i2c/i2c_gpio.c:94:12: warning: 'i2c_gpio_init' defined but not used [-Wunused-function]

static int i2c_gpio_init(struct device *dev)

            ^~~~~~~~~~~~~

C:/Development/zephyrproject/zephyr/drivers/i2c/i2c_gpio.c:89:30: warning: 'api' defined but not used [-Wunused-variable]

static struct i2c_driver_api api = {

                              ^~~

 

I know the Adafruit supports I2c (since it marks two pins for it). I also look at a look at the dts file for this board and can see an etry:

 

&i2c0 {

                sda-pin = <25>;

                scl-pin = <26>;

};

 

Is support for the i2c device a work in progress?

 

Any help would be appreciated.

 

Sent from Mail for Windows 10

 

Re: Adafruit Feature nRF52 bit bang i2c

Tomas McGuinness <tomasmcguinness@...>
 

Benjamin,

 

I added that entry to a file called nrf52_adafruit_feather.overlay

 

I had to add CONFIG_I2C_0=y to my proj file also, so it includes these settings now:

 

CONFIG_I2C=y

CONFIG_I2C_0=y

 

CONFIG_SENSOR=y

CONFIG_BME280=y

 

However, when I flash the adafruit, I get a serious looking error message:

 

***** Booting Zephyr OS build zephyr-v1.14.0-2748-g4eb85176e325 *****

Simple Light

[00:00:00.012,939] <err> os: ***** USAGE FAULT *****

[00:00:00.012,939] <err> os:   Attempt to execute undefined instruction

[00:00:00.012,969] <err> os: r0/a1:  0x20004324  r1/a2:  0x0000000a  r2/a3:  0x0000d4e6

[00:00:00.013,000] <err> os: r3/a4:  0x20001d28 r12/ip:  0x20001c94 r14/lr:  0x00000aab

[00:00:00.013,000] <err> os:  xpsr:  0x61000000

[00:00:00.013,031] <err> os: Faulting instruction address (r15/pc): 0x00000aba

[00:00:00.013,031] <err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception

[00:00:00.013,031] <err> os: Current thread: 0x20000f54 (unknown)

[00:00:00.072,937] <err> os: Halting system

 

Sent from Mail for Windows 10

 


From: Benjamin Lindqvist <benjamin.lindqvist@...>
Sent: Monday, August 5, 2019 2:13:04 PM
To: Tomas McGuinness <tomasmcguinness@...>
Subject: Re: [Zephyr-devel] Adafruit Feature nRF52 bit bang i2c
 
You need to add the bme280 to your device tree file. Something like:

&i2c0 {
        bme280@76 {
                compatible = "bosch,bme280";
                label = "BME280";
                reg = <0x76>;
        };
};

On Mon, Aug 5, 2019 at 3:04 PM Tomas McGuinness <tomasmcguinness@...> wrote:

Hello,

 

I’m quite new to Zephyr and I’m trying to connect a BME280 to an Adafruit Feature nRF52832. As the I2C device driver isn’t available on the Adafruit Feature nRF52832, I want to try and use the Big Bang approach. I’m using the latest build of Zephyr.

 

My prj.config includes these settings:

 

CONFIG_I2C=y

CONFIG_I2C_GPIO=y

 

CONFIG_SENSOR=y

CONFIG_BME280=y

 

When I try and build the project using west, I get

 

west build -b nrf52_adafruit_feather

 

In file included from C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c:24:

C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.h:111:2: error: #error "BME280 device type not specified"

#error "BME280 device type not specified"

  ^~~~~

C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c: In function 'bme280_init':

C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c:357:22: warning: unused variable 'data' [-Wunused-variable]

  struct bme280_data *data = dev->driver_data;

                      ^~~~

In file included from C:/Development/zephyrproject/zephyr/include/drivers/sensor.h:23,

                 from C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c:11:

C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c: At top level:

C:/Development/zephyrproject/zephyr/drivers/sensor/bme280/bme280.c:385:29: error: 'DT_INST_0_BOSCH_BME280_LABEL' undeclared here (not in a function); did you mean 'DT_INST_0_SOC_NV_FLASH_LABEL'?

DEVICE_AND_API_INIT(bme280, DT_INST_0_BOSCH_BME280_LABEL, bme280_init, &bme280_data,

                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

C:/Development/zephyrproject/zephyr/include/device.h:107:11: note: in definition of macro 'DEVICE_AND_API_INIT'

   .name = drv_name, .init = (init_fn),     \

           ^~~~~~~~

[79/177] Building C object zephyr/drivers/i2c/CMakeFiles/drivers__i2c.dir/i2c_gpio.c.obj

C:/Development/zephyrproject/zephyr/drivers/i2c/i2c_gpio.c:94:12: warning: 'i2c_gpio_init' defined but not used [-Wunused-function]

static int i2c_gpio_init(struct device *dev)

            ^~~~~~~~~~~~~

C:/Development/zephyrproject/zephyr/drivers/i2c/i2c_gpio.c:89:30: warning: 'api' defined but not used [-Wunused-variable]

static struct i2c_driver_api api = {

                              ^~~

 

I know the Adafruit supports I2c (since it marks two pins for it). I also look at a look at the dts file for this board and can see an etry:

 

&i2c0 {

                sda-pin = <25>;

                scl-pin = <26>;

};

 

Is support for the i2c device a work in progress?

 

Any help would be appreciated.

 

Sent from Mail for Windows 10

 

Upcoming Event: Zephyr Project: APIs - Tue, 08/06/2019 9:00am-10:00am, Please RSVP #cal-reminder

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

Reminder: Zephyr Project: APIs

When: Tuesday, 6 August 2019, 9:00am to 10:00am, (GMT-07:00) America/Los Angeles

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

An RSVP is requested. Click here to RSVP

Organizer: devel@...

Description: Join from PC, Mac, Linux, iOS or Android: https://zoom.us/j/177647878

Or iPhone one-tap :
    US: +16465588656,,177647878# or +16699006833,,177647878# 
Or Telephone:
    Dial(for higher quality, dial a number based on your current location): 
        US: +1 646 558 8656 or +1 669 900 6833 or +1 855 880 1246 (Toll Free) or +1 877 369 0926 (Toll Free)
    Meeting ID: 177 647 878
    International numbers available: https://zoom.us/zoomconference?m=ioAR9GK1OE5LkN1ojt-heTCl7yPcJrhY


 Live meeting minutes: https://docs.google.com/document/d/1lv-8B5QE2m4FjBcvfqAXFIgQfW5oz6306zJ7GIZIWCk/edit?usp=sharing

STM32WB55 BLE address

Marcio Montenegro
 

Hi all,
I am evaluating STM32WB55  board HCI driver.
During my test I found that BLE  public address is  02:80:e1:00:00:00
But this microcontroller has an internal flash register to store BLE address and device id.
I would like to know the best way to change the address BLE in this case.
Best regards,
Marcio 

BLE Stack initialization:

[00:00:00.015,000] <dbg> bt_settings.bt_settings_init:
Bluetooth initialized
Configuration mode: waiting connections...
[00:00:00.187,000] <inf> bt_hci_core: Identity: 02:80:e1:00:00:00 (public)
[00:00:00.187,000] <inf> bt_hci_core: HCI: version 5.0 (0x09) revision 0x0026, manufacturer 0x0030
[00:00:00.187,000] <inf> bt_hci_core: LMP: version 5.0 (0x09) subver 0x2126

Get correct BLE address:

udn = LL_FLASH_GetUDN();
if(udn != 0xFFFFFFFF)
{
    company_id = LL_FLASH_GetSTCompanyID();
    device_id = LL_FLASH_GetDeviceID();
 
    bd_addr_udn[0] = (uint8_t)(udn & 0x000000FF);
    bd_addr_udn[1] = (uint8_t)( (udn & 0x0000FF00) >> 8 );
    bd_addr_udn[2] = (uint8_t)( (udn & 0x00FF0000) >> 16 );
    bd_addr_udn[3] = (uint8_t)device_id;
    bd_addr_udn[4] = (uint8_t)(company_id & 0x000000FF);;
    bd_addr_udn[5] = (uint8_t)( (company_id & 0x0000FF00) >> 8 );
    bd_addr = (const uint8_t *)bd_addr_udn;

}

API meeting: Agenda

Cufi, Carles
 

Hi all,

This week we will look at:

Agenda:

- GPIO: Quick confirmation of API suitability
* See: https://github.com/zephyrproject-rtos/zephyr/issues/15611#issuecomment-516488369

- Sensor API: Update on progress if contributors present

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

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

Regards,

Carles