Using Zephyr V2.8 on the L15. In the uart callback, in the UART_RX_RDY case, can the evt->data.rx.offset ever be non-zero?

Using Zephyr V2.8 on the L15. In the uart callback, in the UART_RX_RDY case, can the evt->data.rx.offset ever be non-zero?

It doesn't appear that the offset is ever non-zero. Does the offset get cleared when the data is read out of the receiving buffer?

Parents
  • Hello,

    '' In the uart callback, in the UART_RX_RDY case, can the evt->data.rx.offset ever be non-zero?'' 

    The event data can be set as non-zero in the UART_RX_RDY in the UART callback. We can see in the driver documentation from devacademy course UART Driver - Nordic Developer Academ, the offset to where the buffer data is stored. 

     The offset can change, especially when using features like chained buffer reception or when dealing with larger amounts of data that fill up the buffer in multiple UART_RX_RDY events.

    ''The UART asynchronous API offers a way to perform chained buffer reception. You can declare multiple buffers to seamlessly switch between them when the current buffer is full. To do this you need to call uart_rx_buf_rsp() on the event UART_RX_BUF_REQUEST, which will provide the next buffer. When the current buffer is filled, receiving will automatically go to the next buffer.''

    Have you tried this on any application?

    Thanks.

    BR

    Kazi

Reply
  • Hello,

    '' In the uart callback, in the UART_RX_RDY case, can the evt->data.rx.offset ever be non-zero?'' 

    The event data can be set as non-zero in the UART_RX_RDY in the UART callback. We can see in the driver documentation from devacademy course UART Driver - Nordic Developer Academ, the offset to where the buffer data is stored. 

     The offset can change, especially when using features like chained buffer reception or when dealing with larger amounts of data that fill up the buffer in multiple UART_RX_RDY events.

    ''The UART asynchronous API offers a way to perform chained buffer reception. You can declare multiple buffers to seamlessly switch between them when the current buffer is full. To do this you need to call uart_rx_buf_rsp() on the event UART_RX_BUF_REQUEST, which will provide the next buffer. When the current buffer is filled, receiving will automatically go to the next buffer.''

    Have you tried this on any application?

    Thanks.

    BR

    Kazi

Children
No Data
Related