public inbox for ecos-devel@sourceware.org
 help / color / mirror / Atom feed
From: Gary Thomas <gary@mlbassoc.com>
To: Guennadi Liakhovetski <gl@dsa-ac.de>
Cc: Alexander Aganichev <aaganichev@gmail.com>,
	  ecos-devel@ecos.sourceware.org
Subject: Re: Question to 16x5x driver users
Date: Tue, 19 Jun 2007 11:25:00 -0000	[thread overview]
Message-ID: <4677BD2F.3010909@mlbassoc.com> (raw)
In-Reply-To: <Pine.LNX.4.63.0706190858061.8578@pcgl.dsa-ac.de>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Guennadi Liakhovetski wrote:
> On Mon, 18 Jun 2007, Alexander Aganichev wrote:
> 
>> I found that driver not transmit anything in interrupt driving mode
>> unless I made the following patch:
>>
>> Index: packages/devs/serial/generic/16x5x/current/src/ser_16x5x.c
>> ===================================================================
>> RCS file:
>> /cvs/ecos/ecos/packages/devs/serial/generic/16x5x/current/src/ser_16x5x.c,v
>> retrieving revision 1.14
>> diff -u -r1.14 ser_16x5x.c
>> --- packages/devs/serial/generic/16x5x/current/src/ser_16x5x.c	27 Nov
>> 2006 13:59:50 -0000	1.14
>> +++ packages/devs/serial/generic/16x5x/current/src/ser_16x5x.c	18 Jun
>> 2007 12:21:30 -0000
>> @@ -516,6 +516,7 @@
>>     HAL_READ_UINT8(base+REG_ier, _ier);
>>     _ier |= IER_XMT;                    // Enable xmit interrupt
>>     HAL_WRITE_UINT8(base+REG_ier, _ier);
>> +    (chan->callbacks->xmt_char)(chan); // <<<<<<
>> }
>>
>> // Disable the transmitter on the device
>>
>> Am I right to make this change or I just missed another process that
>> should call xmt_char? I'm using LPC2294 based board and use this
>> driver for the UART1.
> 
> It looks like eCos uses the usual UART sending procedure - enable tx-empty 
> (IER_XMT) interrupt and return, then the interrupt should trigger as soon 
> as tx is empty / tx fifo can take more data, and you write more data in 
> your interrupt handler to the port. The fact it doesn't work for you means 
> most probably that you're not getting tx-empty interrupts, and, perhaps, 
> no UART interrupts at all.

In my experience, this [incorrect] behaviour is not all that
uncommon.  I think that a CDL controlled option to enable this
initial "push" (although I'd call it 'priming') is the correct
fix.

Alexander, please provide a proper patch, along with ChangeLog
entry to ecos-patches@ecos.sourceware.org.  We'll review and
apply as appropriate.

- --
- ------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
- ------------------------------------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFGd70vmaKbSsQGV8ARAqFQAJ0dpBdJMlwo04vgESqSK+W6dNW1yACdFhjf
hBhKas2iXs6VTrU69HNeqtw=
=7V3c
-----END PGP SIGNATURE-----

  reply	other threads:[~2007-06-19 11:25 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-18 13:11 Alexander Aganichev
2007-06-19  7:01 ` Guennadi Liakhovetski
2007-06-19 11:25   ` Gary Thomas [this message]
2007-06-23 10:04     ` unsubscribe capiman@t-online.de Martin Maurer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4677BD2F.3010909@mlbassoc.com \
    --to=gary@mlbassoc.com \
    --cc=aaganichev@gmail.com \
    --cc=ecos-devel@ecos.sourceware.org \
    --cc=gl@dsa-ac.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 read-only IMAP folder(s) and NNTP newsgroup(s).