nicklaus lek / Mbed 2 deprecated Alpha_copy

Dependencies:   TextLCD mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers ChangeLog.c Source File

ChangeLog.c

00001 /* $Id:$
00002 
00003 1.21    10 May 2011
00004     
00005     * http://mbed.org/forum/mbed/topic/2264
00006     
00007 1.20    26 April 2011
00008 
00009     * Bug fix, not blocking on transmit
00010       by Erik Petrich, http://mbed.org/forum/bugs-suggestions/topic/2200
00011       
00012 1.19    20 April 2011
00013 
00014     * Fixed some doxygen comment bugs.
00015     
00016 1.18    20 April 2011
00017 
00018     * All callbacks now use MODSERIAL_callback (rather than Mbed's FunctionPointer[1] type)
00019       to store and invoke it's callbacks. This allows MODSERIAL to pass a parameter
00020       to callbacks. The function prototype is now void func(MODSERIAL_IRQ_INFO *q).
00021     * Callbacks now pass a pointer to a MODSERIAL_IRQ_INFO class type.
00022       This class holds a pointer to the MODSERIAL object that invoked the callback
00023       thus freeing callbacks need to use the global variable of the original 
00024       MODSERIAL instance.
00025     * MODSERIAL_IRQ_INFO also declares public functions that are protected within MODSERIAL
00026       thus allowing certain functions to be restricted to callback context only.
00027     * New function MODSERIAL_IRQ_INFO::rxDiscardLastChar() allows an rxCallback function
00028       to remove the character that was just placed into the RX buffer.
00029     
00030     [1] http://mbed.org/users/AjK/libraries/FPointer/latest/docs/
00031 
00032 1.17   08/Mar/2011
00033        Fixed a memory leak in the DMA code.
00034        
00035 1.16 - 12 Feb 2011
00036     
00037     * Missed one, doh!
00038 
00039 1.15 - 12 Feb 2011
00040     
00041     * Fixed some typos.
00042     
00043 1.14 - 7 Feb 2011
00044 
00045     * Fixed a bug in __putc() that caused the output buffer pointer to 
00046       become corrupted.
00047 
00048 1.13 - 20/01/2011
00049 
00050     * Added extra documentation.
00051     * Fixed some typos.
00052     
00053 1.12 - 20/01/2011
00054 
00055     * Added new "autoDetectChar()" function. To use:-
00056       1st: Add a callback to invoke when the char is detected:-        
00057         .attach(&detectedChar, MODSERIAL::RxAutoDetect);
00058       2nd: Send the char to detect.
00059         .autoDectectChar('\n');
00060       Whenever that char goes into the RX buffer your callback will be invoked.
00061       Added example2.cpp to demo a simple messaging system using this auto feature.
00062 
00063 
00064 1.11 - 23/11/2010
00065 
00066     * Fixed a minor issue with 1.10 missed an alteration of name change.
00067     
00068 1.10 - 23/11/2010
00069 
00070     * Rename the DMA callback from attach_dma_complete() to attach_dmaSendComplete()
00071     
00072 1.9 - 23/11/2010
00073 
00074     * Added support for DMA sending of characters. Required is
00075       the MODDMA library module:-
00076       http://mbed.org/users/AjK/libraries/MODDMA/latest
00077       See example_dma.cpp for more information.
00078       
00079 1.8 - 22/11/2010
00080 
00081     * Added code so that if a buffer is set to zero length then
00082       MODSERIAL defaults to just using the FIFO for that stream
00083       thus making the library "fall back" to teh same operation
00084       that the Mbed Serial library performs.
00085     * Removed dmaSend() function that should have been removed 
00086       at 1.7
00087     
00088 1.7 - 21/11/2010
00089 
00090     * Remove the DMA enum from MODSERIAL.h as it's not currently 
00091       ready for release.
00092     * Added page doxygen comments.
00093 
00094 1.6 - 21/11/2010
00095 
00096    * Version 1.5 solved a blocking problem on putc() when called 
00097      from another ISR. However, isr_tx() invokes a callback of it's
00098      own when a byte is tranferred from TX buffer to TX FIFO. User
00099      programs may interpret that as an IRQ callback. That's an ISR
00100      call from within an existing ISR which is not good. So the 
00101      TxIrq callback from isr_tx is now conditional. It will only
00102      be called when isr_tx() is actually within it's own ISR and
00103      not when called from alternate ISR handlers.
00104      
00105 1.5 - 21/11/2010
00106 
00107     * Calling putc() (or any derived function that uses it like
00108       printf()) while inside an interrupt service routine can
00109       cause the system to lock up if the TX buffer is full. This
00110       is because bytes are only transferred from the TX buffer to
00111       the TX FIFO via the TX ISR. If we are, say in an RX ISR already,
00112       then the TX ISR will never trigger. The TX buffer stays full and
00113       there is never space to putc() the byte. So, while putc() blocks
00114       waiting for space it calls isr_tx() to ensure if TX FIFO space
00115       becomes available it will move bytes from the TX buffer to TX
00116       FIFO thus removing the blocking condition within putc().
00117 
00118 1.4 - 21/11/2010
00119 
00120     * Removed all the new DMA code. I wish mbed.org had proper SVN
00121       versioning, I'm use to working in HEAD and BRANCHES after I've
00122       released a project. Getting bug reports in current releases
00123       while trying to dev new code is hard to manage without source
00124       control of some type!
00125 
00126 1.3 - 21/11/2010
00127 
00128     * Fixed a macro problem with txIsBusy()
00129     * Started adding code to use "block data" sending using DMA
00130     * Removed #include "IOMACROS.h"
00131     
00132 1.2 - 21/11/2010
00133 
00134     * Removed unsed variables from flushBuffer()
00135     * Fixed a bug where both RX AND TX fifos are cleared/reset 
00136       when just TX OR RX should be cleared.
00137     * Fixed a bug that cleared IIR when in fact it should be left
00138       alone so that any pending interrupt after flush is handled.
00139     * Merged setBase() into init() as it wasn't required anywhere else.
00140     * Changed init() to enforce _uidx is set by Serial to define the _base
00141       address of the Uart in use.
00142         
00143 1.1 - 20/11/2010
00144 
00145     * Added this file
00146     * Removed cruft from GETC.cpp
00147     * "teh" should be "the", why do my fingers do that?
00148 
00149 1.0 - 20/11/2010
00150 
00151     * First release.
00152 
00153 */