[Armadillo:05285] Re: /dev/ttyAM1 での送信完了タイミング検知方法
Masahiro Hanada
email@hidden
2010年 6月 2日 (水) 15:29:44 JST
花田です。
SAITOH Akinori <email@hidden> wrote:
> デバイスドライバの実装依存ですが,
> (void) ioctl(iofd, TCSBRK, 1); /* Wait for output to drain */
> が有効かもしれません.SystemVでの事例は有りました.
あー、使えそうですね。(試してはいないんですけど)
char/tty_io.cのtty_ioctl()で、
TIOCSETD/TIOCSBRK/TCSBRK/TCSBRKPはtty_wait_until_sent()が
呼ばれるようになっています。
tty_wait_until_sent()の中からはdriverのwait_until_sent()が呼ばれますので、
serial/serial_core.cのuart_wait_until_sent()に行き着き、この中で
serial/ep93xx.cのep93xxuart_tx_empty()が真になるまで待ってくれるはず。
コード見てみた限りでは、こんな感じです。
> あと,TIOCDRAINってのが使えるかもしれません.が,もしかすると
> BSDにしかないioctlかも.
こちらはlinuxにはなさそうですねぇ
____________________________________________________
花田 政弘 (はなだ まさひろ)
E-mail: email@hidden
____________________________________________________
armadillo メーリングリストの案内