aboutsummaryrefslogtreecommitdiff
path: root/documentation
diff options
context:
space:
mode:
authorcliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a>2009-07-21 19:47:59 +0000
committercliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a>2009-07-21 19:47:59 +0000
commit5134aab50497f0681404d42f42e6a64602bc7936 (patch)
treef4910216a87ad0aa5c248168e4f5bd5f6bcb2730 /documentation
parent86e8787c23663ce357c8311e070442be3d1297f2 (diff)
downloadpyserial-5134aab50497f0681404d42f42e6a64602bc7936.tar.gz
- more documentation updates
- added logo
Diffstat (limited to 'documentation')
-rw-r--r--documentation/appendix.rst14
-rw-r--r--documentation/conf.py4
-rw-r--r--documentation/examples.rst113
-rw-r--r--documentation/index.rst14
-rw-r--r--documentation/pyparallel.rst18
-rw-r--r--documentation/pyserial.pngbin0 -> 7050 bytes
-rw-r--r--documentation/pyserial.rst46
-rw-r--r--documentation/pyserial_api.rst35
8 files changed, 180 insertions, 64 deletions
diff --git a/documentation/appendix.rst b/documentation/appendix.rst
index a8c83e3..3a4a766 100644
--- a/documentation/appendix.rst
+++ b/documentation/appendix.rst
@@ -5,19 +5,17 @@
License
=======
-Copyright (c) 2001-2008 Chris Liechti <cliechti@gmx.net>;
+Copyright (C) 2001-2009 Chris Liechti <cliechti(at)gmx.net>;
All Rights Reserved.
-This is the Python license. In short, you can use this product in
-commercial and non-commercial applications, modify it, redistribute it.
-A notification to the author when you use and/or modify it is welcome.
+This is the Python license. In short, you can use this product in commercial
+and non-commercial applications, modify it, redistribute it. A notification to
+the author when you use and/or modify it is welcome.
-TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING THIS SOFTWARE
--------------------------------------------------------------------
+**TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING THIS SOFTWARE**
-LICENSE AGREEMENT
-~~~~~~~~~~~~~~~~~
+*LICENSE AGREEMENT*
1. This LICENSE AGREEMENT is between the copyright holder of this
product, and the Individual or Organization ("Licensee") accessing and
diff --git a/documentation/conf.py b/documentation/conf.py
index 4ff412c..8f5943a 100644
--- a/documentation/conf.py
+++ b/documentation/conf.py
@@ -110,7 +110,7 @@ html_theme = 'default'
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
-#html_logo = None
+html_logo = 'pyserial.png'
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
@@ -178,7 +178,7 @@ latex_documents = [
# The name of an image file (relative to this directory) to place at the top of
# the title page.
-#latex_logo = None
+latex_logo = 'pyserial.png'
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
diff --git a/documentation/examples.rst b/documentation/examples.rst
index a50b655..33450ea 100644
--- a/documentation/examples.rst
+++ b/documentation/examples.rst
@@ -11,11 +11,73 @@ For example on GNU/Linux running from an xterm it will support the escape
sequences of the xterm. On Windows the typical console window is dumb and does
not support any escapes. When ANSI.sys is loaded it supports some escapes.
+miniterm::
+
+ --- Miniterm on /dev/ttyS0: 9600,8,N,1 ---
+ --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+
Command line options can be given so that binary data including escapes for
terminals are escaped or output as hex.
-miniterm supports some control functions. Typing ``CTRL+T CTRL+H`` when it is
-running shows the help text.
+Command line options ``miniterm.py -h``::
+
+ Usage: miniterm.py [options] [port [baudrate]]
+
+ Miniterm - A simple terminal program for the serial port.
+
+ Options:
+ -h, --help show this help message and exit
+ -p PORT, --port=PORT port, a number (default 0) or a device name
+ (deprecated option)
+ -b BAUDRATE, --baud=BAUDRATE
+ set baud rate, default 9600
+ --parity=PARITY set parity, one of [N, E, O, S, M], default=N
+ -e, --echo enable local echo (default off)
+ --rtscts enable RTS/CTS flow control (default off)
+ --xonxoff enable software flow control (default off)
+ --cr do not send CR+LF, send CR only
+ --lf do not send CR+LF, send LF only
+ -D, --debug debug received data (escape non-printable chars)
+ --debug can be given multiple times: 0: just print
+ what is received 1: escape non-printable characters,
+ do newlines as unusual 2: escape non-printable
+ characters, newlines too 3: hex dump everything
+ --rts=RTS_STATE set initial RTS line state (possible values: 0, 1)
+ --dtr=DTR_STATE set initial DTR line state (possible values: 0, 1)
+ -q, --quiet suppress non error messages
+ --exit-char=EXIT_CHAR
+ ASCII code of special character that is used to exit
+ the application
+ --menu-char=MENU_CHAR
+ ASCII code of special character that is used to
+ control miniterm (menu)
+
+
+miniterm supports some control functions. Typing :kbd:`Control+t Control+h` when it is
+running shows the help text::
+
+ --- pySerial - miniterm - help
+ ---
+ --- Ctrl+] Exit program
+ --- Ctrl+T Menu escape key, followed by:
+ --- Menu keys:
+ --- Ctrl+T Send the menu character itself to remote
+ --- Ctrl+] Send the exit character to remote
+ --- Ctrl+I Show info
+ --- Ctrl+U Upload file (prompt will be shown)
+ --- Toggles:
+ --- Ctrl+R RTS Ctrl+E local echo
+ --- Ctrl+D DTR Ctrl+B BREAK
+ --- Ctrl+L line feed Ctrl+A Cycle repr mode
+ ---
+ --- Port settings (Ctrl+T followed by the following):
+ --- 7 8 set data bits
+ --- n e o s m change parity (None, Even, Odd, Space, Mark)
+ --- 1 2 3 set stop bits (1, 2, 1.5)
+ --- b change baud rate
+ --- x X disable/enable software flow control
+ --- r R disable/enable hardware flow control
+
miniterm.py_
The miniterm program.
@@ -35,6 +97,53 @@ with telnet) it forwards all data to the serial port and vice versa.
The serial port settings are set on the command line when starting the program.
There is no possibility to change settings from remote.
+::
+
+ Usage: tcp_serial_redirect.py [options] [port [baudrate]]
+
+ Simple Serial to Network (TCP/IP) redirector.
+
+ Options:
+ -h, --help show this help message and exit
+ -q, --quiet suppress non error messages
+ --spy peek at the communication and print all data to the
+ console
+
+ Serial Port:
+ Serial port settings
+
+ -p PORT, --port=PORT
+ port, a number (default 0) or a device name
+ -b BAUDRATE, --baud=BAUDRATE
+ set baud rate, default: 9600
+ --parity=PARITY set parity, one of [N, E, O], default=N
+ --rtscts enable RTS/CTS flow control (default off)
+ --xonxoff enable software flow control (default off)
+ --rts=RTS_STATE set initial RTS line state (possible values: 0, 1)
+ --dtr=DTR_STATE set initial DTR line state (possible values: 0, 1)
+
+ Network settings:
+ Network configuration.
+
+ -P LOCAL_PORT, --localport=LOCAL_PORT
+ local TCP port
+
+ Newline Settings:
+ Convert newlines between network and serial port. Conversion is
+ normally disabled and can be enabled by --convert.
+
+ -c, --convert enable newline conversion (default off)
+ --net-nl=NET_NEWLINE
+ type of newlines that are expected on the network
+ (default: LF)
+ --ser-nl=SER_NEWLINE
+ type of newlines that are expected on the serial port
+ (default: CR+LF)
+
+ NOTE: no security measures are implemented. Anyone can remotely connect to
+ this service over the network. Only one connection at once is supported. When
+ the connection is terminated it waits for the next connect.
+
tcp_serial_redirect.py_
Main program.
diff --git a/documentation/index.rst b/documentation/index.rst
index 8019123..96a78b5 100644
--- a/documentation/index.rst
+++ b/documentation/index.rst
@@ -1,10 +1,12 @@
-.. pySerial documentation master file, created by
- sphinx-quickstart on Tue Jul 21 00:27:45 2009.
- You can adapt this file completely to your liking, but it should at least
- contain the root `toctree` directive.
+.. pySerial documentation master file
-Welcome to pySerial's documentation!
-====================================
+Welcome to pySerial's documentation
+===================================
+
+This module encapsulates the access for the serial port. It provides backends
+for Python running on Windows, Linux, BSD (possibly any POSIX compliant
+system), Jython and IronPython (.NET and Mono). The module named "serial"
+automatically selects the appropriate backend.
Contents:
diff --git a/documentation/pyparallel.rst b/documentation/pyparallel.rst
index 36611a9..b7bab7d 100644
--- a/documentation/pyparallel.rst
+++ b/documentation/pyparallel.rst
@@ -12,7 +12,7 @@ not yet integrated.
This module is still under development. But it may be useful for developers.
- (C) 2001-2003 Chris Liechti <cliechti@gmx.net>
+Copyright (C) 2001-2003 Chris Liechti <cliechti(at)gmx.net>
Here is the `project page on SourceForge`_ and here is the `SVN repository`_.
@@ -26,11 +26,13 @@ Features
* port numbering starts at zero, no need to know the port name in the user program
* port string (device name) can be specified if access through numbering is inappropriate
+
Requirements
------------
* Python 2.2 or newer
* "Java Communications" (JavaComm) extension for Java/Jython
+
Installation
------------
Extract files from the archive, open a shell/console in that directory and let
@@ -39,7 +41,7 @@ Distutils do the rest: ``python setup.py install``
The files get installed in the "Lib/site-packages" directory in newer Python versions.
The windows version needs a compiled extension and the giveio.sys driver for
-Windows NT/2k/XP. The extension module can be compiled with distutils with
+Windows NT/2k/XP. The extension module can be compiled with Distutils with
either MSVC or GCC/mingw32.
It is released under a free software license, see LICENSE.txt for more details.
@@ -53,12 +55,14 @@ Short introduction
>>> p = parallel.Parallel() # open LPT1
>>> p.setData(0x55)
+
Examples
--------
Please look in the SVN Repository. There is an example directory where you can
find a simple terminal and more.
http://pyserial.svn.sourceforge.net/viewvc/pyserial/trunk/pyparallel/examples/
+
API
===
@@ -110,6 +114,7 @@ API
Read level of "busy" line.
+
.. module:: parallel.parallelutil
.. class:: BitaccessMeta
@@ -128,7 +133,8 @@ Misc
====
References
----------
-* Python: http://www.python.org/|http://www.python.org
-* Jython: http://www.jython.org/|http://www.jython.org
-* Java@IBM http://www-106.ibm.com/developerworks/java/jdk/ (JavaComm links are on the download page for the respective platform jdk)
-* Java@SUN http://java.sun.com/products/
+* Python: http://www.python.org/
+* Jython: http://www.jython.org/
+* Java@IBM: http://www-106.ibm.com/developerworks/java/jdk/ (JavaComm links are
+ on the download page for the respective platform JDK)
+* Java@SUN: http://java.sun.com/products/
diff --git a/documentation/pyserial.png b/documentation/pyserial.png
new file mode 100644
index 0000000..7fd45f4
--- /dev/null
+++ b/documentation/pyserial.png
Binary files differ
diff --git a/documentation/pyserial.rst b/documentation/pyserial.rst
index fcc3fd0..c7c7b3d 100644
--- a/documentation/pyserial.rst
+++ b/documentation/pyserial.rst
@@ -9,16 +9,17 @@ for Python running on Windows, Linux, BSD (possibly any POSIX compliant
system), Jython and IronPython (.NET and Mono). The module named "serial"
automatically selects the appropriate backend.
-It is released under a free software license, see LICENSE.txt_ for more
+It is released under a free software license, see LICENSE_ for more
details.
- (C) 2001-2009 Chris Liechti <cliechti@gmx.net>
+Copyright (C) 2001-2009 Chris Liechti <cliechti(at)gmx.net>
-The `project page on SourceForge`_ and here is the `SVN repository`_ and the `Download Page`_.
+The `project page on SourceForge`_ and here is the `SVN repository`_ and the
+`Download Page`_.
The homepage is at http://pyserial.sf.net.
-.. _LICENSE.txt: http://pyserial.svn.sourceforge.net/viewvc/*checkout*/pyserial/trunk/pyserial/LICENSE.txt
+.. _LICENSE: appendix.html#license
.. _`project page on SourceForge`: http://sourceforge.net/projects/pyserial/
.. _`SVN repository`: http://sourceforge.net/svn/?group_id=46487
.. _`Download Page`: http://sourceforge.net/project/showfiles.php?group_id=46487
@@ -26,19 +27,19 @@ The homepage is at http://pyserial.sf.net.
Features
========
-* same class based interface on all supported platforms
-* access to the port settings through Python 2.2+ properties
-* port numbering starts at zero, no need to know the port name in the user
- program
-* port string (device name) can be specified if access through numbering is
- inappropriate
-* support for different bytesizes, stopbits, parity and flow control with
- RTS/CTS and/or Xon/Xoff
-* working with or without receive timeout
-* file like API with "read" and "write" ("readline" etc. also supported)
+* Same class based interface on all supported platforms.
+* Access to the port settings through Python 2.2+ properties.
+* Port numbering starts at zero, no need to know the port name in the user
+ program.
+* Port string (device name) can be specified if access through numbering is
+ inappropriate.
+* Support for different bytesizes, stopbits, parity and flow control with
+ RTS/CTS and/or Xon/Xoff.
+* Working with or without receive timeout.
+* File like API with "read" and "write" ("readline" etc. also supported).
* The files in this package are 100% pure Python. They depend on non standard
but common packages on Windows (pywin32) and Jython (JavaComm). POSIX (Linux,
- BSD) uses only modules from the standard Python distribution)
+ BSD) uses only modules from the standard Python distribution).
* The port is set up for binary transmission. No NULL byte stripping, CR-LF
translation etc. (which are many times enabled for POSIX.) This makes this
module universally useful.
@@ -50,14 +51,15 @@ Requirements
* pywin32 extensions on Windows
* "Java Communications" (JavaComm) or compatible extension for Java/Jython
+
Installation
============
pyserial
--------
-This installs a package that can be used from python (``import serial``).
+This installs a package that can be used from Python (``import serial``).
-The Python pywin32 library needs to be installed on windows.
+The Python pywin32 library needs to be installed on Windows.
To install the module for all users on the system, administrator rights (root)
is required..
@@ -71,7 +73,7 @@ Unpack the archive, enter the ``pyserial-x.y`` directory and run::
Setuptools/PyPI
~~~~~~~~~~~~~~~
-Alternatively it can be installed from PyPy, either manually downloading the
+Alternatively it can be installed from PyPI, either manually downloading the
files and installing as described above or using::
easy_install -U pyserial
@@ -81,7 +83,7 @@ Packages
There are also packaged versions for some Linux distributions and Windows:
Debian/Ubuntu
- A package is availabe under the name "python-serial"
+ A package is available under the name "python-serial".
Windows
There is also a Windows installer for end users. It is located in the
@@ -96,9 +98,9 @@ References
* Python: http://www.python.org/
* pywin32: http://sourceforge.net/projects/pywin32/ (previously known as win32all)
* Jython: http://www.jython.org/
-* Java@IBM http://www-106.ibm.com/developerworks/java/jdk/ (JavaComm links are
- on the download page for the respective platform jdk)
-* Java@SUN http://java.sun.com/products/
+* Java@IBM: http://www-106.ibm.com/developerworks/java/jdk/ (JavaComm links are
+ on the download page for the respective platform JDK)
+* Java@SUN: http://java.sun.com/products/
* IronPython: http://www.codeplex.com/IronPython
* setuptools: http://peak.telecommunity.com/DevCenter/setuptools
diff --git a/documentation/pyserial_api.rst b/documentation/pyserial_api.rst
index fa67b89..82024f1 100644
--- a/documentation/pyserial_api.rst
+++ b/documentation/pyserial_api.rst
@@ -12,13 +12,8 @@ Classes
.. method:: __init__(port=None, baudrate=9600, bytesize=EIGHTBITS, parity=PARITY_NONE, stopbits=STOPBITS_ONE, timeout=None, xonxoff=0, rtscts=0, interCharTimeout=None)
:param port:
-
Device name or port number number or None.
- Number: number of device, numbering starts at zero
- Device name: depending on operating system. e.g. ``/dev/ttyUSB0``
- on GNU/Linux or ``COM3`` on Windows.
-
:param baudrate:
Baud rate such as 9600 or 115200 etc.
@@ -43,14 +38,18 @@ Classes
:param interCharTimeout:
Inter-character timeout, None to disable.
- The port is immediately opened on object creation, when a port is given. It
- is not opened when port is None.
+ The port is immediately opened on object creation, when a ``port`` is
+ given. It is not opened when port is None.
+
+ - Number: number of device, numbering starts at zero.
+ - Device name: depending on operating system. e.g. ``/dev/ttyUSB0``
+ on GNU/Linux or ``COM3`` on Windows.
- Possible values for the parameter ``timeout``::
+ Possible values for the parameter ``timeout``::
- timeout = None # wait forever
- timeout = 0 # non-blocking mode (return immediately on read)
- timeout = x # set timeout to x seconds (float allowed)
+ timeout = None # wait forever
+ timeout = 0 # non-blocking mode (return immediately on read)
+ timeout = x # set timeout to x seconds (float allowed)
.. method:: open()
@@ -79,7 +78,7 @@ Classes
Write the string `s` to the port.
- .. method:: flush(self):
+ .. method:: flush():
Flush of file like objects. In this case, wait until all data is
written.
@@ -130,8 +129,8 @@ Classes
.. attribute:: portstr
- Device name (Read Only). This is always the device name even if the
- port was opened by a number.
+ Device name. This is always the device name even if the
+ port was opened by a number. (Read Only).
.. attribute:: BAUDRATES
@@ -176,7 +175,7 @@ Classes
.. attribute:: timeout
- Timeout setting (seconds).
+ Timeout setting (seconds, float).
.. attribute:: xonxoff
@@ -226,7 +225,7 @@ Exceptions
Constants
=========
-parity
+Parity
------
.. data:: PARITY_NONE
.. data:: PARITY_EVEN
@@ -234,13 +233,13 @@ parity
.. data:: PARITY_MARK
.. data:: PARITY_SPACE
-stopbits
+Stopbits
--------
.. data:: STOPBITS_ONE
.. data:: STOPBITS_ONE_POINT_FIVE
.. data:: STOPBITS_TWO
-bytesize
+Bytesize
--------
.. data:: FIVEBITS
.. data:: SIXBITS