linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 9 bit serial / non-blocking TCSADRAIN
@ 2022-05-05 17:01 Baltazár Radics
  2022-05-06 10:59 ` David Laight
  0 siblings, 1 reply; 2+ messages in thread
From: Baltazár Radics @ 2022-05-05 17:01 UTC (permalink / raw)
  To: linux-serial, linux-kernel

Hello!

I want to use a raspberry pi's serial to communicate over a protocol
that uses 9-bit characters, so currently I'm using the stick parity
mode (CMSPAR) and toggling between odd and even parity, then using
tcsetattr with TCSADRAIN as the second argument, which blocks until all
bytes are transmitted. Is there a non-blocking api to do the same
thing, so I can use it from poll / select? (If there's a better way to
do 9 bit character size, that'd be even better. For my protocol, the
9th bit is only used to tell address bytes from data bytes, so I don't
have to change it often, so I guess my current method isn't too
horrible.)

Thanks!

^ permalink raw reply	[flat|nested] 2+ messages in thread

* RE: 9 bit serial / non-blocking TCSADRAIN
  2022-05-05 17:01 9 bit serial / non-blocking TCSADRAIN Baltazár Radics
@ 2022-05-06 10:59 ` David Laight
  0 siblings, 0 replies; 2+ messages in thread
From: David Laight @ 2022-05-06 10:59 UTC (permalink / raw)
  To: 'Baltazár Radics', linux-serial@vger.kernel.org,
	linux-kernel@vger.kernel.org

From: Baltazár Radics
> Sent: 05 May 2022 18:02
> 
> I want to use a raspberry pi's serial to communicate over a protocol
> that uses 9-bit characters, so currently I'm using the stick parity
> mode (CMSPAR) and toggling between odd and even parity, then using
> tcsetattr with TCSADRAIN as the second argument, which blocks until all
> bytes are transmitted. Is there a non-blocking api to do the same
> thing, so I can use it from poll / select? (If there's a better way to
> do 9 bit character size, that'd be even better. For my protocol, the
> 9th bit is only used to tell address bytes from data bytes, so I don't
> have to change it often, so I guess my current method isn't too
> horrible.)

Does anything give the option of generating non-hdlc synchronous data?
You might be able to use two bytes to generate a single 9-bit
async character or three bytes to generate two 9-bit characters.

	David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-05-06 10:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-05 17:01 9 bit serial / non-blocking TCSADRAIN Baltazár Radics
2022-05-06 10:59 ` David Laight

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).