BLE LTE Gateway With Extra UARTE Instance

Im trying to use the BLE LTE Gateway running on a NRF9160DK

I have the NRF52840 running the lpuart_hci code and that is working fine i can configure the BLE from the NRF9160 and get advert data back.

However i was trying to enable a second UARTE instance on the 9160 and it just does not work..

the NRF52840 is connected using UARTE2 can i use UARTE1 or UARTE0? and if so what configuration in my prj,conf do i need to get this to work? ive tried almost every combination of things i can think of.

Thanks,

David

Parents Reply Children
  • Hello,

    A little bit more context to what i want to achieve.
    i have a Transport Controller which is responsible for pulling data from a store and sending over a given "transport" in production this transport will be over LTE, however in development i want to use UART instead and have the data flowing over VCOM0 or VCOM2 so that i can test that the data that will be sent to the server is fine.. and i can test the UART side with the DK just plugged into my PC.
    I was trying to copy the example nrf/samples/peripheral/lpuart
    Overlay file
    / {
        chosen {
            zephyr,bt-uart=&lpuart;
        };
    };

    &gpiote {
        interrupts = <49 NRF_DEFAULT_IRQ_PRIORITY>;
    };

    //This is my second instance
    &uart1 {
        rx-pin = <10>;
        tx-pin = <11>;
        /delete-property/ rts-pin;
        /delete-property/ cts-pin;

        lpuart: nrf-sw-lpuart {
            compatible = "nordic,nrf-sw-lpuart";
            status = "okay";
            label = "TRANSPORT";
            req-pin = <12>;
            rdy-pin = <13>;
        };
    };

    &uart2 {
        current-speed = <1000000>;
        status = "okay";
        tx-pin = <18>; /* <&interface_to_nrf52840 1 0>; */
        rx-pin = <17>; /* <&interface_to_nrf52840 0 0>; */
        /delete-property/ rts-pin;
        /delete-property/ cts-pin;
        /delete-property/ hw-flow-control;

        lpuart: nrf-sw-lpuart {
            compatible = "nordic,nrf-sw-lpuart";
            status = "okay";
            label = "LPUART";
            req-pin = <21>; /* <&interface_to_nrf52840 3 0>; */
            rdy-pin = <19>; /* <&interface_to_nrf52840 2 0>; */
        };
    };
    The Overlay Looks like this:
    CONFIG_NRF_SW_LPUART=y
    CONFIG_NRF_SW_LPUART_INT_DRIVEN=y

    CONFIG_UART_2_ASYNC=y
    CONFIG_UART_2_INTERRUPT_DRIVEN=n
    CONFIG_UART_2_NRF_HW_ASYNC=y
    CONFIG_UART_2_NRF_HW_ASYNC_TIMER=2

    CONFIG_UART_1_ASYNC=y
    CONFIG_UART_1_INTERRUPT_DRIVEN=n
    CONFIG_UART_1_NRF_HW_ASYNC=y
    CONFIG_UART_1_NRF_HW_ASYNC_TIMER=2
    But the UART_1 has missing dependencies which i cannot add in
    if i could steal the UART instance that the logging uses that would be fine also... 
    Thanks,
    David Hutchinson
  • Hi, sorry for the late response.

    I assume you are building for non-secure? If so, try adding this to the uart1 node in the overlay:

    status = "okay";

Related