change device name through spi

hi

Working with Linux operating system I faced the problem not knowing how can the nrf52840 device name be changed via the SPI protocol and what frame format should be used?

I would appreciate if you help me with step by step guidance.

Many thanks

  • Hello,

    I am not sure what you are asking. What name do you want to change? Is the nRF52840 connected to your linux computer using SPI?

    Best regards,

    Edvin

  • Hello
    Yes nrf52840 connected to a core board with linux operation system using SPI . How can I merge advertise and SPI(master and slave) communications examples into one code so that the string that nrf receives as a slave will sit instead of the device name ?
    #define DEVICE_NAME      "Nordic"

    On the other hand, the main issue is what should be the spi frame format for Linux?

  • Ok, let me split your request into 2 parts:

    1: How do I change the advertising name during runtime?

    2: How do I set up SPI?

    3:  (Bonus) How does SPI work on my custom board with Linux OS using SPI?

    First of all, what SDK are you using for the nRF? Do you use the nRF5 SDK, or do you use nRF Connect SDK (NCS)?

    1: Depending on the SDK that you are using, you should look at how the advertising name is usually set up. Look in the file that defines the bt_le_adv_start() in adv.c (if you are using NCS), or ble_advertising_init() in ble_advertising.c (if you are using the nRF5 SDK). Then look for a function that is used to update the advertising data. In NCS it would be called bt_le_adv_update_data(), while in the nRF5 SDK it would be ble_advertising_advdata_update().

    2: Depends on the SDK again. In the nRF5 SDK, please look at the SDK\examples\peripheral\spi (or spis, if you are the SPI slave). In NCS, I can recommend this tutorial: https://academy.nordicsemi.com/courses/nrf-connect-sdk-fundamentals/

    Lesson 6 shows you how to set up I2C, but the method to use SPI is quite similar.

    3: I don't know. You would need to ask this in some sort of Linux forum, or find someone who can help you with whatever is present on your core board.

    Best regards,

    Edvin

  • Hi Edvin
    Thank you for your guidance
    I use the nRF5 SDK.

    I got the SPI communication with the DK board, but considering that I want to set it on the custom board, when I change the pins on the "sdk_config.h"  to the
    cs:P0.24(AD20)
    CLK:P0.15(AD10)
    mosi:P0.17(AD12)
    miso:P0.22(AD18)
    ,the data won't be sent and received, and the spi won't work properly.  What parts of the SPI example need to be changed to set the SPI pins ?

Related