MODSERIAL with support for more devices. Added support for LPC4330

Dependents:   HC05_AT_mode GPS_U-blox_NEO-6M_Test_Code GPS_U-blox_NEO-6M_Code UbloxGPSWithThread ... more

Fork of MODSERIAL by Erik -

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers ChangeLog.c Source File

ChangeLog.c

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