This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

nRF UART App

where is "nRF UART App" nRF51822 code ?

Parents
  • Hi,

    please see the attached .zip file for a counter-part for the nRF UART iOS app. Note that this firmware is given as-is, and is not optimized in any way. It is made as an example on how to communicate with the app.

    General note regarding "SPP" for low energy: There is not a direct equivalent to the SPP in low energy. Much of the philosophy with low energy is that you are not restricted to using the official profiles, compared to BR/EDR. It's very easy to create your own profile and proprietary service, to enable you to transfer data in sensible chunks instead of just cramming all kinds of data together in serial packages.

    Therefore, an SPP isn't really useful for BLE, and the best solution would be to create your own service to cover the exact data you need to transfer. You also don't have to think about master support, as the profile support is on the application level and not on the OS or stack level, as is common for Bluetooth Classic.

    Best regards, Håkon

    ble_app_uart.zip

Reply
  • Hi,

    please see the attached .zip file for a counter-part for the nRF UART iOS app. Note that this firmware is given as-is, and is not optimized in any way. It is made as an example on how to communicate with the app.

    General note regarding "SPP" for low energy: There is not a direct equivalent to the SPP in low energy. Much of the philosophy with low energy is that you are not restricted to using the official profiles, compared to BR/EDR. It's very easy to create your own profile and proprietary service, to enable you to transfer data in sensible chunks instead of just cramming all kinds of data together in serial packages.

    Therefore, an SPP isn't really useful for BLE, and the best solution would be to create your own service to cover the exact data you need to transfer. You also don't have to think about master support, as the profile support is on the application level and not on the OS or stack level, as is common for Bluetooth Classic.

    Best regards, Håkon

    ble_app_uart.zip

Children
  • Hello Håkon,

    I've tried to build your code in the muVision 4 environment but I constantly get the following error message:

    ..........\Include\nrf.h(56): error:
    #35: #error directive: "Device variant must be defined. See nrf.h."

    This problem does not occur when I build other example projects from the nRF51 SDK pack. What is going wrong here?

    Alec

  • Hello Håkon,

    I've tried to build your code in the muVision 4 environment but I constantly get the following error message:

    ..........\Include\nrf.h(56): error:
    #35: #error directive: "Device variant must be defined. See nrf.h."

    This problem does not occur when I build other example projects from the nRF51 SDK pack. What is going wrong here?

    Alec

  • Hi Alec.

    The project was designed for the nRF6310. I had to remove the BOARD_NRF6310 preprocessor symbol and added the following symbols: NRF51 NRF51822_QFAA_C0 BOARD_PCA10001.

    I also needed to change the target memory area values on the chip. I changed the Start and Size of IROM1 to 0x14000 and 0x2C000 respectively, as well as the same properties on IRAM1 with 0x20002000 and 0x2000 respectively.

    You may want to change line #50 in main.c to #define WAKEUP_BUTTON_PIN BUTTON0

    Cheers. Alex

  • Hi Alec.

    The project was designed for the nRF6310. I had to remove the BOARD_NRF6310 preprocessor symbol and added the following symbols: NRF51 NRF51822_QFAA_C0 BOARD_PCA10001.

    I also needed to change the target memory area values on the chip. I changed the Start and Size of IROM1 to 0x14000 and 0x2C000 respectively, as well as the same properties on IRAM1 with 0x20002000 and 0x2000 respectively.

    You may want to change line #50 in main.c to #define WAKEUP_BUTTON_PIN BUTTON0

    Cheers. Alex

Related