Unable to provision by configuring asynchronous UART

I have starting working with UART. I see that there are two options for configuring it: UART_0_ASYNC and UART_0_INTERRUPT_DRIVEN. I want to use ASYNC option for my UART, but when I enable this option, the device is unable to be provisioned anymore. It means if I just enable this configuration in the chat example, it breaks the application for provision.

I also tried to initialize the UART only when the device is provisioned, but it has no effect. 

Parents
  • Hi Ashish!

    Have you tried doing it using a prj.conf configuration?

    I also tried to initialize the UART only when the device is provisioned, but it has no effect. 

    Could you expand a bit on this? Are you provisioning the device and then re-flashing it?

    Best regards,

    Elfving

  • Hi 

    Yes, I tried with the prj.conf also by adding following

    CONFIG_SERIAL=y

    CONFIG_UART_ASYNC_API=y

    CONFIG_UART_0_INTERRUPT_DRIVEN=n

    CONFIG_UART_0_ASYNC=y

    Simple explanation is just by adding the above code in prj.conf or enabling the UART from nrf configure tool, the application is disabled for Mesh provisioning.

    The issue is somewhere with UART_0_ASYNC because if you configure prj.conf with following, it is okay:

    CONFIG_UART_ASYNC_API=y
    CONFIG_SERIAL=y
    CONFIG_UART_0_INTERRUPT_DRIVEN=y

     

    I use chat example in nrf Connect SDK v1.7.1. 

    I am not provisioning and then reflashing but everytime I erase all to check the sanity.

  • Are these the configurations you added when you attempted to provision?

    Ashishsult said:

    CONFIG_SERIAL=y

    CONFIG_UART_ASYNC_API=y

    CONFIG_UART_0_INTERRUPT_DRIVEN=n

    CONFIG_UART_0_ASYNC=y

    And did you provision using the nRF Mesh app? Where any other nodes provisioned as well?

    Best regards,

    Elfving

  • Yes, I add these lines in the prj.conf file, run CMake and then build. I connect, erase device and flash it to the device using Segger.

    Next, I use Mobile nRF Mesh App v3.1.6 to provision the device (which fails).


    Other nodes in my use case doesn't have the UART so are successfully provisioned.

  • What other nodes are on the network? And how many?

    Best regards,

    Elfving

  • I wanted to have three nodes: 1. With UART as client, 2. Without UART as Relay and  3. Without UART as Server.

    But I don't understand how this issue of provisioning a device linked with it.
    Because even if there is nothing provisioned already, we have the same issue.

    May be you can try to provision the device (nrf52832) with the changes in prj.conf as mentioned before and see if you are able to do so. I already posted the code as well before.

  • Ashishsult said:
    May be you can try to provision the device (nrf52832) with the changes in prj.conf as mentioned before and see if you are able to do so. I already posted the code as well before.

    Yeah, I am not able to reproduce this. It does work for me.

    Ashishsult said:
    Because even if there is nothing provisioned already, we have the same issue.

    That is interesting. I agree that it would be odd if what was already provisioned would cause this error, but I thought that was the only difference between your situation in which it doesn't work, and mine in which it does.

    Could you expand a bit on in what way you see provisioning failing? And is there anything else with the behavior of the example that is failing/strange?

    Best regards,

    Elfving

Reply
  • Ashishsult said:
    May be you can try to provision the device (nrf52832) with the changes in prj.conf as mentioned before and see if you are able to do so. I already posted the code as well before.

    Yeah, I am not able to reproduce this. It does work for me.

    Ashishsult said:
    Because even if there is nothing provisioned already, we have the same issue.

    That is interesting. I agree that it would be odd if what was already provisioned would cause this error, but I thought that was the only difference between your situation in which it doesn't work, and mine in which it does.

    Could you expand a bit on in what way you see provisioning failing? And is there anything else with the behavior of the example that is failing/strange?

    Best regards,

    Elfving

Children
Related