]> sigrok.org Git - libsigrokdecode.git/blame_incremental - decoders/uart/__init__.py
uart: Convert to PD API version 3
[libsigrokdecode.git] / decoders / uart / __init__.py
... / ...
CommitLineData
1##
2## This file is part of the libsigrokdecode project.
3##
4## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de>
5##
6## This program is free software; you can redistribute it and/or modify
7## it under the terms of the GNU General Public License as published by
8## the Free Software Foundation; either version 2 of the License, or
9## (at your option) any later version.
10##
11## This program is distributed in the hope that it will be useful,
12## but WITHOUT ANY WARRANTY; without even the implied warranty of
13## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14## GNU General Public License for more details.
15##
16## You should have received a copy of the GNU General Public License
17## along with this program; if not, see <http://www.gnu.org/licenses/>.
18##
19
20'''
21UART (Universal Asynchronous Receiver Transmitter) is a simple serial
22communication protocol which allows two devices to talk to each other.
23
24This decoder should work on all "UART-like" async protocols with one
25start bit (0), 5-9 databits, an (optional) parity bit, and one or more
26stop bits (1), in this order.
27
28It can be run on one signal line (RX or TX) only, or on two lines (RX + TX).
29
30There are various standards for the physical layer specification of the
31signals, including RS232, (TTL) UART, RS485, and others. However, the logic
32level of the respective pins is only relevant when acquiring the data via
33a logic analyzer (you have to select the correct logic analyzer and/or
34the correct place where to probe). Once the data is in digital form and
35matches the "UART" description above, this protocol decoder can work with
36it though, no matter whether the source was on TTL UART levels, or RS232,
37or others.
38'''
39
40from .pd import Decoder