Re: Amiga serial port programming question

From: Daniel Kahlin (tlr_at_stacken.kth.se)
Date: 2004-01-24 16:06:56

On Sat, 24 Jan 2004, Marko Mäkelä wrote:

> > I attached the file bl_serial.c which is the Amiga serial-drivers for 
> > over5, originally based on Olaf Barthel's 'Term' code.
> 
> The only function that does CMD_WRITE is SerWrite, and it uses DoIO(), which
> blocks until completion.  So, there is no write timeout.  BTW, the strlen
> call is unnecessary in SerWrite.  If io_Length is set to -1, the serial
> line driver will assume that io_Data points to a NUL-terminated string.

Oh, sorry I missed that it was writing you asked for.  Over5 doesn't use 
normal RTS/CTS or Xon/Xoff handshaking, so write doesn't really need 
timeouts.
 
Regards
/Daniel

> I looked at the C-Kermit source code, and it appears to send characters
> input from the console one at a time.  That works for a terminal program,
> but I don't think that the full bandwidth of a 38400 bps serial line could
> be saturated that way.

I don't think that it will get full speed either.  I think I tried it 
once, and it was really slow on an old A500.    
Do you really need to know the exact offset of the timeout though?
It would be a big improvement over single byte writes if you could just 
send a block, and then maybe resend that block if there were errors.
In over5 everything is blocked in chunks of maximum 256 bytes, but you
would probably get ok performance with much less.

Regards
/Daniel




       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.