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.
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 */
Generated on Sat Jul 16 2022 22:53:19 by
1.7.2