comp.lang.ada
 help / color / mirror / Atom feed
* Bidirectional UART design for Ravenscar
@ 2017-08-25 22:24 Simon Wright
  2017-08-25 22:40 ` Niklas Holsti
  2017-08-26 11:04 ` Jeffrey R. Carter
  0 siblings, 2 replies; 3+ messages in thread
From: Simon Wright @ 2017-08-25 22:24 UTC (permalink / raw)


I'm trying to implement a two-way interrupt-driven interface via a UART
with Ravenscar, and having trouble because there is one interrupt with
multiple causes; a writer must wait until transmission is possible
before putting the next character, while a reader must wait until
there's a character to be read.

This makes it hard to write a PO with a single entry (a Ravenscar
restriction) that serves both requirements.

It occurs to me that the interrupt handler could release one of two
suspension objects; if it's Tx_Transfer_Complete, release the SO that
the writer waits on, if it's Rx_Transfer_Complete release the reader's
SO.

Does that seem a reasonable approach?


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

end of thread, other threads:[~2017-08-26 11:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-25 22:24 Bidirectional UART design for Ravenscar Simon Wright
2017-08-25 22:40 ` Niklas Holsti
2017-08-26 11:04 ` Jeffrey R. Carter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox