Date   

5.48 tar.gz package is missing the mesh JSON files

Martin Woolley <mwoolley@...>
 

It looks like the 5.48 tar.gz download file is missing the local_node.json  and prov_db.json files which meshctl looks for.


nRF Sniffer

Chettimada, Vinayak Kariappa
 

Hi,

This e-mail is only for information.
In a recent email chain, I had mentioned nRF Sniffer.
If you own a nRF51 dongle/DK or nRF52832 PCA10040 DK, you have a free simple Bluetooth Low Energy packet sniffer.


I had used older sniffer for nRF51 dongle on Windows OS with no issues before. 
Today I installed it on my Mac Book Pro macOS High Sierra for PCA10040 nRF52832 board without any issues, in very simple steps as described in the User Guide.

The sniffer works seamlessly when using Wireshark, my observations:
- The documented LED1 is off on PCA10040, LED2 keeps blinking when it is sniffer all advertising.
- LED2 is off, LED1 is blinking for every packet (Adv or Connected) sniffing/following a particular device when selected in Wireshark.

Regards,
Vinayak

- LED2 will blink a lot, will not be surprised, every place in the world with a smart phone around, more than 5 BLE devices advertising in a 10m diameter around you!  


Re: [Zephyr-devel] How to make Zephyr Based BLE device'd MAC address static ?

Vikrant More <vikrant8051@...>
 

Hi Johan,

Thanks for clarification.

But what to add or modify so that, we can avoid pairing of Device after every reset ?

How to take control of (6 digits ) pairing key, instead of generating random one ?

Regards,
vikrant8051


On Tue, Feb 13, 2018 at 10:43 PM, Johan Hedberg <johan.hedberg@...> wrote:
Hi Vikrant,

On Tue, Feb 13, 2018, Vikrant More wrote:
> Using available Zephyr Bluetooth APIs, I've develop BLE Device which is
> compatible with Nordic Blinky App. I'm doing testing on nrf52840-PDK board.
>
> But after every reset, it's MAC address gets changed with random one. How
> to make it static, so that no need of pairing with smartphone again & again
> ?
>
> How to take control of pairing key, instead of generating random one ?

All nRF boards *should* be using a static random identity address that's
read out from the FICR, i.e. you should then see the same address
printed out to the console every time Bluetooth initializes (assuming
you have a console, and CONFIG_BT_DEBUG_LOG=y). That said, if you have
CONFIG_BT_PRIVACY=y, then a Resolvable Private Address will be used, and
remote devices can only resolve this to the identity address after
pairing.

Johan


Re: [Zephyr-devel] How to make Zephyr Based BLE device'd MAC address static ?

Johan Hedberg
 

Hi Vikrant,

On Tue, Feb 13, 2018, Vikrant More wrote:
Using available Zephyr Bluetooth APIs, I've develop BLE Device which is
compatible with Nordic Blinky App. I'm doing testing on nrf52840-PDK board.

But after every reset, it's MAC address gets changed with random one. How
to make it static, so that no need of pairing with smartphone again & again
?

How to take control of pairing key, instead of generating random one ?
All nRF boards *should* be using a static random identity address that's
read out from the FICR, i.e. you should then see the same address
printed out to the console every time Bluetooth initializes (assuming
you have a console, and CONFIG_BT_DEBUG_LOG=y). That said, if you have
CONFIG_BT_PRIVACY=y, then a Resolvable Private Address will be used, and
remote devices can only resolve this to the identity address after
pairing.

Johan


Zephyr BLE Device pairing

Vikrant More <vikrant8051@...>
 

Hello, 


I wanna do pairing of my nrf52840-PDK based BLE device (with nRF Blinky Service) with smartphone using method describe in above video link. 

How to achieve it, so that as soon as PDK receive pairing request from smartphone onboard Led4 should turn ON and by just pressing Button4 it should paired with smartphone ?

Plus Device should go in pairing mode only after pressing Button3 on PDK board.

Is this possible, with available Zephyr Bluetooth APIs ?

In this method, is distance between Device & smartphone matter ?

Is it secure method ?

Thank You !!


How to make Zephyr Based BLE device'd MAC address static ?

Vikrant More <vikrant8051@...>
 

Hello,

Using available Zephyr Bluetooth APIs, I've develop BLE Device which is compatible with Nordic Blinky App. I'm doing testing on nrf52840-PDK board.

But after every reset, it's MAC address gets changed with random one. How to make it static, so that no need of pairing with smartphone again & again ?

How to take control of pairing key, instead of generating random one ?

Thank You !!


Installing matrix library in c in zephyr

ashish.shukla@corvi.com <ashish.shukla@...>
 

Hi everyone,

I've to work with matrix operations, It's difficult to write my own functions correctly.

Can someone suggest some workaround for the same?

Is it possible to compile python code along with c ?

--
Warm regards,
Ashish Shukla
Jr. Embedded Engineer
Research & Development


Please consider the environment before printing this e-mail or its attachments.

Disclaimer: The information contained herein (including any accompanying documents) is confidential and is intended solely for the addressee(s). If you have erroneously received this message, please immediately delete it and notify the sender. Also, if you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or taking any action in reliance on the contents of this message or any accompanying document is strictly prohibited and is unlawful. The organization is not responsible for any damage caused by a virus or alteration of the e-mail by a third party or otherwise. The contents of this message may not necessarily represent the views or policies of Corvi


Re: Securing BLE device Services & Characteristics from unauthorized user

Luiz Augusto von Dentz
 

Hi Vikrant,

On Mon, Feb 12, 2018 at 2:34 PM, Vikrant More <vikrant8051@gmail.com> wrote:
Hello World !!

Suppose there is BLE device with following custom characteristics -
1. main
2. enc_text
3. plain_text
4. aes_key

"enc_text" characteristic receives 16 bytes of encrypted string.

"plain_text" characteristic receives 16 bytes of plain string.

"aes_key" characteristic receives 16 bytes of AES key.

int bt_encrypt_le(constu8_t key[16], const8_t plaintext[16], u8_t
enc_data[16])

Using this function I'm planning to encrypting received plain string & gonna
compare its output with
received encrypted string.

If both matches, then only "main" characteristic accepts data from client.

But what type of AES encryption is used behind this bt_encrypt_le( ) ?

How to disconnect BLE connection from BLE Device side ?

I wanna show "aes_key" characteristic only after device is in factory-reset
mode.
Once it receive AES key from user, it should disappear. How to do that ?
You will have to add a service containing the characteristic which
probably comes from a different application than the 'normal' mode,
now regarding the AES key exchange I don't think that would be secure
enough so you might as well just add a characteristic that requires
encryption and then once the app attempts to write triggers pairing,
if that manages to create a valid key and write is complete, it can be
any value really since it will be protected by having to pair, then
you can restart on normal mode.


Thanks !!




_______________________________________________
Zephyr-users mailing list
Zephyr-users@lists.zephyrproject.org
https://lists.zephyrproject.org/mailman/listinfo/zephyr-users


--
Luiz Augusto von Dentz


Porting the kernel to happy gecko

Cosmin Mihai
 

In order to make the microkernel work on Happy Gecko do I have to replicate the zephyr/ext/hal/silabs/gecko/Device/SiliconLabs/EFM32WG folder to zephyr/ext/hal/silabs/gecko/Device/SiliconLabs/EFM32HG and configure every define in every .h file? It looks like a lot of configuration to do and it looks like It is hard to debug in case of a mistake.


[ #BluetoothMesh ] possible Bug .. without assigning subscription address to Model, it is reacting to subscription address assign to other Model #bluetoothmesh

Vikrant More <vikrant8051@...>
 

Hello World !!

This is observation based on following configuration done by #meshctl.
Two nRF52840-PDK boards has been used for it.

For Board 1. after provisioning, I used following commands to configure it
**************************************************************************************

appkey-add 1

bind 0 1 1000
bind 0 1 1001
bind 0 1 1002
bind 0 1 1003

sub-add 0100 c000 1000
pub-set 0100 c000 1 0 5 1001

sub-add 0100 c000 1002
pub-set 0100 c000 1 0 5 1003


For Board 2. after provisioning, I used following commands to configure it
**************************************************************************************

appkey-add 1

bind 0 1 1000
bind 0 1 1001
bind 0 1 1002
bind 0 1 1003

sub-add 0101 c000 1000
pub-set 0101 c000 1 0 5 1001

In case of Board 2, I didn't assign pub & sub addresses to Models 1002 & 1003

**************************************************************************************

Button 1 & 2 are related to GEN_ONOFF_CLIENT
Button 3 & 4 are related to GEN_LEVEL_CLIENT

As per my implementation,
1. if Button 1 is pressed, then LED1 on all Boards turns ON.

2. if Button 2 is pressed, then LED1 on all Boards turns OFF.

3.if Button 3 is pressed, then it publishes value for eg. 2000.
   On subscriber side, it checks that value (since it is less than 10000 it turns ON LED3 & turns OFF LED4 )

4. if Button 4 is pressed, then it publishes value for eg. 15000.
   On subscriber side, it checks that value (since it is greater than 10000 it turns OFF LED 3 & turns ON LED4)

******************************************************************************************

Ideally, as per #meshctl configuration,

if I pressed Button1 on any board, then LED1 on all boards should turn ON & if pressed
pressed Button2 then LED1 should OFF.

And if I pressed Button3 or Button4 on Board1, it should affect LED3&4 only on Board1(self).

And if I pressed Button3 or Button4 on Board2, it should not affect LEDs on any Board.

********************************************************************************************

But here, I found strange behavior in case of Board2. Here without assigning subscription
addresses to Model 1002, LED 3 & LED 4 on Board2 are reacting as soon as I pressed
Button 3&4 on Board 1.


Is it Bug ?

Thank You !!


[ #BluetoothMesh ] possible Bug .. without assigning subscription address to Model, it is reacting to subscription address assign to other Model #bluetoothmesh

Vikrant More <vikrant8051@...>
 

This is observation based on following configuration done by #meshctl.
Two nRF52840-PDK boards has been used for it.

For Board 1. after provisioning, I used following commands to configure it
**************************************************************************************

appkey-add 1

bind 0 1 1000
bind 0 1 1001
bind 0 1 1002
bind 0 1 1003

sub-add 0100 c000 1000
pub-set 0100 c000 1 0 5 1001

sub-add 0100 c000 1002
pub-set 0100 c000 1 0 5 1003


For Board 2. after provisioning, I used following commands to configure it
**************************************************************************************

appkey-add 1

bind 0 1 1000
bind 0 1 1001
bind 0 1 1002
bind 0 1 1003

sub-add 0100 c000 1000
pub-set 0100 c000 1 0 5 1001

In case of Board 2, I didn't assign pub & sub addresses to Models 1002 & 1003

**************************************************************************************

Button 1 & 2 are related to GEN_ONOFF_CLIENT
Button 3 & 4 are related to GEN_LEVEL_CLIENT

As per my coding,
1. if Button 1 is pressed, then LED1 on all Boards turns ON.

2. if Button 2 is pressed, then LED1 on all Boards turns OFF.

3.if Button 3 is pressed, then it publishes value for eg. 2000.
   On subscriber side, it checks that value (since it is less than 10000 it turns ON LED3 & turns OFF LED4 )

4. if Button 4 is pressed, then it publishes value for eg. 15000.
   On subscriber side, it checks that value (since it is greater than 10000 it turns OFF LED 3 & turns ON LED4)

******************************************************************************************

Ideally, as per #meshctl configuration,

if I pressed Button1 on any board, then LED1 on all boards should turn ON & if pressed
pressed Button2 then LED1 should OFF.

And if I pressed Button3 or Button4 on Board1, it should affect LED3&4 on only self Board.

And if I pressed Button3 or Button4 on Board2, it should not affect LEDs on any Board.

********************************************************************************************

But here, I found strange behavior in case of Board2. Here without assigning subscription
addresses to Model 1002, LED 3 & LED 4 on Board 2 are reacting as soon as I pressed
Button 3&4 on Board 1. 

 


Securing BLE device Services & Characteristics from unauthorized user

Vikrant More <vikrant8051@...>
 

Hello World !!

Suppose there is BLE device with following custom characteristics -
1. main
2. enc_text
3. plain_text
4. aes_key

"enc_text" characteristic receives 16 bytes of encrypted string.

"plain_text" characteristic receives 16 bytes of plain string.

"aes_key" characteristic receives 16 bytes of AES key.

int bt_encrypt_le(constu8_t key[16], const8_t plaintext[16], u8_t enc_data[16])

Using this function I'm planning to encrypting received plain string & gonna compare its output with
received encrypted string.

If both matches, then only "main" characteristic accepts data from client.

But what type of AES encryption is used behind this bt_encrypt_le( ) ?

How to disconnect BLE connection from BLE Device side ?

I wanna show "aes_key" characteristic only after device is in factory-reset mode.
Once it receive AES key from user, it should disappear. How to do that ?


Thanks !!




Re: commit guidelines

Carles Cufi
 

Hi Marcio,

 

The SHA-id portion of those instructions only applies if you are importing something into “ext/” from a 3rd-party git repository. If instead this comes from a downloadable zip file or any other source then that bit does not apply at all. The idea is to be able to identify and track the exact origin of the software you are importing.

 

Regards,

 

Carles

 

From: zephyr-users-bounces@... [mailto:zephyr-users-bounces@...] On Behalf Of Marcio Montenegro
Sent: 12 February 2018 12:28
To: zephyr-users@...
Subject: [Zephyr-users] commit guidelines

 

Hi all,

 

According  zephyr guideline below I need to include " SHA-id of the origin commit" on commit message.

 

 

It is not clear where to get this information (SHA-id ).

I am trying to commit support for Silabs EMF32HG family.Its very similar to commit below:

 

 

Best regards,

Marcio Montenegro

 


Porting to Happy Gecko

Cosmin Mihai
 

Hi,

What should I change within the project in order to make the microkernel to work for the happy gecko?

I need a minimal change such that the microkernel works.

Thank you


commit guidelines

Marcio Montenegro
 

Hi all,

According  zephyr guideline below I need to include " SHA-id of the origin commit" on commit message.


It is not clear where to get this information (SHA-id ).
I am trying to commit support for Silabs EMF32HG family.Its very similar to commit below:


Best regards,
Marcio Montenegro


SFCB to save persistence data for #bluetoothmesh

Vikrant More <vikrant8051@...>
 

Hi Johan,

Is SFCB better option than NFFS to save #BluetoothMesh's persistence data ?
Will it help us in case of nRF51 series which has limited flash storage ?

Thank You !!



---------- Forwarded message ----------
From: Laczen JMS <laczenjms@...>
Date: Sat, Feb 10, 2018 at 2:30 PM
Subject: Re: [Zephyr-devel] [Zephyr-users] Power Configuration of nrf52840 (Vikrant More)
To: zephyr-devel@...


Hi Vikrant,

NFFS file system might not be a good choice to store frequently changing data.

For this case I have created a library called sfcb that you can find
in my zephyr project fork: https://github.com/Laczen/zephyr. The sfcb
(simple flash circular buffer) allows you to store data in a series of
sectors in flash.

All data is stored as a identifier-value pair, the identifier is a 16
bit value, the data can be anything from a byte to a very long string
of bytes (limited by the sector size). By writing a new
identifier-value pair the previous pair with the same identifier is
considered overwritten.

When all the available sectors have been used the library does a
garbage collection phase before erasing a sector. In this phase it
makes sure that there is at least one identifier-value pair for each
identifier.

The library allows you to combine almost constant data: node address,
netkeys, groups together with frequently changing data: sequence
number, iv_index into one storage solution, without wearing out flash
to fast. The almost constant data could be stored into one
identifier-value pair, the frequently changing in a different
identifier-value pair. Of course for the sequence number you will need
to avoid storing it for every change.

It can also be used in different cases where you would like to combine
the storage of network address, device name, ... in combination with
the device state (e.g. light switched on) in the same storage
solution.

Another use of the library is to consider the identifier as a file
name and the value as file contents.

In my zephyr project fork you can find a simple example in samples/subsys/sfcb.

Kind regards,

Jehudi



Re: [Zephyr-devel] Power Configuration of nrf52840

Chettimada, Vinayak Kariappa
 

1. Correction, values in UICR are at fixed location, changing them is not needed on every power up of the board.That said, after a change, a power cycle is need for h/w to load the new values. And yes, if you erase and flash UICR, its same as erase and flash a new firmware.
2. For your use case of storing frequently changing data, you need some sort of wear leveling. 


On 10 Feb 2018, at 07:17, Vikrant More <vikrant8051@...> wrote:

But nrf52 flash support 10K write cycle. And it is like normal programming, isn't it ?

Worrying after reading your this statement, since I'm now trying to save persistent data which generate during working of #BluetoothMesh on flash of nRF52.

I used NFFS file system for testing. 

On Feb 10, 2018 10:57 AM, "Chettimada, Vinayak Kariappa" <vinayak.kariappa.chettimada@...> wrote:
Hope you are doing it “only once per board’s life time” else you could be degrading the flash. Hence, my advice is to use nrfjprog to make the change "only once" per each board or use the design in soc.c wherein the value is first compared before writing.

-Vinayak

On 9 Feb 2018, at 07:20, ashish.shukla@... wrote:

Thanks everyone !!!

Adding these lines does the job. 

 NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen;
    while (NRF_NVMC->READY == NVMC_READY_READY_Busy){
    }

    NRF_UICR->EXTSUPPLY = 0x01;
    while (NRF_NVMC->READY == NVMC_READY_READY_Busy){
    } 

    NRF_UICR->REGOUT0 = 0x05;
    while (NRF_NVMC->READY == NVMC_READY_READY_Busy){
    }

    NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren;
    while (NRF_NVMC->READY == NVMC_READY_READY_Busy)
    {
    }


--
Warm regards,
Ashish Shukla
Jr. Embedded Engineer
Research & Development


Please consider the environment before printing this e-mail or its attachments.

Disclaimer: The information contained herein (including any accompanying documents) is confidential and is intended solely for the addressee(s). If you have erroneously received this message, please immediately delete it and notify the sender. Also, if you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or taking any action in reliance on the contents of this message or any accompanying document is strictly prohibited and is unlawful. The organization is not responsible for any damage caused by a virus or alteration of the e-mail by a third party or otherwise. The contents of this message may not necessarily represent the views or policies of Corvi


On Thu, Feb 8, 2018 at 12:17 AM, Vinayak Kariappa <vinayak.kariappa@gmail.com> wrote:
Hi Ashish,

UICR is Flash, you need to do something similar to in soc.c done for reset pin config. Or use nrfjprog to write values to UICR


On 7 Feb 2018, at 12:04, "ashish.shukla@..." <ashish.shukla@...> wrote:

Hi,

Yes, I'm working in high voltage mode.  VDDH = 3.6V 

Then, I added following lines 

NRF_POWER->DCDCEN0 = 0x01;  // Enabling DC/DC for stage REG0
NRF_POWER->DCDCEN = 0x01;   // Enabling DC/DC for stage REG1 

Again, as you suggested 

NRF_UICR->EXTSUPPLY = 0x01;  
NRF_UICR->REGOUT0 = 0x05;

After adding these lines at starting of main() function, It still measures 1.8V. 


--
Warm regards,
Ashish Shukla
Jr. Embedded Engineer
Research & Development


Please consider the environment before printing this e-mail or its attachments.

Disclaimer: The information contained herein (including any accompanying documents) is confidential and is intended solely for the addressee(s). If you have erroneously received this message, please immediately delete it and notify the sender. Also, if you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or taking any action in reliance on the contents of this message or any accompanying document is strictly prohibited and is unlawful. The organization is not responsible for any damage caused by a virus or alteration of the e-mail by a third party or otherwise. The contents of this message may not necessarily represent the views or policies of Corvi


On Wed, Feb 7, 2018 at 4:16 PM, Puzdrowski, Andrzej <Andrzej.Puzdrowski@nordicsemi.no> wrote:

Hi

So you must have supplied nRF52840 from VDDH pin – so it power regulator circuit works in high voltage mode.

 

Then internal regulator generate the GPIO output voltage:

You need to set UICR->REGOUT0 properly, 5 is proper value for select 3.3 V

 

For more info see nRF52840 OPS, especjali POWER chapter

 

Andrzej

 

From: zephyr-devel-bounces@lists.zephyrproject.org [mailto:zephyr-devel-bounces@lists.zephyrproject.org] On Behalf Of ashish.shukla@...
Sent: Wednesday, February 07, 2018 8:22 AM
To: zephyr-devel@lists.zephyrproject.org; zephyr-users@...
Subject: [Zephyr-devel] Power Configuration of nrf52840

 

Hello everyone !!! 

I'm working with custom PCB of nrf52840. I need to set VDD voltage which is also GPIO high level voltage equals to 3.3V, otherwise it's 1.8V by default.


How can I configure this? 

or 

How can I access registers of nrf52840 in zephyr architecture?    

 

 

--

Warm regards,
Ashish Shukla

Jr. Embedded Engineer

Research & Development

 

Please consider the environment before printing this e-mail or its attachments.

 

Disclaimer: The information contained herein (including any accompanying documents) is confidential and is intended solely for the addressee(s). If you have erroneously received this message, please immediately delete it and notify the sender. Also, if you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or taking any action in reliance on the contents of this message or any accompanying document is strictly prohibited and is unlawful. The organization is not responsible for any damage caused by a virus or alteration of the e-mail by a third party or otherwise. The contents of this message may not necessarily represent the views or policies of Corvi

 


_______________________________________________
Zephyr-users mailing list
Zephyr-users@...ct.org
https://lists.zephyrproject.org/mailman/listinfo/zephyr-users

_______________________________________________
Zephyr-devel mailing list
Zephyr-devel@lists.zephyrproject.org
https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel


_______________________________________________
Zephyr-users mailing list
Zephyr-users@lists.zephyrproject.org
https://lists.zephyrproject.org/mailman/listinfo/zephyr-users



Re: [Zephyr-devel] Power Configuration of nrf52840

Vikrant More <vikrant8051@...>
 

But nrf52 flash support 10K write cycle. And it is like normal programming, isn't it ?

Worrying after reading your this statement, since I'm now trying to save persistent data which generate during working of #BluetoothMesh on flash of nRF52.

I used NFFS file system for testing. 

On Feb 10, 2018 10:57 AM, "Chettimada, Vinayak Kariappa" <vinayak.kariappa.chettimada@...> wrote:
Hope you are doing it “only once per board’s life time” else you could be degrading the flash. Hence, my advice is to use nrfjprog to make the change "only once" per each board or use the design in soc.c wherein the value is first compared before writing.

-Vinayak

On 9 Feb 2018, at 07:20, ashish.shukla@... wrote:

Thanks everyone !!!

Adding these lines does the job. 

 NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen;
    while (NRF_NVMC->READY == NVMC_READY_READY_Busy){
    }

    NRF_UICR->EXTSUPPLY = 0x01;
    while (NRF_NVMC->READY == NVMC_READY_READY_Busy){
    } 

    NRF_UICR->REGOUT0 = 0x05;
    while (NRF_NVMC->READY == NVMC_READY_READY_Busy){
    }

    NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren;
    while (NRF_NVMC->READY == NVMC_READY_READY_Busy)
    {
    }


--
Warm regards,
Ashish Shukla
Jr. Embedded Engineer
Research & Development


Please consider the environment before printing this e-mail or its attachments.

Disclaimer: The information contained herein (including any accompanying documents) is confidential and is intended solely for the addressee(s). If you have erroneously received this message, please immediately delete it and notify the sender. Also, if you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or taking any action in reliance on the contents of this message or any accompanying document is strictly prohibited and is unlawful. The organization is not responsible for any damage caused by a virus or alteration of the e-mail by a third party or otherwise. The contents of this message may not necessarily represent the views or policies of Corvi


On Thu, Feb 8, 2018 at 12:17 AM, Vinayak Kariappa <vinayak.kariappa@gmail.com> wrote:
Hi Ashish,

UICR is Flash, you need to do something similar to in soc.c done for reset pin config. Or use nrfjprog to write values to UICR


On 7 Feb 2018, at 12:04, "ashish.shukla@..." <ashish.shukla@...> wrote:

Hi,

Yes, I'm working in high voltage mode.  VDDH = 3.6V 

Then, I added following lines 

NRF_POWER->DCDCEN0 = 0x01;  // Enabling DC/DC for stage REG0
NRF_POWER->DCDCEN = 0x01;   // Enabling DC/DC for stage REG1 

Again, as you suggested 

NRF_UICR->EXTSUPPLY = 0x01;  
NRF_UICR->REGOUT0 = 0x05;

After adding these lines at starting of main() function, It still measures 1.8V. 


--
Warm regards,
Ashish Shukla
Jr. Embedded Engineer
Research & Development


Please consider the environment before printing this e-mail or its attachments.

Disclaimer: The information contained herein (including any accompanying documents) is confidential and is intended solely for the addressee(s). If you have erroneously received this message, please immediately delete it and notify the sender. Also, if you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or taking any action in reliance on the contents of this message or any accompanying document is strictly prohibited and is unlawful. The organization is not responsible for any damage caused by a virus or alteration of the e-mail by a third party or otherwise. The contents of this message may not necessarily represent the views or policies of Corvi


On Wed, Feb 7, 2018 at 4:16 PM, Puzdrowski, Andrzej <Andrzej.Puzdrowski@nordicsemi.no> wrote:

Hi

So you must have supplied nRF52840 from VDDH pin – so it power regulator circuit works in high voltage mode.

 

Then internal regulator generate the GPIO output voltage:

You need to set UICR->REGOUT0 properly, 5 is proper value for select 3.3 V

 

For more info see nRF52840 OPS, especjali POWER chapter

 

Andrzej

 

From: zephyr-devel-bounces@lists.zephyrproject.org [mailto:zephyr-devel-bounces@lists.zephyrproject.org] On Behalf Of ashish.shukla@...
Sent: Wednesday, February 07, 2018 8:22 AM
To: zephyr-devel@lists.zephyrproject.org; zephyr-users@...
Subject: [Zephyr-devel] Power Configuration of nrf52840

 

Hello everyone !!! 

I'm working with custom PCB of nrf52840. I need to set VDD voltage which is also GPIO high level voltage equals to 3.3V, otherwise it's 1.8V by default.


How can I configure this? 

or 

How can I access registers of nrf52840 in zephyr architecture?    

 

 

--

Warm regards,
Ashish Shukla

Jr. Embedded Engineer

Research & Development

 

Please consider the environment before printing this e-mail or its attachments.

 

Disclaimer: The information contained herein (including any accompanying documents) is confidential and is intended solely for the addressee(s). If you have erroneously received this message, please immediately delete it and notify the sender. Also, if you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or taking any action in reliance on the contents of this message or any accompanying document is strictly prohibited and is unlawful. The organization is not responsible for any damage caused by a virus or alteration of the e-mail by a third party or otherwise. The contents of this message may not necessarily represent the views or policies of Corvi

 


_______________________________________________
Zephyr-users mailing list
Zephyr-users@...ct.org
https://lists.zephyrproject.org/mailman/listinfo/zephyr-users

_______________________________________________
Zephyr-devel mailing list
Zephyr-devel@lists.zephyrproject.org
https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel


_______________________________________________
Zephyr-users mailing list
Zephyr-users@lists.zephyrproject.org
https://lists.zephyrproject.org/mailman/listinfo/zephyr-users


Re: [Zephyr-devel] Power Configuration of nrf52840

Chettimada, Vinayak Kariappa
 

Hope you are doing it “only once per board’s life time” else you could be degrading the flash. Hence, my advice is to use nrfjprog to make the change "only once" per each board or use the design in soc.c wherein the value is first compared before writing.

-Vinayak

On 9 Feb 2018, at 07:20, ashish.shukla@... wrote:

Thanks everyone !!!

Adding these lines does the job. 

 NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen;
    while (NRF_NVMC->READY == NVMC_READY_READY_Busy){
    }

    NRF_UICR->EXTSUPPLY = 0x01;
    while (NRF_NVMC->READY == NVMC_READY_READY_Busy){
    } 

    NRF_UICR->REGOUT0 = 0x05;
    while (NRF_NVMC->READY == NVMC_READY_READY_Busy){
    }

    NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren;
    while (NRF_NVMC->READY == NVMC_READY_READY_Busy)
    {
    }


--
Warm regards,
Ashish Shukla
Jr. Embedded Engineer
Research & Development


Please consider the environment before printing this e-mail or its attachments.

Disclaimer: The information contained herein (including any accompanying documents) is confidential and is intended solely for the addressee(s). If you have erroneously received this message, please immediately delete it and notify the sender. Also, if you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or taking any action in reliance on the contents of this message or any accompanying document is strictly prohibited and is unlawful. The organization is not responsible for any damage caused by a virus or alteration of the e-mail by a third party or otherwise. The contents of this message may not necessarily represent the views or policies of Corvi


On Thu, Feb 8, 2018 at 12:17 AM, Vinayak Kariappa <vinayak.kariappa@...> wrote:
Hi Ashish,

UICR is Flash, you need to do something similar to in soc.c done for reset pin config. Or use nrfjprog to write values to UICR


On 7 Feb 2018, at 12:04, "ashish.shukla@..." <ashish.shukla@...> wrote:

Hi,

Yes, I'm working in high voltage mode.  VDDH = 3.6V 

Then, I added following lines 

NRF_POWER->DCDCEN0 = 0x01;  // Enabling DC/DC for stage REG0
NRF_POWER->DCDCEN = 0x01;   // Enabling DC/DC for stage REG1 

Again, as you suggested 

NRF_UICR->EXTSUPPLY = 0x01;  
NRF_UICR->REGOUT0 = 0x05;

After adding these lines at starting of main() function, It still measures 1.8V. 


--
Warm regards,
Ashish Shukla
Jr. Embedded Engineer
Research & Development


Please consider the environment before printing this e-mail or its attachments.

Disclaimer: The information contained herein (including any accompanying documents) is confidential and is intended solely for the addressee(s). If you have erroneously received this message, please immediately delete it and notify the sender. Also, if you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or taking any action in reliance on the contents of this message or any accompanying document is strictly prohibited and is unlawful. The organization is not responsible for any damage caused by a virus or alteration of the e-mail by a third party or otherwise. The contents of this message may not necessarily represent the views or policies of Corvi


On Wed, Feb 7, 2018 at 4:16 PM, Puzdrowski, Andrzej <Andrzej.Puzdrowski@nordicsemi.no> wrote:

Hi

So you must have supplied nRF52840 from VDDH pin – so it power regulator circuit works in high voltage mode.

 

Then internal regulator generate the GPIO output voltage:

You need to set UICR->REGOUT0 properly, 5 is proper value for select 3.3 V

 

For more info see nRF52840 OPS, especjali POWER chapter

 

Andrzej

 

From: zephyr-devel-bounces@...hyrproject.org [mailto:zephyr-devel-bounces@lists.zephyrproject.org] On Behalf Of ashish.shukla@...
Sent: Wednesday, February 07, 2018 8:22 AM
To: zephyr-devel@...ct.org; zephyr-users@...ct.org
Subject: [Zephyr-devel] Power Configuration of nrf52840

 

Hello everyone !!! 

I'm working with custom PCB of nrf52840. I need to set VDD voltage which is also GPIO high level voltage equals to 3.3V, otherwise it's 1.8V by default.


How can I configure this? 

or 

How can I access registers of nrf52840 in zephyr architecture?    

 

 

--

Warm regards,
Ashish Shukla

Jr. Embedded Engineer

Research & Development

 

Please consider the environment before printing this e-mail or its attachments.

 

Disclaimer: The information contained herein (including any accompanying documents) is confidential and is intended solely for the addressee(s). If you have erroneously received this message, please immediately delete it and notify the sender. Also, if you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or taking any action in reliance on the contents of this message or any accompanying document is strictly prohibited and is unlawful. The organization is not responsible for any damage caused by a virus or alteration of the e-mail by a third party or otherwise. The contents of this message may not necessarily represent the views or policies of Corvi

 


_______________________________________________
Zephyr-users mailing list
Zephyr-users@lists.zephyrproject.org
https://lists.zephyrproject.org/mailman/listinfo/zephyr-users

_______________________________________________
Zephyr-devel mailing list
Zephyr-devel@...
https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel


Re: [Zephyr-devel] (#BluetoothMesh) just binding APP-key allow SRV to process the message

Vikrant More <vikrant8051@...>
 

I'm still waiting for reply.
Is it bug or I'm doing something wrong ?

On Wed, Feb 7, 2018 at 5:47 AM, <alan@...> wrote:



Tarry,

here is the Bluwtooth Mesh programers group.

Alan



On 2018-02-06 02:58, Vikrant More wrote:
Using #meshctl I gave following commands to BOARD_1

appkey-add 1

bind 0 1 1000
bind 0 1 1001
bind 0 1 1002
bind 0 1 1003

sub-add 0100 c000 1000
sub-add 0100 c001 1000

pub-set 0100 c000 1 0 5 1001

sub-add 0100 c000 1002
pub-set 0100 c000 1 0 5 1003

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

Using #meshctl I gave following commands to BOARD_2

appkey-add 1

bind 0 1 1000
bind 0 1 1001
bind 0 1 1002
bind 0 1 1003

sub-add 0101 c000 1000              //in last email I by mistake wrote
0100 instead of 0101, but main Question is as it is.
pub-set 0101 c001 1 0 5 1001
------------------------------------------------------------------------------------------------------

I've hard coded 4 Models, viz,

GEN_ONOFF_SRV

GEN_ONOFF_CLI

GEN_LEVEL_SRV

GEN_LEVEL_CLI

on both boards.

I found something wrong in case of BOARD_2,

where I only bound APP_KEY to all available models but didn't

assign any SUB or PUB addresses to  GEN_LEVEL_SRV or  GEN_LEVEL_CLI

even after that BOARD_2 is processing data publish by GEN_LEVEL_CLIENT
of BOARD_1.

Have anybody noticed it ?
_______________________________________________
Zephyr-devel mailing list
Zephyr-devel@...ct.org
https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel

2101 - 2120 of 2654