I am trying to extend an older 1.7.0 SDK to add functional BT support, which currently only has serial port communications. i don't really understand the terms for the functional parts, and understand the sdk is replaced with new..

the provider has provided source for their firmware which provides serial port communications to control operation only in old sdk 1.7.0 format

I need to use some other approach..

I would like to use pairing to connect my app to the local device

and then the local device would be ble central

and remotes would be ble peripheral 

today the 'same' firmware is loaded on both identical devices

but my testing will have a different local device using the 52840 and the remote is 52833

so my firmware update should be able to distinguish how to operate, I 'think' this is different boards and different binary builds. 

my app would pair with the local device (should only ever connect to ONE local device, during initial setup, the device is nearby)

there 'is' a possibility that there COULD be multiple instances of the same local device within bt range, so want to preclude ever seeing talking to others

in the future these devices would be BT6 with channel sounding support. but still architected this way to minimize dependencies.

data traffic from app to local device is low, done with BT notification (using ble).. 

I suppose I could store persistent data on both app device and local device with some key/identifier to be able to use only ble (one of the future devices says single mode bt, aka ble only)

but I still don't understand how to configure the 1.7.0 sdk to add the function that I can use.   the java config app assumes you know what the words/terminology means

and understand the concurrence (this function and not that) restrictions..

the provider has another instance using the 1.7.0 sdk  with BT ble peripheral only (but does not have serial port comms at all) 

extending their firmware is an exercise for the user (me!).. so trying to get my head around the config 

I can build each w the segger IDE, so that part is ready.

I have flashed the build with the IDE as well and command line tools.. so have that

have ble code that does most of what I want in both ios and android.. so have ble experience.  now to get runtime in the right config.. 

Parents
  • Hi,

    I would recommend that you look in to using NRF Connect SDK that is based on Zephyr as the building blocks for a project that you want to future proof as you are looking at Channel sounding and Bluetooth 6, and use NCS 2.7.0.  


    If I understood correctly, 

    You are working with a product that needs to get some new features, the current product and its SW is provided and that is what you want to modify ?

    You should be able to get the programs to work with both the 840 and the 833.



    But I am a bit unsure what SDK you are talking about if it is the nRF5 SDK or the NCS


    BLE samples can be found here: https://docs.nordicsemi.com/bundle/ncs-2.7.99-cs2/page/nrf/samples/bl.html 


    Regards,
    Jonathan

  • i am extending the qorvo uwb build which uses the 1.7.0 sdk. its supports the 833 and 840 already.

    i will do similar with the nrf sdk for cs, but hardware not available yet 

  • thanks. but i want more info on what the settings in the config file mean, and what tasks a developer has to complete to make a particular configuration work. 

    i see critical sections and encryption functions.ii see linker errors which i think are sdk code, not implementor code. and i cant tell if i have incomplete settings or if the provider stripped the sdk files down to save space.

    i don't  understand Softdevice. it looks like i need competing versions to make my scenarios work

  • rexxdad said:
    i don't  understand Softdevice.

    The SoftDevice is a protocol stack, made by nordic. https://docs.nordicsemi.com/bundle/ug_gsg_ses/page/UG/gsg/softdevices.html 
    In the Zephyr based SDK you have the option to use nordic's solution or the Zephyr provided option. 

    In short you need it to get BLE. 


    Here is what we have as extra material, https://docs.nordicsemi.com/bundle/ug_gsg_keil/page/UG/gsg/related_docs.html 

    You will need to dig in to the documentation for specifics on the errors or warnings that you are getting. https://docs.nordicsemi.com/bundle/sdk_nrf5_v17.1.0/page/index_1.html 


    And we also do have some guides : https://devzone.nordicsemi.com/guides/short-range-guides/ most might not be relevant. 

    Regards,
    Jonathan

  • thanks.. one more question.. (maybe more!)
    so the package I have from the vendor  has the NRF sdk embedded.. but there are no sdk files for softdevice, ble, ... I don't know what happens with the sdk when you configure it, can you extract JUST taht set of files? 

    (image from above)

    if I save their sdk_config.h

    can I just plop the whole sdk back in the package? 

    i see sdk_config.h all over the place when I seach for it in the sdk tree..

    which makes no sense to me.. 

    and the java sdk config tool reading the sdk_config.h from their package doesn't seem to detect what is enabled. 

  • You can either reference to the SDK by having the SDK under the example\package from vendor, or you can add the entire SDK above or put the example in the SDK. 

    So it is possible to add the files that include the softdeivce to the project. 

    Regards,
    Jonathan

  • Ok, so I put the sdk somewhere else and changed the paths in the segger IDE to point to that source
    compile works ok on the two kits..  
    one kit uses mergehex, as a postbuild step which is failing, rc -1
    if I run it manually outside segger build it works ok 

    I am running
    ```

    mergehex -v

    mergehex version: 10.24.2

    ```

    on macos..  some suggest downgrading to 9.8.0 ,

    but it works taking the preprocessor expanded filenames  that are shown in the error 

    ```

    mergehex -m /Users/sam/Downloads/Qorvo_Nearby_Interaction_3_2_0/Software/Accessory/Sources/QANI-All-FreeRTOS_QNI_3_0_0/Projects/Projects/QANI/FreeRTOS/DWM3001CDK/ses/Output/Common/Exe/DWM3001CDK-QANI-FreeRTOS.hex /Users/sam/Downloads/nRF5_SDK_17.1.0_ddde560/components/softdevice/s113/hex/s113_nrf52_7.2.0_softdevice.hex -o /Users/sam/Downloads/Qorvo_Nearby_Interaction_3_2_0/Software/Accessory/Sources/QANI-All-FreeRTOS_QNI_3_0_0/Projects/Projects/QANI/FreeRTOS/DWM3001CDK/ses/Output/Common/Exe/DWM3001CDK-QANI-FreeRTOS_full.hex

    ```

    the target file and permissions(from the manual execution of mergehex)

    -rw-r--r--  1 sam  staff  1267521 Nov  5 12:06 /Users/sam/Downloads/Qorvo_Nearby_Interaction_3_2_0/Software/Accessory/Sources/QANI-All-FreeRTOS_QNI_3_0_0/Projects/Projects/QANI/FreeRTOS/DWM3001CDK/ses/Output/Common/Exe/DWM3001CDK-QANI-FreeRTOS_full.hex

     
    the mergehex fails, no output file is created

    the two input files exist

    Mac-mini:sam$ ls -laF /Users/sam/Downloads/Qorvo_Nearby_Interaction_3_2_0/Software/Accessory/Sources/QANI-All-FreeRTOS_QNI_3_0_0/Projects/Projects/QANI/FreeRTOS/DWM3001CDK/ses/Output/Common/Exe/DWM3001CDK-QANI-FreeRTOS.hex

    -rw-r--r--  1 sam  staff  956835 Nov  5 12:26 /Users/sam/Downloads/Qorvo_Nearby_Interaction_3_2_0/Software/Accessory/Sources/QANI-All-FreeRTOS_QNI_3_0_0/Projects/Projects/QANI/FreeRTOS/DWM3001CDK/ses/Output/Common/Exe/DWM3001CDK-QANI-FreeRTOS.hex

    Mac-mini:sam$ ls -laF /Users/sam/Downloads/nRF5_SDK_17.1.0_ddde560/components/softdevice/s113/hex/s113_nrf52_7.2.0_softdevice.hex

    -rw-rw-r--@ 1 sam  staff  310854 Jul 31  2020 /Users/sam/Downloads/nRF5_SDK_17.1.0_ddde560/components/softdevice/s113/hex/s113_nrf52_7.2.0_softdevice.hex

     

Reply
  • Ok, so I put the sdk somewhere else and changed the paths in the segger IDE to point to that source
    compile works ok on the two kits..  
    one kit uses mergehex, as a postbuild step which is failing, rc -1
    if I run it manually outside segger build it works ok 

    I am running
    ```

    mergehex -v

    mergehex version: 10.24.2

    ```

    on macos..  some suggest downgrading to 9.8.0 ,

    but it works taking the preprocessor expanded filenames  that are shown in the error 

    ```

    mergehex -m /Users/sam/Downloads/Qorvo_Nearby_Interaction_3_2_0/Software/Accessory/Sources/QANI-All-FreeRTOS_QNI_3_0_0/Projects/Projects/QANI/FreeRTOS/DWM3001CDK/ses/Output/Common/Exe/DWM3001CDK-QANI-FreeRTOS.hex /Users/sam/Downloads/nRF5_SDK_17.1.0_ddde560/components/softdevice/s113/hex/s113_nrf52_7.2.0_softdevice.hex -o /Users/sam/Downloads/Qorvo_Nearby_Interaction_3_2_0/Software/Accessory/Sources/QANI-All-FreeRTOS_QNI_3_0_0/Projects/Projects/QANI/FreeRTOS/DWM3001CDK/ses/Output/Common/Exe/DWM3001CDK-QANI-FreeRTOS_full.hex

    ```

    the target file and permissions(from the manual execution of mergehex)

    -rw-r--r--  1 sam  staff  1267521 Nov  5 12:06 /Users/sam/Downloads/Qorvo_Nearby_Interaction_3_2_0/Software/Accessory/Sources/QANI-All-FreeRTOS_QNI_3_0_0/Projects/Projects/QANI/FreeRTOS/DWM3001CDK/ses/Output/Common/Exe/DWM3001CDK-QANI-FreeRTOS_full.hex

     
    the mergehex fails, no output file is created

    the two input files exist

    Mac-mini:sam$ ls -laF /Users/sam/Downloads/Qorvo_Nearby_Interaction_3_2_0/Software/Accessory/Sources/QANI-All-FreeRTOS_QNI_3_0_0/Projects/Projects/QANI/FreeRTOS/DWM3001CDK/ses/Output/Common/Exe/DWM3001CDK-QANI-FreeRTOS.hex

    -rw-r--r--  1 sam  staff  956835 Nov  5 12:26 /Users/sam/Downloads/Qorvo_Nearby_Interaction_3_2_0/Software/Accessory/Sources/QANI-All-FreeRTOS_QNI_3_0_0/Projects/Projects/QANI/FreeRTOS/DWM3001CDK/ses/Output/Common/Exe/DWM3001CDK-QANI-FreeRTOS.hex

    Mac-mini:sam$ ls -laF /Users/sam/Downloads/nRF5_SDK_17.1.0_ddde560/components/softdevice/s113/hex/s113_nrf52_7.2.0_softdevice.hex

    -rw-rw-r--@ 1 sam  staff  310854 Jul 31  2020 /Users/sam/Downloads/nRF5_SDK_17.1.0_ddde560/components/softdevice/s113/hex/s113_nrf52_7.2.0_softdevice.hex

     

Children
Related