simulavr-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Simulavr-devel] Re: [Fwd: Re: Simulavrxx changes]


From: Klaus Rudolph
Subject: [Simulavr-devel] Re: [Fwd: Re: Simulavrxx changes]
Date: Tue, 5 Jul 2005 07:30:35 +0200 (MEST)

Hi Artur,

sounds that you have thrown a deep view in the uart :-).
And also sounds like a very big patch. It would be nice if you
could send the patch (against actual CVS) to me. Please send
patches not over the mailing list, please as PM or over the patch
engine on savannah. For all our development related things
please use the mailing list, because this help others to see
that actual there is someone who works on a problem or a feature.

Thanks a lot

Klaus




> Hi Claus, Bill!
> 
> I'm Artur, Oleg told you about me. As oleg was trying to improve make 
> process, i tried to get some simple progs working in simulation, and found
> some bugs while exchanging data by uart.
> 
> 1) HWUsart has NO implementation of synchronous data exchange. And NO 
> implementation of asyncrorous 2X speed data exchange. That's not really a 
> bug, that's a TODO...  NOT FIXED.
> 
> 2) HWUart did not cause interrupt on (RXC && RXCIE && GIE). The reason was
> that HWUart set the flags in corresponding registers, but did not 
> ajust them in IRQSystem. That was in several places, i fixed all i found, 
> but do not gurantee there are no more such bugz. PROBABLY FIXED :)
> 
> 3) When HWUart was receiving stop bit and setting overrun error there was 
> a check 'if (usr|RXC)'. Now changed for 'if (usr&RXC)'  FIXED
> 
> 4) HWUart when receiving stop bit waited 15 samples for it, so stop bit 
> had a pretty good chance to end by the time HWUart checked for it. Then 
> HWUart waited for HIGH and after that next LOW bit was assumed to be 
> startbit  So when sending many bytes one right after another, then it
> received 
> wrong way. This bug did not cause any trouble until transmission speed was
> within the limit, where stop bit was long anough (after stop bit a least 
> for 1 bit time the sender was inactive, that caused HIGH state on the 
> line).   FIXED.
> 
> 5) SerialRX had almost the same bug that had an affect when sender's baud 
> rate was higher than SerialRx's baud rate. It means if core speed is 
> 4Mhz, UBRR is 25 the baud rate of HWUart must be about 9615/sec. So if 
> SerialRx, connected to it, had baud rate < 9616 there was a bug... FIXED.
> 
> 6) Pin had a bud (probably nobody just had a time to think about it) that 
> when a one pin is OUTPUT pin (outState is HIGH or LOW) and connected to it
> pin was PULLUP or PULLDOWN there was a bug in "Pin::operator bool() 
> const". FIXED.
> 
> For now that's all i found. All of it i found while trying to get uart 
> working. At the moment with these fixes it seems to be working - i 
> tested it..
> 
> 
> Artur Abels.
> 

-- 
Weitersagen: GMX DSL-Flatrates mit Tempo-Garantie!
Ab 4,99 Euro/Monat: http://www.gmx.net/de/go/dsl




reply via email to

[Prev in Thread] Current Thread [Next in Thread]