# voxl-uart-loopback problems

Source: https://forum.modalai.com/topic/580/voxl-uart-loopback-problems
Category: General Questions (https://forum.modalai.com/category/2/general-questions)
Posted: 2021-11-24 10:09:17 UTC by relevinsky
Replies: 1 · Views: 518

## relevinsky · 2021-11-24 10:09:17 UTC

Hi,

I run into the problem with voxl-uart-loopback on baud rate (921600) and buffer size >= 500 bytes. many times the loopback returns 0 bytes (on reading part). If i set low baud rate 9600 and 200 bytes of data, its FAIL always on reading.![alt text](![b74ee7f1-d647-4e37-9af9-56c26427fb8f-image.png](https://forum.modalai.com/assets/uploads/files/1637748381198-b74ee7f1-d647-4e37-9af9-56c26427fb8f-image.png) image url) . Please help me . It's not a regular serial,it works with DSP via RPC. So i need to be sure that will not be a problem with data integrity.Thanks.

## Reply by Alex Kushleyev (ModalAI staff) · 2021-11-24 22:34:30 UTC

Hello,

There were a few issues with the uart loopback example:
- the test buffer size was not handled properly (if test size is larger than HelloWorld strin
- the sleep time was not enough to allow the transfer to happen (the write function is non-blocking, it seems)

I have made some fixes here:
https://gitlab.com/voxl-public/core-libs/libvoxl_io/-/blob/dev/lib/apps/voxl-uart-loopback.c

Now the behavior is as shown below.. please try it.

./voxl-uart-loopback -d 7 -b 9600 -s 20
INITIALIZING
Sending 20 bytes:
0123456789:;<=>?@ABC
Transfer should take ~20833us, sleeping for 25833us (+5000us overhead)
Reading back data...
Received 20 bytes:
0123456789:;<=>?@ABC
closing uart bus
PASS

---

./voxl-uart-loopback -d 7 -b 9600 -s 500
INITIALIZING
Sending 500 bytes:
0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJ
Transfer should take ~520833us, sleeping for 525833us (+5000us overhead)
Reading back data...
Received 500 bytes:
0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;<=>?@ABCDEFGHIJ
closing uart bus
PASS
