Uploaded image for project: 'Embedded Software & Tools'
  1. Embedded Software & Tools
  2. EXT_EP-10536

UART2 in callback mode with return behavior PARTIAL triggers app callback twice when ringbuffer wraparound occurs

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: High High
    • TI Device Drivers
    • TIDRIVERS-5109
    • Unknown
    • TIDRIVERS_5_70_00
    • Hide
      CC13x2
      CC26x2
      Show
      CC13x2 CC26x2

      UART2 configured for return PARTIAL mode and callback mode.

      If the UART2's internal ringBuffer[32] reaches a point where the pHead of the ringBuffer is pointing to the last element and the keyboard is pressed. The ringBuffer will then wrap the input around to the front of the ringBuffer. The ringBuffer contents are populated perfectly fine. However, the UART2 driver logic does not handle this condition correctly.

      When this condition occurs, the UART2 driver will call the application callback providing the first byte in the sequence only. Then it will quickly call the application callback a second time providing the remainder of the sequence. This is not the expected behavior and this does not match the behavior of blocking/nonblocking mode. We would expect the UART2 driver to make a single application callback which contains the entire 3 byte sequence as it was received in the ringbuffer already at the time of execution.
       

            syncuser TI User
            syncuser TI User
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: