Updated doc.

This commit is contained in:
Francois Best 2012-10-08 07:50:19 +02:00
parent 5fe1ca0697
commit ac86227ed1
3 changed files with 64 additions and 36 deletions

View File

@ -1,4 +1,4 @@
# Doxyfile 1.8.1.2 # Doxyfile 1.8.2
# This file describes the settings to be used by the documentation system # This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project # doxygen (www.doxygen.org) for a project
@ -136,7 +136,9 @@ FULL_PATH_NAMES = YES
# only done if one of the specified strings matches the left-hand part of # only done if one of the specified strings matches the left-hand part of
# the path. The tag can be used to show relative paths in the file list. # the path. The tag can be used to show relative paths in the file list.
# If left blank the directory from which doxygen is run is used as the # If left blank the directory from which doxygen is run is used as the
# path to strip. # path to strip. Note that you specify absolute paths here, but also
# relative paths, which will be relative from the directory where doxygen is
# started.
STRIP_FROM_PATH = /Users/dimitri/doxygen/mail/1.5.7/doxywizard/ STRIP_FROM_PATH = /Users/dimitri/doxygen/mail/1.5.7/doxywizard/
@ -239,14 +241,15 @@ OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO OPTIMIZE_OUTPUT_VHDL = NO
# Doxygen selects the parser to use depending on the extension of the files it # Doxygen selects the parser to use depending on the extension of the files it
# parses. With this tag you can assign which parser to use for a given extension. # parses. With this tag you can assign which parser to use for a given
# Doxygen has a built-in mapping, but you can override or extend it using this # extension. Doxygen has a built-in mapping, but you can override or extend it
# tag. The format is ext=language, where ext is a file extension, and language # using this tag. The format is ext=language, where ext is a file extension,
# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, # and language is one of the parsers supported by doxygen: IDL, Java,
# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make # Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C,
# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C # C++. For instance to make doxygen treat .inc files as Fortran files (default
# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions # is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note
# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. # that for custom extensions you also need to set FILE_PATTERNS otherwise the
# files are not read by doxygen.
EXTENSION_MAPPING = EXTENSION_MAPPING =
@ -259,6 +262,13 @@ EXTENSION_MAPPING =
MARKDOWN_SUPPORT = YES MARKDOWN_SUPPORT = YES
# When enabled doxygen tries to link words that correspond to documented classes,
# or namespaces to their corresponding documentation. Such a link can be
# prevented in individual cases by by putting a % sign in front of the word or
# globally by setting AUTOLINK_SUPPORT to NO.
AUTOLINK_SUPPORT = YES
# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
# to include (a tag file for) the STL sources as input, then you should # to include (a tag file for) the STL sources as input, then you should
# set this tag to YES in order to let doxygen match functions declarations and # set this tag to YES in order to let doxygen match functions declarations and
@ -279,10 +289,10 @@ CPP_CLI_SUPPORT = NO
SIP_SUPPORT = NO SIP_SUPPORT = NO
# For Microsoft's IDL there are propget and propput attributes to indicate getter # For Microsoft's IDL there are propget and propput attributes to indicate
# and setter methods for a property. Setting this option to YES (the default) # getter and setter methods for a property. Setting this option to YES (the
# will make doxygen replace the get and set methods by a property in the # default) will make doxygen replace the get and set methods by a property in
# documentation. This will only work if the methods are indeed getting or # the documentation. This will only work if the methods are indeed getting or
# setting a simple type. If this is not the case, or you want to show the # setting a simple type. If this is not the case, or you want to show the
# methods anyway, you should set this option to NO. # methods anyway, you should set this option to NO.
@ -932,13 +942,23 @@ HTML_FOOTER =
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading # The HTML_STYLESHEET tag can be used to specify a user-defined cascading
# style sheet that is used by each HTML page. It can be used to # style sheet that is used by each HTML page. It can be used to
# fine-tune the look of the HTML output. If the tag is left blank doxygen # fine-tune the look of the HTML output. If left blank doxygen will
# will generate a default style sheet. Note that doxygen will try to copy # generate a default style sheet. Note that it is recommended to use
# the style sheet file to the HTML output directory, so don't put your own # HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this
# style sheet in the HTML output directory as well, or it will be erased! # tag will in the future become obsolete.
HTML_STYLESHEET = HTML_STYLESHEET =
# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional
# user-defined cascading style sheet that is included after the standard
# style sheets created by doxygen. Using this option one can overrule
# certain style aspects. This is preferred over using HTML_STYLESHEET
# since it does not replace the standard style sheet and is therefor more
# robust against future updates. Doxygen will copy the style sheet file to
# the output directory.
HTML_EXTRA_STYLESHEET =
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
# other source files which should be copied to the HTML output directory. Note # other source files which should be copied to the HTML output directory. Note
# that these files will be copied to the base HTML output directory. Use the # that these files will be copied to the base HTML output directory. Use the
@ -1023,9 +1043,9 @@ DOCSET_FEEDNAME = "Doxygen generated docs"
DOCSET_BUNDLE_ID = org.doxygen.Project DOCSET_BUNDLE_ID = org.doxygen.Project
# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify # When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely
# the documentation publisher. This should be a reverse domain-name style # identify the documentation publisher. This should be a reverse domain-name
# string, e.g. com.mycompany.MyDocSet.documentation. # style string, e.g. com.mycompany.MyDocSet.documentation.
DOCSET_PUBLISHER_ID = org.doxygen.Publisher DOCSET_PUBLISHER_ID = org.doxygen.Publisher
@ -1165,7 +1185,7 @@ DISABLE_INDEX = NO
# Since the tree basically has the same information as the tab index you # Since the tree basically has the same information as the tab index you
# could consider to set DISABLE_INDEX to NO when enabling this option. # could consider to set DISABLE_INDEX to NO when enabling this option.
GENERATE_TREEVIEW = NO GENERATE_TREEVIEW = YES
# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
# (range [0,1..20]) that doxygen will group on one line in the generated HTML # (range [0,1..20]) that doxygen will group on one line in the generated HTML
@ -1234,7 +1254,7 @@ MATHJAX_EXTENSIONS =
# typically be disabled. For large projects the javascript based search engine # typically be disabled. For large projects the javascript based search engine
# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. # can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
SEARCHENGINE = NO SEARCHENGINE = YES
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be # When the SERVER_BASED_SEARCH tag is enabled the search engine will be
# implemented using a PHP enabled web server instead of at the web client # implemented using a PHP enabled web server instead of at the web client
@ -1253,7 +1273,7 @@ SERVER_BASED_SEARCH = NO
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
# generate Latex output. # generate Latex output.
GENERATE_LATEX = YES GENERATE_LATEX = NO
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be # If a relative path is entered the value of OUTPUT_DIRECTORY will be

View File

@ -201,7 +201,17 @@ struct Message
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
/*! \brief Create an instance of the library attached to a serial port.
You can use HardwareSerial or SoftwareSerial for the serial port.
*/
#define MIDI_CREATE_INSTANCE(Type, SerialPort, Name) \ #define MIDI_CREATE_INSTANCE(Type, SerialPort, Name) \
midi::MidiInterface<Type> Name((Type&)SerialPort); midi::MidiInterface<Type> Name((Type&)SerialPort);
/*! \brief Shortcut for MIDI Interface class with template argument.
The class name for a MIDI object using the hardware UART would be
midi::MidiInterface<HardwareSerial>, when the macro is MIDI_CLASS(HardwareSerial).
*/
#define MIDI_CLASS(Type) \
midi::MidiInterface<Type>
END_MIDI_NAMESPACE END_MIDI_NAMESPACE

View File

@ -497,16 +497,14 @@ bool MidiInterface<SerialPort>::parse(Channel inChannel)
// No data available. // No data available.
return false; return false;
// Parsing algorithm:
/* Parsing algorithm: // Get a byte from the serial buffer.
Get a byte from the serial buffer. // If there is no pending message to be recomposed, start a new one.
* If there is no pending message to be recomposed, start a new one. // - Find type and channel (if pertinent)
- Find type and channel (if pertinent) // - Look for other bytes in buffer, call parser recursively,
- Look for other bytes in buffer, call parser recursively, // until the message is assembled or the buffer is empty.
until the message is assembled or the buffer is empty. // Else, add the extracted byte to the pending message, and check validity.
* Else, add the extracted byte to the pending message, and check validity. // When the message is done, store it.
When the message is done, store it.
*/
const byte extracted = mSerial.read(); const byte extracted = mSerial.read();