Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > UART parity setting as "mark" or "space" (using Pyserial???)

Reply
Thread Tools

UART parity setting as "mark" or "space" (using Pyserial???)

 
 
Petr Jakes
Guest
Posts: n/a
 
      11-03-2005
Hi,

I am trying to set-up communication to the coin change-giver from my
Linux box using the Python code. The change giver uses MDB (Multi Drop
Bus) serial protocol to communicate with the master. MDB protocol is
the 9bit serial protocol:
(TX, RX lines only) 9600bps, 9bits, No Parity, 1 Start, 1 Stop.

I would like to control the UART "parity bit" to try to simulate 9bit
communication.

Using Pyserial it is possible to set the parity bit as ODD, EVEN or
NONE.

I have found in the following link (paragraph 21.3)
http://howtos.linux.com/howtos/Seria...1.shtml#ss21.1
that UART hardware supports two "rarely used" parity settings as well:
mark parity and space parity (these setings are also known as "sticky
parity")

A "mark" is a 1-bit (or logic 1) and a "space" is a 0-bit (or logic 0).
For mark parity, the parity bit is always a one-bit. For space parity
it's always a zero-bit.

Does anybody here knows some "tricks" how to set up the mark and space
parity on the UART (using pyserial???), so I can simulate 9bit
communication? (I know it sounds silly, but I would like to try to
re-configure the UART parity before each byte transmission).

Any comment will be appreciated.

Petr Jakes

 
Reply With Quote
 
 
 
 
Grant Edwards
Guest
Posts: n/a
 
      11-04-2005
On 2005-11-03, Petr Jakes <(E-Mail Removed)> wrote:

> Using Pyserial it is possible to set the parity bit as ODD, EVEN or
> NONE.


Correct. Those are the parity settings supported by pretty
much all platforms.

[...]

> Does anybody here knows some "tricks" how to set up the mark
> and space parity on the UART (using pyserial???),


What OS? Mark and space parity are not supported by the Unix
termios API that is used to do serial port stuff.

> so I can simulate 9bit communication? (I know it sounds silly,
> but I would like to try to re-configure the UART parity before
> each byte transmission).


I suspect you're going to have to talk to the UART yourself to
do this.

In addition to the problem with mark/space being unsupported,
you have to wait until each byte is completely sent (including
the parity bit) before changing the parity and loading the next
byte into the data register. Many OSes "drain" functions are
notoriously inaccurate.

--
Grant Edwards grante Yow! Did I say I was a
at sardine? Or a bus???
visi.com
 
Reply With Quote
 
 
 
 
Petr Jakes
Guest
Posts: n/a
 
      11-12-2005
To provide feedback:

I have found the way how to control serial port parity bit on the Linux
(how to set the parity bit to the "mark" or "space" parity) within
Python using termios module.

With the help of:
http://www.lothosoft.ch/thomas/libmi...paceparity.php
=======================================
import serial
import termios
import TERMIOS

ser=serial.Serial('/dev/ttyS0', 9600, 8, "N", timeout=1)

iflag, oflag, cflag, lflag, ispeed, ospeed, cc = termios.tcgetattr(ser)

cflag |= PARENB | CMSPAR # To select SPACE parity
cflag &= ~PARODD

cflag |= PARENB | CMSPAR | PARODD # to select MARK parity

termios.tcsetattr(ser, termios.TCSANOW, [iflag, oflag, cflag, lflag,
ispeed, ospeed, cc])
=======================================
Using above mentioned it is possible to establish 9bit serial
communication according to the given protocol specifics. It is
necessary to control parity bit setting before sending each
communication byte.

Regards

Petr Jakes

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
UART Receiver Parity Check Anson.Stuggart@gmail.com VHDL 2 05-21-2007 08:28 PM
Issues on clockless UART Shashi VHDL 3 04-22-2004 12:05 AM
Issues on Shift Register in a Clockless UART Shashi VHDL 0 04-20-2004 11:51 PM
Re: vhdl UART Mike Treseler VHDL 1 08-10-2003 08:45 PM
UART Implementation Anand P Paralkar VHDL 2 07-07-2003 05:53 AM



Advertisments