Naze32 clone with Frysky receiver
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ChangeLog.c 6.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. /* $Id:$
  2. 1.25 8th January 2013
  3. * Bring back into line with MBed libraries.
  4. * Credits:
  5. Erik Olieman : http://mbed.org/users/Sissors/code/MODSERIAL/rev/3ba4341d74d6
  6. Erik Olieman : http://mbed.org/users/Sissors/code/MODSERIAL/rev/a469aa702bab
  7. 1.24 6th Dec 2012
  8. * Beta release for new Mbed library.
  9. 1.23 25th July 2012
  10. * LPC1768 code as was. This release includes "alpha" support for the LPC11U24
  11. 1.22 19th April 2012
  12. * http://mbed.org/forum/bugs-suggestions/topic/2936/
  13. * Bug fix, protect important buffer pointers from IRQ corruption.
  14. * Credits:
  15. Anthony Wieser http://mbed.org/users/WieserSoftwareLtd/ for the fix.
  16. BlazeX http://mbed.org/users/BlazeX/ for the alert that a fix was needed!
  17. 1.21 10 May 2011
  18. * http://mbed.org/forum/mbed/topic/2264
  19. 1.20 26 April 2011
  20. * Bug fix, not blocking on transmit
  21. by Erik Petrich, http://mbed.org/forum/bugs-suggestions/topic/2200
  22. 1.19 20 April 2011
  23. * Fixed some doxygen comment bugs.
  24. 1.18 20 April 2011
  25. * All callbacks now use MODSERIAL_callback (rather than Mbed's FunctionPointer[1] type)
  26. to store and invoke it's callbacks. This allows MODSERIAL to pass a parameter
  27. to callbacks. The function prototype is now void func(MODSERIAL_IRQ_INFO *q).
  28. * Callbacks now pass a pointer to a MODSERIAL_IRQ_INFO class type.
  29. This class holds a pointer to the MODSERIAL object that invoked the callback
  30. thus freeing callbacks need to use the global variable of the original
  31. MODSERIAL instance.
  32. * MODSERIAL_IRQ_INFO also declares public functions that are protected within MODSERIAL
  33. thus allowing certain functions to be restricted to callback context only.
  34. * New function MODSERIAL_IRQ_INFO::rxDiscardLastChar() allows an rxCallback function
  35. to remove the character that was just placed into the RX buffer.
  36. [1] http://mbed.org/users/AjK/libraries/FPointer/latest/docs/
  37. 1.17 08/Mar/2011
  38. Fixed a memory leak in the DMA code.
  39. 1.16 - 12 Feb 2011
  40. * Missed one, doh!
  41. 1.15 - 12 Feb 2011
  42. * Fixed some typos.
  43. 1.14 - 7 Feb 2011
  44. * Fixed a bug in __putc() that caused the output buffer pointer to
  45. become corrupted.
  46. 1.13 - 20/01/2011
  47. * Added extra documentation.
  48. * Fixed some typos.
  49. 1.12 - 20/01/2011
  50. * Added new "autoDetectChar()" function. To use:-
  51. 1st: Add a callback to invoke when the char is detected:-
  52. .attach(&detectedChar, MODSERIAL::RxAutoDetect);
  53. 2nd: Send the char to detect.
  54. .autoDectectChar('\n');
  55. Whenever that char goes into the RX buffer your callback will be invoked.
  56. Added example2.cpp to demo a simple messaging system using this auto feature.
  57. 1.11 - 23/11/2010
  58. * Fixed a minor issue with 1.10 missed an alteration of name change.
  59. 1.10 - 23/11/2010
  60. * Rename the DMA callback from attach_dma_complete() to attach_dmaSendComplete()
  61. 1.9 - 23/11/2010
  62. * Added support for DMA sending of characters. Required is
  63. the MODDMA library module:-
  64. http://mbed.org/users/AjK/libraries/MODDMA/latest
  65. See example_dma.cpp for more information.
  66. 1.8 - 22/11/2010
  67. * Added code so that if a buffer is set to zero length then
  68. MODSERIAL defaults to just using the FIFO for that stream
  69. thus making the library "fall back" to teh same operation
  70. that the Mbed Serial library performs.
  71. * Removed dmaSend() function that should have been removed
  72. at 1.7
  73. 1.7 - 21/11/2010
  74. * Remove the DMA enum from MODSERIAL.h as it's not currently
  75. ready for release.
  76. * Added page doxygen comments.
  77. 1.6 - 21/11/2010
  78. * Version 1.5 solved a blocking problem on putc() when called
  79. from another ISR. However, isr_tx() invokes a callback of it's
  80. own when a byte is tranferred from TX buffer to TX FIFO. User
  81. programs may interpret that as an IRQ callback. That's an ISR
  82. call from within an existing ISR which is not good. So the
  83. TxIrq callback from isr_tx is now conditional. It will only
  84. be called when isr_tx() is actually within it's own ISR and
  85. not when called from alternate ISR handlers.
  86. 1.5 - 21/11/2010
  87. * Calling putc() (or any derived function that uses it like
  88. printf()) while inside an interrupt service routine can
  89. cause the system to lock up if the TX buffer is full. This
  90. is because bytes are only transferred from the TX buffer to
  91. the TX FIFO via the TX ISR. If we are, say in an RX ISR already,
  92. then the TX ISR will never trigger. The TX buffer stays full and
  93. there is never space to putc() the byte. So, while putc() blocks
  94. waiting for space it calls isr_tx() to ensure if TX FIFO space
  95. becomes available it will move bytes from the TX buffer to TX
  96. FIFO thus removing the blocking condition within putc().
  97. 1.4 - 21/11/2010
  98. * Removed all the new DMA code. I wish mbed.org had proper SVN
  99. versioning, I'm use to working in HEAD and BRANCHES after I've
  100. released a project. Getting bug reports in current releases
  101. while trying to dev new code is hard to manage without source
  102. control of some type!
  103. 1.3 - 21/11/2010
  104. * Fixed a macro problem with txIsBusy()
  105. * Started adding code to use "block data" sending using DMA
  106. * Removed #include "IOMACROS.h"
  107. 1.2 - 21/11/2010
  108. * Removed unsed variables from flushBuffer()
  109. * Fixed a bug where both RX AND TX fifos are cleared/reset
  110. when just TX OR RX should be cleared.
  111. * Fixed a bug that cleared IIR when in fact it should be left
  112. alone so that any pending interrupt after flush is handled.
  113. * Merged setBase() into init() as it wasn't required anywhere else.
  114. * Changed init() to enforce _uidx is set by Serial to define the _base
  115. address of the Uart in use.
  116. 1.1 - 20/11/2010
  117. * Added this file
  118. * Removed cruft from GETC.cpp
  119. * "teh" should be "the", why do my fingers do that?
  120. 1.0 - 20/11/2010
  121. * First release.
  122. */