This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Instaburst on a nRF52840

I read in a CMakeList.txt, that EXPERIMENTAL_INSTABURST_ENABLED is posible on the nRF52832 platform only.

Is it possible to get Instaburst running on a nRF52840 chip using SDK for mesh 1.0.0?

if (EXPERIMENTAL_INSTABURST_ENABLED)
    if (PLATFORM STREQUAL "nrf52832_xxAA")
        add_definitions("-DEXPERIMENTAL_INSTABURST_ENABLED")
    else()
        message(WARNING "Instaburst is only available on nrf52832_xxAA")
        set(EXPERIMENTAL_INSTABURST_ENABLED OFF)
    endif()
endif()
 

regards Gerry

Parents Reply Children
  • Thanks Bjorn,

    I'm not able to remake the project file using CMakeList.txt, since we changed a lot there. If I got this right, changing the following files in the project and setting EXPERIMENTAL_INSTABURST_ENABLED = 1 should also do the job, right?

    
    if (EXPERIMENTAL_INSTABURST_ENABLED)
        set(MESH_CORE_SOURCE_FILES ${MESH_CORE_SOURCE_FILES}
            "${CMAKE_CURRENT_SOURCE_DIR}/src/core_tx_instaburst.c")
    else()
        set(MESH_CORE_SOURCE_FILES ${MESH_CORE_SOURCE_FILES}
            "${CMAKE_CURRENT_SOURCE_DIR}/src/core_tx_adv.c")
    endif()
    
    
    if (EXPERIMENTAL_INSTABURST_ENABLED)
        set(MESH_BEARER_SOURCE_FILES ${MESH_BEARER_SOURCE_FILES}
            "${CMAKE_CURRENT_SOURCE_DIR}/src/instaburst.c"
            "${CMAKE_CURRENT_SOURCE_DIR}/src/instaburst_rx.c"
            "${CMAKE_CURRENT_SOURCE_DIR}/src/instaburst_tx.c"
            "${CMAKE_CURRENT_SOURCE_DIR}/src/adv_ext_tx.c"
            "${CMAKE_CURRENT_SOURCE_DIR}/src/adv_ext_packet.c"
            CACHE INTERNAL "")
    endif()

    We do not have to be compatible with other mesh products, but we want to meet Bluetooth SIG requirements and get our product certified. Is that possible using Instaburst?

  • You have to use cmake unfortunately. Talked to one of the mesh developers & he said you can enable it via:

    cmake -DEXPERIMENTAL_INSTABURST_ENABLED=ON

    You also want to switch out  mesh/core/src/core_tx_adv.c with 

    mesh/core/src/core_tx_instaburst.c

    & add these files too:

    mesh/bearer/src/instaburst.c

    mesh/bearer/src/instaburst_rx.c

    mesh/bearer/src/instaburst_tx.c

    mesh/bearer/src/adv_ext_tx.c

    mesh/bearer/src/adv_ext_packet.c

    Then, you can generate a new SES project via cmake with the command: 

    cmake -DGENERATE_SES_PROJECTS=ON

     

    Instaburst is unfortunately not Bluetooth Mesh compliant. Take a look at the second paragraph in the link I sent you:

    "Instaburst is a Nordic proprietary feature that does not adhere to the Bluetooth Mesh specification. It is currently in an experimental stage, and does not have the same requirements to test coverage, API stability or spec-compliance as the rest of the Nordic nRF5 SDK for Mesh."

     

Related