/** \mainpage
*
* \section GENERAL General information
*
* \b serdisplib is a library to drive certain displays with built-in controllers and
* generic display controlers which can be found in
* \li cell phones
* \li photocopiers
* \li display modules sold for case modding
* \li a.s.o.\n\n
* \li http://serdisplib.sourceforge.net/#displays supported displays
* \li \subpage SD_FEATURES
*
* \section APIREF API reference
* \li \ref SERDISP_CONNECT "serdisp_connect.h" ... accessing an output device
* \li \ref SERDISP_CONTROL "serdisp_control.h" ... accessing and controlling a display
* \li \ref SERDISP_COLOUR "serdisp_colour.h" ... drawing on a display
* \li \ref SERDISP_GPEVENTS "serdisp_gpevents.h" ... general purpose input/output, event-handling
* \li \ref SERDISP_MESSAGES "serdisp_messages.h" ... messages, error handling, useful defines
* \li \ref SERDISP_PROCCMD "serdisp_proccmd.h" ... command processor
* \n \n
* \li All functions sorted alphabetically\n\n
* \li \subpage EXAMPLES\n\n
* \li \subpage APICHANGES
*
* \section PROJINFO Project information
* \li \subpage AUTHORS (\p AUTHORS)
* \li \subpage COPYING (\p COPYING)
* \li \subpage README (\p README)
* \li \subpage PINOUTS (\p PINOUTS)
* \li \subpage HISTORY (\p HISTORY)
*
* \section ARCHIVEDDOC Archived documentation
* \li serdisplib version <= v 1.97
* \li serdisplib version <= v 1.95
* \li serdisplib version <= v 1.94
* \li serdisplib version <= v 1.92
*
*/
/**
\page SD_FEATURES serdisplib features
\copydoc SDC_FEATURES
*/
/**
\page APICHANGES API changes
\par serdisplib v.1.92:
The additional support of direct I/O starting with version 1.92 requested a change in the API:\n
instead of int filehandles a \b structure \p ppd (parallel port descriptor) is now used.\n
serdisp_init() now has an extra parameter that will be used in the future.
\par serdisplib v.1.93:
Starting with version 1.93, more output devices are supported (besides parallel port now
also serial port for i2c-displays).\n
This requested another API-change:
\li serdisp_parport.h, PP_open(), PP_close() and PP_write() where replaced through serdisp_connect.h, SDCONN_open(), SDCONN_close() and SDCONN_write()
\li also the descriptor serdisp_PP_t was renamed to serdisp_CONN_t
\li for limited backward compatibility serdisp_parport.h is still existing and contains defines that resemble the old names (but it is highly recommended to only use serdisp_connect.h)
\li no display descriptor fields should be accessed directly. so ONLY serdisp_quit() should be used for shutting down the output device (\em not SDCONN_close(dd->sdcd) any longer)
\li if the output device is needed at runtime or needs to be accessed, serdisp_getSDCONN() should be used (but please \em not dd->sdcd any more)
\par serdisplib v.1.95:
Version 1.95 introduces future support for colour displays.\n
This requested a small change in two major functions and a re-define of their tasks:
\li Parameter colour in serdisp_setpixel()/serdisp_getpixel() was changed from int to long. This should have no drawbacks in 32+ bit architectures, a recompile should do.
\li Type long will be the type for a colour in serdisplib. Format: #AARRGGBB -> one byte for alpha, red, green, and blue channel each.
\li serdisp_setpixel()/serdisp_getpixel() should no longer be used in applications because they process colour information in a hardware-dependend representation.
\li Instead of these serdisp_setcolour()/serdisp_getcolour() should be used in applications as they process colour information in a hardware-independend representation.
\li #include ; includes all relevant serdisplib header files
\par serdisplib v.1.96:
no API-changes in version 1.96.\n
\n
The only change to an existing function: serdisp_reset() now only re-initialises the display
whereas the newly added function serdisp_fullreset() closes and re-opens the device and fully
re-initialises the display (the splitting into two functions was necessary to avoid an API-change).\n
the former serdisp_reset() was rather buggy anyways ...)\n
\n
deprecated function: serdisp_feature() has been superseded by serdisp_setoption().
further infos on changes: \ref HISTORY "HISTORY" and \ref README "README".
*/
/** \page AUTHORS Authors involved and contributing
* \verbinclude "AUTHORS"
*/
/** \page COPYING GNU General Public License, Version 2
* \verbinclude "COPYING"
*/
/** \page README How to compile, package, and use the library
* \verbinclude "README"
*/
/** \page HISTORY History of changes
* \verbinclude "HISTORY"
*/
/** \page PINOUTS Collected pinouts for certain displays / display-modules
* \verbinclude "PINOUTS"
*/
/** \page EXAMPLES Some examples
* A short, but complete example to give a first impression:
*
* \include "example1.txt"
*
* Open display, draw something, and exit \em without clearing the display:
*
* \include "example2.txt"
*/