Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of MODSERIAL by
ChangeLog.c
- Committer:
- AjK
- Date:
- 2010-11-22
- Revision:
- 8:775f860e94d3
- Parent:
- 7:ffa4a7cb7f8d
- Child:
- 9:b3cdae80e7a9
File content as of revision 8:775f860e94d3:
/* $Id:$
1.8 - 22/11/2010
* Added code so that if a buffer is set to zero length then
MODSERIAL defaults to just using the FIFO for that stream
thus making the library "fall back" to teh same operation
that the Mbed Serial library performs.
* Removed dmaSend() function that should have been removed
at 1.7
1.7 - 21/11/2010
* Remove the DMA enum from MODSERIAL.h as it's not currently
ready for release.
* Added page doxygen comments.
1.6 - 21/11/2010
* Version 1.5 solved a blocking problem on putc() when called
from another ISR. However, isr_tx() invokes a callback of it's
own when a byte is tranferred from TX buffer to TX FIFO. User
programs may interpret that as an IRQ callback. That's an ISR
call from within an existing ISR which is not good. So the
TxIrq callback from isr_tx is now conditional. It will only
be called when isr_tx() is actually within it's own ISR and
not when called from alternate ISR handlers.
1.5 - 21/11/2010
* Calling putc() (or any derived function that uses it like
printf()) while inside an interrupt service routine can
cause the system to lock up if the TX buffer is full. This
is because bytes are only transferred from the TX buffer to
the TX FIFO via the TX ISR. If we are, say in an RX ISR already,
then the TX ISR will never trigger. The TX buffer stays full and
there is never space to putc() the byte. So, while putc() blocks
waiting for space it calls isr_tx() to ensure if TX FIFO space
becomes available it will move bytes from the TX buffer to TX
FIFO thus removing the blocking condition within putc().
1.4 - 21/11/2010
* Removed all the new DMA code. I wish mbed.org had proper SVN
versioning, I'm use to working in HEAD and BRANCHES after I've
released a project. Getting bug reports in current releases
while trying to dev new code is hard to manage without source
control of some type!
1.3 - 21/11/2010
* Fixed a macro problem with txIsBusy()
* Started adding code to use "block data" sending using DMA
* Removed #include "IOMACROS.h"
1.2 - 21/11/2010
* Removed unsed variables from flushBuffer()
* Fixed a bug where both RX AND TX fifos are cleared/reset
when just TX OR RX should be cleared.
* Fixed a bug that cleared IIR when in fact it should be left
alone so that any pending interrupt after flush is handled.
* Merged setBase() into init() as it wasn't required anywhere else.
* Changed init() to enforce _uidx is set by Serial to define the _base
address of the Uart in use.
1.1 - 20/11/2010
* Added this file
* Removed cruft from GETC.cpp
* "teh" should be "the", why do my fingers do that?
1.0 - 20/11/2010
* First release.
*/
