Use 2.4G function in nRF52810


I use SDK is nRF5_SDK_15.0.0_a53641a

【1】In examples proprietary_rf , Here is only the example of pca10040 , So I have to download a lower version of the SDK ?

lower version SDK have example pca10040e? 

【2】This examples ,esb_ptx should be transmitter ,  and esb_prx is  receiver?

【3】What is the difference between esb_low_power_ptx  and esb_ptx ? esb_ptx  transmission distance is far?

  • [1] If you take the pca10040 example and adjust the linker settings, it should be good, How exactly to do this depends on the development environment you're using. Look at some example containing an e variant, such as peripheral/uart/ what the settings should be. like for armgcc you see in the ld file

      FLASH (rx) : ORIGIN = 0x0, LENGTH = 0x30000
      RAM (rwx) :  ORIGIN = 0x20000000, LENGTH = 0x6000

    [2] This is correct

    [3] I don't think there is a distance difference between the examples. The low power example demonstrates switching itself off while retaining the content of RAM. Neither example adjust the transmission power, thus it is at default signal strength for both examples. 

  • Hi

    In addition to Andre's great answer, I've added some additional points.

    1. No, if the current version of the SDK doesn't contain your desired functionality you have to create your own emulated project. Steps that should be completed when creating an emulated project is:

    1. Open the example project for your IDE.
    2. In the project settings, change to device "NordicSemiconductor->nRF52810_xxaa".
    3. In the C/C++ preprocessor settings, remove the defines "NRF52" and "NRF52832_XXAA".
    4. Add the preprocessor define "NRF52810_XXAA".
    5. In the linker script settings, adjust the linker script to match the maximum RAM and flash size of nRF52810.
      • ROM END: 0x2FFFF
      • RAM END: 0x20005FFF
    6. Remove the following files from the project: <compiler>_startup_nrf52.s and system_nrf52.c.
    7. Add the following files to the project: <compiler>_startup_nrf52810.s and system_nrf52810.c.
    8. Add the DEVELOP_IN_NRF52832 define to the compile flags. Adding this define will add extra code in SystemInit handling the Errata workarounds needed for nRF52832. This will result in an increase in flash usage and a longer startup time

    2. Yes this is correct

    3. As Andre states, the example doesn't change the transmission power, thus the transmission distance should be the same. 

    More information regarding developing for the nRF52810 can be found here