Reaction Wheel Actuated Satellite Dynamics Test Platform

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers ChangeLog.c Source File

ChangeLog.c

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