UART - /dev/ttyS1 - Baud 115200 - 81N - Corrupted inbound data.
-
Using an Omega2 Pro I'm communicating with a serial device on /dev/ttyS1 baud 115200 81N - the inbound payload from the device is corrupted:
Command
screen /dev/ttyS1 115200
yields:
Using a logic analyzer I can see on RX1 PIN 46 that the data is correct:
The outbound command to the device is correct and the device responds with the expected message.
Any help would be greatly appreciated.
-
@timj If you slow the baud rate does it improve?
Try the same test using minicom, the data may not be corrupt it might just be the terminal setup.
-
@crispyoz thank you for you help.
Using minicom yields the same result.
minicom -D /dev/ttyS1 -b 115200
I connected a 3.3vdc Ardunio nano to the same serial interface at 115200 and it is reading the correct data response.
-
@timj Is it resolved by running at a lower baud rate? It will help understand the issue.
-
@crispyoz yes dropping the baud rate does enable the pro board to communicate with the serial device.
Using an arduino nano at 3.3v connected to the same serial device the two can communicate at 115200 reliably.
Seems to be an issue with the Omega2s+ at 115200
-
@timj First check you are running the latest firmware version. Use the oupgrade command to check or you can flash the latest images in the repo:
http://repo.onioniot.com/omega2/images/
I wonder if there is a handshaking issue, do you know if the device uses hardware/software handshaking? You can use the stty package to configure the tty. (opkg install coreutils-stty) then use the stty -a command to view the command syntax.