diff --git a/Readme.txt b/Readme.txt
index 5935fb138a1e15156545ae55d9330160753da6d7..cfdc14126978950bf41b0909cf59205b6a1bf958 100644
--- a/Readme.txt
+++ b/Readme.txt
@@ -4,6 +4,3 @@ Welcome to the Miosix kernel
 
 You can find information on how to configure and use the kernel
 at the following url: http://miosix.org
-
-The testsuite has been moved in the miosix/testsuite directory.
-The examples have been moved in the miosix/examples directory. 
diff --git a/miosix/Makefile b/miosix/Makefile
index 7949d1ebfcfa656ac5a7be37d6cb934eb0174eb4..9b86fe8367e6f073e00f3cdaf16399f1013b1883 100644
--- a/miosix/Makefile
+++ b/miosix/Makefile
@@ -48,7 +48,7 @@ AFLAGS   :=  $(AFLAGS_BASE)
 ## The file stage_1_boot.o is compiled separately because
 ## it must not end up in libmiosix.a
 all: $(OBJ) $(BOOT_FILE)
-	perl check_global_objects.pl $(OBJ)
+	perl tools/check_global_objects.pl $(OBJ)
 	$(AR) rcs libmiosix.a $(OBJ)
 
 clean:
diff --git a/miosix/doc/doxygen/Doxyfile b/miosix/_doc/doxygen/Doxyfile
similarity index 100%
rename from miosix/doc/doxygen/Doxyfile
rename to miosix/_doc/doxygen/Doxyfile
diff --git a/miosix/doc/doxygen/documentation.dox b/miosix/_doc/doxygen/documentation.dox
similarity index 100%
rename from miosix/doc/doxygen/documentation.dox
rename to miosix/_doc/doxygen/documentation.dox
diff --git a/miosix/_doc/doxygen/html/annotated.html b/miosix/_doc/doxygen/html/annotated.html
new file mode 100644
index 0000000000000000000000000000000000000000..0f6cdbf62f0ef15c92816ab32945f462899bf1a3
--- /dev/null
+++ b/miosix/_doc/doxygen/html/annotated.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Class List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>Class List</h1>  </div>
+</div>
+<div class="contents">
+Here are the classes, structs, unions and interfaces with brief descriptions:<table>
+  <tr><td class="indexkey"><a class="el" href="classmiosix__private_1_1_auxiliary_timer.html">miosix_private::AuxiliaryTimer</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_condition_variable.html">miosix::ConditionVariable</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_console.html">miosix::Console</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_control_scheduler_priority.html">miosix::ControlSchedulerPriority</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_directory.html">miosix::Directory</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html">miosix::EDFSchedulerPriority</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_exception_handling_data.html">miosix::ExceptionHandlingData</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html">miosix::FastInterruptDisableLock</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_fast_interrupt_enable_lock.html">miosix::FastInterruptEnableLock</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_fast_mutex.html">miosix::FastMutex</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_filesystem.html">miosix::Filesystem</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_interrupt_disable_lock.html">miosix::InterruptDisableLock</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_interrupt_enable_lock.html">miosix::InterruptEnableLock</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_lock.html">miosix::Lock&lt; T &gt;</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_lower_priority.html">miosix::LowerPriority</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_memory_profiling.html">miosix::MemoryProfiling</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_mutex.html">miosix::Mutex</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_pause_kernel_lock.html">miosix::PauseKernelLock</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">miosix::PrioritySchedulerPriority</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_queue.html">miosix::Queue&lt; T, len &gt;</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_restart_kernel_lock.html">miosix::RestartKernelLock</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_software_i2_c.html">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_software_s_p_i.html">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_timer.html">miosix::Timer</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmiosix_1_1_unlock.html">miosix::Unlock&lt; T &gt;</a></td><td class="indexvalue"></td></tr>
+</table>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/arch__registers_8h.html b/miosix/_doc/doxygen/html/arch__registers_8h.html
new file mode 100644
index 0000000000000000000000000000000000000000..febc28719bafae334a3f70ce4ab7d1858907f456
--- /dev/null
+++ b/miosix/_doc/doxygen/html/arch__registers_8h.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: arch_registers.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>arch_registers.h File Reference</h1>  </div>
+</div>
+<div class="contents">
+<code>#include &quot;interfaces-impl/arch_registers_impl.h&quot;</code><br/>
+<table class="memberdecls">
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This file should contain the list of hardware registers of the selected architecture, to allow application to directly access the hardware.</p>
+<p>The list of these registers is usually provided by the chip vendor in the form of one or more header files.</p>
+<p>To include these registers in a portable way, here we only include arch_registers_impl.h, which will be an header file in arch/arch name/board name/interfaces_impl</p>
+<p>The usual implementation of arch_registers_impl.h is simply to include the header files provided by the chip vendor. </p>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/bc_s.png b/miosix/_doc/doxygen/html/bc_s.png
new file mode 100644
index 0000000000000000000000000000000000000000..e4018628b5b45cb4301037485a29d7d74ac22138
Binary files /dev/null and b/miosix/_doc/doxygen/html/bc_s.png differ
diff --git a/miosix/_doc/doxygen/html/bsp_8h.html b/miosix/_doc/doxygen/html/bsp_8h.html
new file mode 100644
index 0000000000000000000000000000000000000000..583aa6838e30bfe781367028d677787dec1f0952
--- /dev/null
+++ b/miosix/_doc/doxygen/html/bsp_8h.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: bsp.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>bsp.h File Reference</h1>  </div>
+</div>
+<div class="contents">
+<code>#include &quot;interfaces-impl/bsp_impl.h&quot;</code><br/>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemiosix.html">miosix</a></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae0495cbfc806a0db0cdf2ff023945516">miosix::shutdown</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga6f70fdbc3b5d6afa41b5dbc5272cc6a0">miosix::reboot</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This file contains architecture specific board support package. It must at least provide these four functions:</p>
+<p>IRQbspInit(), to initialize the board to a known state early in the boot process (before the kernel is started, and when interrupts are disabled)</p>
+<p>bspInit2(), to perform the remaining part of the initialization, once the kernel is started</p>
+<p><a class="el" href="group___interfaces.html#gae0495cbfc806a0db0cdf2ff023945516">shutdown()</a>, for system shutdown. This function is called in case main() returns, and is available to be called by user code.</p>
+<p><a class="el" href="group___interfaces.html#ga6f70fdbc3b5d6afa41b5dbc5272cc6a0">reboot()</a>, a function that can be called to reboot the system under normal (non error) conditions. It should sync and unmount the filesystem, and perform a reboot. This function is available for user code.</p>
+<p>Other than this, the board support package might contain other functions, classes, macros etc. to support peripherals and or board hardware. </p>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classes.html b/miosix/_doc/doxygen/html/classes.html
new file mode 100644
index 0000000000000000000000000000000000000000..4a37794d11b2b895f4c9579d81fb10ec3098db85
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classes.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Alphabetical List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>Class Index</h1>  </div>
+</div>
+<div class="contents">
+<div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_L">L</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_Q">Q</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_U">U</a></div>
+<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;A&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;E&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classmiosix_1_1_mutex.html">Mutex</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="classmiosix__private_1_1_auxiliary_timer.html">AuxiliaryTimer</a> (miosix_private)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html">EDFSchedulerPriority</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classmiosix_1_1_interrupt_disable_lock.html">InterruptDisableLock</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;P&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classmiosix_1_1_software_i2_c.html">SoftwareI2C</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classmiosix_1_1_exception_handling_data.html">ExceptionHandlingData</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classmiosix_1_1_interrupt_enable_lock.html">InterruptEnableLock</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classmiosix_1_1_pause_kernel_lock.html">PauseKernelLock</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classmiosix_1_1_software_s_p_i.html">SoftwareSPI</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classmiosix_1_1_condition_variable.html">ConditionVariable</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;F&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;L&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">PrioritySchedulerPriority</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="classmiosix_1_1_console.html">Console</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html">FastInterruptDisableLock</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classmiosix_1_1_lock.html">Lock</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_Q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;Q&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classmiosix_1_1_thread.html">Thread</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classmiosix_1_1_control_scheduler_priority.html">ControlSchedulerPriority</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classmiosix_1_1_fast_interrupt_enable_lock.html">FastInterruptEnableLock</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classmiosix_1_1_lower_priority.html">LowerPriority</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classmiosix_1_1_queue.html">Queue</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classmiosix_1_1_timer.html">Timer</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classmiosix_1_1_fast_mutex.html">FastMutex</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;M&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;R&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;U&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="classmiosix_1_1_directory.html">Directory</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classmiosix_1_1_filesystem.html">Filesystem</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classmiosix_1_1_memory_profiling.html">MemoryProfiling</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classmiosix_1_1_restart_kernel_lock.html">RestartKernelLock</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classmiosix_1_1_unlock.html">Unlock</a> (<a class="el" href="namespacemiosix.html">miosix</a>)&nbsp;&nbsp;&nbsp;</td></tr></table><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_L">L</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_Q">Q</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_U">U</a></div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_condition_variable-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_condition_variable-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..1fa3c3c7dbecd3cfb265a728394c88462283dc71
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_condition_variable-members.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::ConditionVariable Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_condition_variable.html">miosix::ConditionVariable</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_condition_variable.html#adb8897a2ff31ecc320ff624285924600">broadcast</a>()</td><td><a class="el" href="classmiosix_1_1_condition_variable.html">miosix::ConditionVariable</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_condition_variable.html#a071791f7cf57c7f6eed03b17cbb4bb5e">ConditionVariable</a>()</td><td><a class="el" href="classmiosix_1_1_condition_variable.html">miosix::ConditionVariable</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_condition_variable.html#adbc51a45a48f6afe98fea4581fc4f16d">signal</a>()</td><td><a class="el" href="classmiosix_1_1_condition_variable.html">miosix::ConditionVariable</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_condition_variable.html#ae1e16bdd5262ac2918117db06ed01cd3">wait</a>(Lock&lt; T &gt; &amp;l)</td><td><a class="el" href="classmiosix_1_1_condition_variable.html">miosix::ConditionVariable</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_condition_variable.html#a690ff38de87f884855d6c72bde694116">wait</a>(Mutex &amp;m)</td><td><a class="el" href="classmiosix_1_1_condition_variable.html">miosix::ConditionVariable</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_condition_variable.html#a87382101d2526494b8fe04e056426ccb">wait</a>(FastMutex &amp;m)</td><td><a class="el" href="classmiosix_1_1_condition_variable.html">miosix::ConditionVariable</a></td><td></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_condition_variable.html b/miosix/_doc/doxygen/html/classmiosix_1_1_condition_variable.html
new file mode 100644
index 0000000000000000000000000000000000000000..6812f5effc6348abec602ece9cef17a05146b75c
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_condition_variable.html
@@ -0,0 +1,206 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::ConditionVariable Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_condition_variable.html">miosix::ConditionVariable</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::ConditionVariable Class Reference<br/>
+<small>
+[<a class="el" href="group___sync.html">Syncronization</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::ConditionVariable" -->
+<p><code>#include &lt;sync.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_condition_variable-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_condition_variable.html#a071791f7cf57c7f6eed03b17cbb4bb5e">ConditionVariable</a> ()</td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_condition_variable.html#ae1e16bdd5262ac2918117db06ed01cd3">wait</a> (<a class="el" href="classmiosix_1_1_lock.html">Lock</a>&lt; T &gt; &amp;l)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_condition_variable.html#a690ff38de87f884855d6c72bde694116">wait</a> (<a class="el" href="classmiosix_1_1_mutex.html">Mutex</a> &amp;m)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_condition_variable.html#a87382101d2526494b8fe04e056426ccb">wait</a> (<a class="el" href="classmiosix_1_1_fast_mutex.html">FastMutex</a> &amp;m)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_condition_variable.html#adbc51a45a48f6afe98fea4581fc4f16d">signal</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_condition_variable.html#adb8897a2ff31ecc320ff624285924600">broadcast</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A condition variable class for thread synchronization, available from Miosix 1.53.<br/>
+ One or more threads can wait on the condition variable, and the <a class="el" href="classmiosix_1_1_condition_variable.html#adbc51a45a48f6afe98fea4581fc4f16d">signal()</a> and <a class="el" href="classmiosix_1_1_condition_variable.html#adb8897a2ff31ecc320ff624285924600">broadcast()</a> allow to wake ne or all the waiting threads.<br/>
+ This class is meant to be a static or global class. Dynamically creating a <a class="el" href="classmiosix_1_1_condition_variable.html">ConditionVariable</a> with new or on the stack must be done with care, to avoid deleting a <a class="el" href="classmiosix_1_1_condition_variable.html">ConditionVariable</a> while some threads are waiting, and to avoid situations where a thread tries to wait on a deleted <a class="el" href="classmiosix_1_1_condition_variable.html">ConditionVariable</a>.<br/>
+ </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a071791f7cf57c7f6eed03b17cbb4bb5e"></a><!-- doxytag: member="miosix::ConditionVariable::ConditionVariable" ref="a071791f7cf57c7f6eed03b17cbb4bb5e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::ConditionVariable::ConditionVariable </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor, initializes the <a class="el" href="classmiosix_1_1_condition_variable.html">ConditionVariable</a>. </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="adb8897a2ff31ecc320ff624285924600"></a><!-- doxytag: member="miosix::ConditionVariable::broadcast" ref="adb8897a2ff31ecc320ff624285924600" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::ConditionVariable::broadcast </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Wakeup all waiting threads. </p>
+
+</div>
+</div>
+<a class="anchor" id="adbc51a45a48f6afe98fea4581fc4f16d"></a><!-- doxytag: member="miosix::ConditionVariable::signal" ref="adbc51a45a48f6afe98fea4581fc4f16d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::ConditionVariable::signal </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Wakeup one waiting thread. Currently implemented policy is fifo. </p>
+
+</div>
+</div>
+<a class="anchor" id="a690ff38de87f884855d6c72bde694116"></a><!-- doxytag: member="miosix::ConditionVariable::wait" ref="a690ff38de87f884855d6c72bde694116" args="(Mutex &amp;m)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::ConditionVariable::wait </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classmiosix_1_1_mutex.html">Mutex</a> &amp;&nbsp;</td>
+          <td class="paramname"> <em>m</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classmiosix_1_1_unlock.html">Unlock</a> the <a class="el" href="classmiosix_1_1_mutex.html">Mutex</a> and wait. If more threads call <a class="el" href="classmiosix_1_1_condition_variable.html#ae1e16bdd5262ac2918117db06ed01cd3">wait()</a> they must do so specifying the same mutex, otherwise the behaviour is undefined. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>a locked <a class="el" href="classmiosix_1_1_mutex.html">Mutex</a> </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a87382101d2526494b8fe04e056426ccb"></a><!-- doxytag: member="miosix::ConditionVariable::wait" ref="a87382101d2526494b8fe04e056426ccb" args="(FastMutex &amp;m)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::ConditionVariable::wait </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classmiosix_1_1_fast_mutex.html">FastMutex</a> &amp;&nbsp;</td>
+          <td class="paramname"> <em>m</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classmiosix_1_1_unlock.html">Unlock</a> the <a class="el" href="classmiosix_1_1_fast_mutex.html">FastMutex</a> and wait. If more threads call <a class="el" href="classmiosix_1_1_condition_variable.html#ae1e16bdd5262ac2918117db06ed01cd3">wait()</a> they must do so specifying the same mutex, otherwise the behaviour is undefined. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>a locked <a class="el" href="classmiosix_1_1_mutex.html">Mutex</a> </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ae1e16bdd5262ac2918117db06ed01cd3"></a><!-- doxytag: member="miosix::ConditionVariable::wait" ref="ae1e16bdd5262ac2918117db06ed01cd3" args="(Lock&lt; T &gt; &amp;l)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::ConditionVariable::wait </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classmiosix_1_1_lock.html">Lock</a>&lt; T &gt; &amp;&nbsp;</td>
+          <td class="paramname"> <em>l</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classmiosix_1_1_unlock.html">Unlock</a> the mutex and wait. If more threads call <a class="el" href="classmiosix_1_1_condition_variable.html#ae1e16bdd5262ac2918117db06ed01cd3">wait()</a> they must do so specifying the same mutex, otherwise the behaviour is undefined. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>A <a class="el" href="classmiosix_1_1_lock.html">Lock</a> instance that locked a <a class="el" href="classmiosix_1_1_mutex.html">Mutex</a> </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>sync.h</li>
+<li>sync.cpp</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_console-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_console-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..a4865c4d9d65f2b90c693632daabb9feef704837
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_console-members.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::Console Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_console.html">miosix::Console</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_console.html#a138cf29290498b2adc23bad89b7f1225">IRQtxComplete</a>()</td><td><a class="el" href="classmiosix_1_1_console.html">miosix::Console</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_console.html#a24a570ed29296d941477d90637c7f87d">IRQwrite</a>(const char *str)</td><td><a class="el" href="classmiosix_1_1_console.html">miosix::Console</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_console.html#a4c62717fe282211b1b8b13c9897d4036">readChar</a>()</td><td><a class="el" href="classmiosix_1_1_console.html">miosix::Console</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_console.html#a7b901496782fb87e9b8f62db0b694c15">readCharNonBlocking</a>(char &amp;c)</td><td><a class="el" href="classmiosix_1_1_console.html">miosix::Console</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_console.html#a139a35d7febd53431f04fd83c7d2955b">txComplete</a>()</td><td><a class="el" href="classmiosix_1_1_console.html">miosix::Console</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_console.html#ad064039cfbaa9db84cb021944aa85bd1">write</a>(const char *str)</td><td><a class="el" href="classmiosix_1_1_console.html">miosix::Console</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_console.html#adcfaf32a1fdaafdf3340095a906b836f">write</a>(const char *data, int length)</td><td><a class="el" href="classmiosix_1_1_console.html">miosix::Console</a></td><td><code> [static]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_console.html b/miosix/_doc/doxygen/html/classmiosix_1_1_console.html
new file mode 100644
index 0000000000000000000000000000000000000000..0f4d0835a2e837e7b7c0a08001d77d8c0c5ff703
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_console.html
@@ -0,0 +1,239 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::Console Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_console.html">miosix::Console</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::Console Class Reference<br/>
+<small>
+[<a class="el" href="group___interfaces.html">Interfaces</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::Console" -->
+<p><code>#include &lt;console.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_console-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_console.html#ad064039cfbaa9db84cb021944aa85bd1">write</a> (const char *str)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_console.html#adcfaf32a1fdaafdf3340095a906b836f">write</a> (const char *data, int length)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_console.html#a139a35d7febd53431f04fd83c7d2955b">txComplete</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_console.html#a24a570ed29296d941477d90637c7f87d">IRQwrite</a> (const char *str)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_console.html#a138cf29290498b2adc23bad89b7f1225">IRQtxComplete</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_console.html#a4c62717fe282211b1b8b13c9897d4036">readChar</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_console.html#a7b901496782fb87e9b8f62db0b694c15">readCharNonBlocking</a> (char &amp;c)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This is an abstraction over a character device. The kernel uses it to implement stdin/stdout/stderr I/O of the C and C++ standard library, and if bootlogs/error logs are enabled in <a class="el" href="miosix__settings_8h.html">miosix_settings.h</a> also these logs are redirected here. The underlying implementation depends on the architecture chosen when compiling Miosix and can be for example a serial port, an USB endpoint or can also be empty (/dev/null like behaviour).</p>
+<p>The implementation of this class is in arch/arch name/board name/interfaces-impl </p>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a138cf29290498b2adc23bad89b7f1225"></a><!-- doxytag: member="miosix::Console::IRQtxComplete" ref="a138cf29290498b2adc23bad89b7f1225" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static bool miosix::Console::IRQtxComplete </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Can ONLY be called when the kernel is not yet started, paused or within an interrupt. Since the implementation of the <a class="el" href="classmiosix_1_1_console.html">Console</a> class can use buffering, this memeber function is provided to know if all data has been sent, for example to wait until all data has been sent before performing a reboot. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if all write buffers are empty. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a24a570ed29296d941477d90637c7f87d"></a><!-- doxytag: member="miosix::Console::IRQwrite" ref="a24a570ed29296d941477d90637c7f87d" args="(const char *str)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void miosix::Console::IRQwrite </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>str</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Write a string to the <a class="el" href="classmiosix_1_1_console.html">Console</a>. Can ONLY be called when the kernel is not yet started, paused or within an interrupt. If the underlying communication channel is not open this function returns without doing anything. If for some reason in an architecture Miosix is ported to it is not possible to access the underlying communication channel when the kernel is not started it is possible that this function always returns without doing anything. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>the string to write. The string must be NUL terminated. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a4c62717fe282211b1b8b13c9897d4036"></a><!-- doxytag: member="miosix::Console::readChar" ref="a4c62717fe282211b1b8b13c9897d4036" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static char miosix::Console::readChar </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Read a character from the <a class="el" href="classmiosix_1_1_console.html">Console</a>. Blocking. Can be safely called by multiple threads. If the underlying communication channel is not open this function blocks until it is opened and data arrives. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the character read. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a7b901496782fb87e9b8f62db0b694c15"></a><!-- doxytag: member="miosix::Console::readCharNonBlocking" ref="a7b901496782fb87e9b8f62db0b694c15" args="(char &amp;c)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static bool miosix::Console::readCharNonBlocking </td>
+          <td>(</td>
+          <td class="paramtype">char &amp;&nbsp;</td>
+          <td class="paramname"> <em>c</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Read a character from the <a class="el" href="classmiosix_1_1_console.html">Console</a>. Nonblocking. Can be safely called by multiple threads. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>a reference to the character to read. If the function returns true then the read character is stored here. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the underlying communication channel was open and there was data available. False otherwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a139a35d7febd53431f04fd83c7d2955b"></a><!-- doxytag: member="miosix::Console::txComplete" ref="a139a35d7febd53431f04fd83c7d2955b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static bool miosix::Console::txComplete </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Since the implementation of the <a class="el" href="classmiosix_1_1_console.html">Console</a> class can use buffering, this memeber function is provided to know if all data has been sent, for example to wait until all data has been sent before performing a reboot. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if all write buffers are empty. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ad064039cfbaa9db84cb021944aa85bd1"></a><!-- doxytag: member="miosix::Console::write" ref="ad064039cfbaa9db84cb021944aa85bd1" args="(const char *str)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void miosix::Console::write </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>str</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Write a string to the <a class="el" href="classmiosix_1_1_console.html">Console</a>. Can be safely called by multiple threads. If the underlying communication channel is not open this function returns without doing anything. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>the string to write. The string must be NUL terminated. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="adcfaf32a1fdaafdf3340095a906b836f"></a><!-- doxytag: member="miosix::Console::write" ref="adcfaf32a1fdaafdf3340095a906b836f" args="(const char *data, int length)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void miosix::Console::write </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Write data to the <a class="el" href="classmiosix_1_1_console.html">Console</a>. Can be safely called by multiple threads. If the underlying communication channel is not open this function returns without doing anything. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>data to write </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>length of data </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="console_8h.html">console.h</a></li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_control_scheduler_priority-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_control_scheduler_priority-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..029a3e50261e43ef5b5ea02064d67666ae6d3254
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_control_scheduler_priority-members.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::ControlSchedulerPriority Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_control_scheduler_priority.html">miosix::ControlSchedulerPriority</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_control_scheduler_priority.html#a4bd3eb3d3d89cf2082f9cbfc09ddb3ed">ControlSchedulerPriority</a>(short int priority)</td><td><a class="el" href="classmiosix_1_1_control_scheduler_priority.html">miosix::ControlSchedulerPriority</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_control_scheduler_priority.html#adee560c11f29f0b29b6a119742d39934">ControlSchedulerPriority</a>()</td><td><a class="el" href="classmiosix_1_1_control_scheduler_priority.html">miosix::ControlSchedulerPriority</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_control_scheduler_priority.html#ad15885f4c536e5e3ee7b6f95f5542209">get</a>() const </td><td><a class="el" href="classmiosix_1_1_control_scheduler_priority.html">miosix::ControlSchedulerPriority</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_control_scheduler_priority.html#ae7b24bc4e0861dc5ca7ae50a758f9244">validate</a>() const </td><td><a class="el" href="classmiosix_1_1_control_scheduler_priority.html">miosix::ControlSchedulerPriority</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_control_scheduler_priority.html b/miosix/_doc/doxygen/html/classmiosix_1_1_control_scheduler_priority.html
new file mode 100644
index 0000000000000000000000000000000000000000..09fe2d3c101a55467295cce7051f9a241237f896
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_control_scheduler_priority.html
@@ -0,0 +1,144 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::ControlSchedulerPriority Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_control_scheduler_priority.html">miosix::ControlSchedulerPriority</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::ControlSchedulerPriority Class Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::ControlSchedulerPriority" -->
+<p><code>#include &lt;control_scheduler_types.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_control_scheduler_priority-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_control_scheduler_priority.html#a4bd3eb3d3d89cf2082f9cbfc09ddb3ed">ControlSchedulerPriority</a> (short int priority)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_control_scheduler_priority.html#adee560c11f29f0b29b6a119742d39934">ControlSchedulerPriority</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">short int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_control_scheduler_priority.html#ad15885f4c536e5e3ee7b6f95f5542209">get</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_control_scheduler_priority.html#ae7b24bc4e0861dc5ca7ae50a758f9244">validate</a> () const </td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This class models the concept of priority for the control based scheduler. In this scheduler the priority is simply a short int with values ranging from 0 to PRIORITY_MAX-1, higher values mean higher priority, and the special value -1 reserved for the idle thread. Higher values of priority mean that the scheduler assigns a larger fraction of the round time to the thread. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a4bd3eb3d3d89cf2082f9cbfc09ddb3ed"></a><!-- doxytag: member="miosix::ControlSchedulerPriority::ControlSchedulerPriority" ref="a4bd3eb3d3d89cf2082f9cbfc09ddb3ed" args="(short int priority)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::ControlSchedulerPriority::ControlSchedulerPriority </td>
+          <td>(</td>
+          <td class="paramtype">short int&nbsp;</td>
+          <td class="paramname"> <em>priority</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor. Not explicit for backward compatibility. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>priority</em>&nbsp;</td><td>the desired priority value. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="adee560c11f29f0b29b6a119742d39934"></a><!-- doxytag: member="miosix::ControlSchedulerPriority::ControlSchedulerPriority" ref="adee560c11f29f0b29b6a119742d39934" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::ControlSchedulerPriority::ControlSchedulerPriority </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Default constructor. </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad15885f4c536e5e3ee7b6f95f5542209"></a><!-- doxytag: member="miosix::ControlSchedulerPriority::get" ref="ad15885f4c536e5e3ee7b6f95f5542209" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">short int miosix::ControlSchedulerPriority::get </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const<code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>the priority value </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ae7b24bc4e0861dc5ca7ae50a758f9244"></a><!-- doxytag: member="miosix::ControlSchedulerPriority::validate" ref="ae7b24bc4e0861dc5ca7ae50a758f9244" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool miosix::ControlSchedulerPriority::validate </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const<code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this objects represents a valid priority. Note that the value -1 is considered not valid, because it is reserved for the idle thread. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>control_scheduler_types.h</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_directory-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_directory-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..c27057586f05fcf7a8b33476222fcb9afe58ab0f
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_directory-members.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::Directory Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_directory.html">miosix::Directory</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_directory.html#a4511c8727dc6fc565a415d5e258d612b">Directory</a>()</td><td><a class="el" href="classmiosix_1_1_directory.html">miosix::Directory</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_directory.html#abd96a4eb6ce45869b55ebe5fa1c6c43f">exists</a>(const char *name)</td><td><a class="el" href="classmiosix_1_1_directory.html">miosix::Directory</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_directory.html#a079e87e4cbc008d223a03c54d87577bf">FILENAME_LEN</a></td><td><a class="el" href="classmiosix_1_1_directory.html">miosix::Directory</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_directory.html#ace4d75cdcad650213a294c2fe7a41381">next</a>(char *name, unsigned int &amp;size, unsigned char &amp;attrib)</td><td><a class="el" href="classmiosix_1_1_directory.html">miosix::Directory</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_directory.html#ab3b8f627404f790ca9e309dd90d4e8a0">open</a>(const char *name)</td><td><a class="el" href="classmiosix_1_1_directory.html">miosix::Directory</a></td><td></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_directory.html b/miosix/_doc/doxygen/html/classmiosix_1_1_directory.html
new file mode 100644
index 0000000000000000000000000000000000000000..fe87880349b92b78338a8653dcc32a46c66340b4
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_directory.html
@@ -0,0 +1,213 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::Directory Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_directory.html">miosix::Directory</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="#pub-static-attribs">Static Public Attributes</a>  </div>
+  <div class="headertitle">
+<h1>miosix::Directory Class Reference<br/>
+<small>
+[<a class="el" href="group___filesystem.html">Filesystem</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::Directory" -->
+<p><code>#include &lt;filesystem.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_directory-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_directory.html#a4511c8727dc6fc565a415d5e258d612b">Directory</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_directory.html#ab3b8f627404f790ca9e309dd90d4e8a0">open</a> (const char *name)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_directory.html#ace4d75cdcad650213a294c2fe7a41381">next</a> (char *name, unsigned int &amp;size, unsigned char &amp;attrib)</td></tr>
+<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_directory.html#abd96a4eb6ce45869b55ebe5fa1c6c43f">exists</a> (const char *name)</td></tr>
+<tr><td colspan="2"><h2><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_directory.html#a079e87e4cbc008d223a03c54d87577bf">FILENAME_LEN</a> = 13</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This class represent a directory. It has methods for listing files inside them. All methods can be called only if the filesystem is mounted.</p>
+<p>IMPORTANT:<br/>
+ Name of files and directories is limited to old DOS 8.3 format. The name of the file must not exceed 8 chracter, and the extension must not exceed 3 chars. Also the name must not contain spaces.</p>
+<p>The directory listing function will return the name of file truncated if necessary (example "My_long_file_name.txt" will be reported as "MY_LON~1.TXT")</p>
+<p>To open a file created on a computer, that has a long file name, you must use the truncated name too. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a4511c8727dc6fc565a415d5e258d612b"></a><!-- doxytag: member="miosix::Directory::Directory" ref="a4511c8727dc6fc565a415d5e258d612b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::Directory::Directory </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor. </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="abd96a4eb6ce45869b55ebe5fa1c6c43f"></a><!-- doxytag: member="miosix::Directory::exists" ref="abd96a4eb6ce45869b55ebe5fa1c6c43f" args="(const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool miosix::Directory::exists </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>name and path of directory in unix notation (example: "/mydir" and not "C:\mydir")<br/>
+ Note that name of files and directories is limited to old DOS 8.3 format. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if directory exists. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ace4d75cdcad650213a294c2fe7a41381"></a><!-- doxytag: member="miosix::Directory::next" ref="ace4d75cdcad650213a294c2fe7a41381" args="(char *name, unsigned int &amp;size, unsigned char &amp;attrib)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool miosix::Directory::next </td>
+          <td>(</td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int &amp;&nbsp;</td>
+          <td class="paramname"> <em>size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned char &amp;&nbsp;</td>
+          <td class="paramname"> <em>attrib</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Get next directory entry. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>a string where the file name will be copied. The string size must be &gt;=FILENAME_LEN </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>size of the entry </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>attrib</em>&nbsp;</td><td>entry attributes (allow undrstanding if entry is a file or directory) </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true while there are entries in the directory Note that if the return value is false, name size and attrib are not valid </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ab3b8f627404f790ca9e309dd90d4e8a0"></a><!-- doxytag: member="miosix::Directory::open" ref="ab3b8f627404f790ca9e309dd90d4e8a0" args="(const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">char miosix::Directory::open </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Open a directory, to list its content </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>name and path of directory in unix notation (example: "/mydir" and not "C:\mydir")<br/>
+ Note that name of files and directories is limited to old DOS 8.3 format. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success. Error codes are:<ul>
+<li>1 = Error</li>
+<li>3 = <a class="el" href="classmiosix_1_1_filesystem.html">Filesystem</a> not mounted </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a079e87e4cbc008d223a03c54d87577bf"></a><!-- doxytag: member="miosix::Directory::FILENAME_LEN" ref="a079e87e4cbc008d223a03c54d87577bf" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const unsigned int <a class="el" href="classmiosix_1_1_directory.html#a079e87e4cbc008d223a03c54d87577bf">miosix::Directory::FILENAME_LEN</a> = 13<code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This is the maximum length of entry name reported by <a class="el" href="classmiosix_1_1_directory.html#ace4d75cdcad650213a294c2fe7a41381">Directory::next()</a>. Use it to create buffers to pass to <a class="el" href="classmiosix_1_1_directory.html#ace4d75cdcad650213a294c2fe7a41381">Directory::next()</a>. This dimension includes the null termination character. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>filesystem.h</li>
+<li>filesystem.cpp</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_e_d_f_scheduler_priority-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_e_d_f_scheduler_priority-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..fc1130548d86eda9eadc187b1953e86169904a04
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_e_d_f_scheduler_priority-members.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::EDFSchedulerPriority Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html">miosix::EDFSchedulerPriority</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html#ac3b95b8d504e71004d2b64c8f4553074">EDFSchedulerPriority</a>(long long deadline)</td><td><a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html">miosix::EDFSchedulerPriority</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html#ab53c3d57ccdf2f5fac67c796afb73e91">EDFSchedulerPriority</a>()</td><td><a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html">miosix::EDFSchedulerPriority</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html#a1e1fa5e57a39e9bbec09eaca3043fe79">get</a>() const </td><td><a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html">miosix::EDFSchedulerPriority</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html#a87c2a3428d3d3af53391494e81cf3687">validate</a>() const </td><td><a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html">miosix::EDFSchedulerPriority</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_e_d_f_scheduler_priority.html b/miosix/_doc/doxygen/html/classmiosix_1_1_e_d_f_scheduler_priority.html
new file mode 100644
index 0000000000000000000000000000000000000000..d677d14075062119e05d0a29569512a8e833d3e0
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_e_d_f_scheduler_priority.html
@@ -0,0 +1,144 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::EDFSchedulerPriority Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html">miosix::EDFSchedulerPriority</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::EDFSchedulerPriority Class Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::EDFSchedulerPriority" -->
+<p><code>#include &lt;edf_scheduler_types.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_e_d_f_scheduler_priority-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html#ac3b95b8d504e71004d2b64c8f4553074">EDFSchedulerPriority</a> (long long deadline)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html#ab53c3d57ccdf2f5fac67c796afb73e91">EDFSchedulerPriority</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">long long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html#a1e1fa5e57a39e9bbec09eaca3043fe79">get</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html#a87c2a3428d3d3af53391494e81cf3687">validate</a> () const </td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This class models the concept of priority for the EDF scheduler. Therefore, it represents a deadline, which is the absolute time withi which the thread should have completed its computation. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ac3b95b8d504e71004d2b64c8f4553074"></a><!-- doxytag: member="miosix::EDFSchedulerPriority::EDFSchedulerPriority" ref="ac3b95b8d504e71004d2b64c8f4553074" args="(long long deadline)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::EDFSchedulerPriority::EDFSchedulerPriority </td>
+          <td>(</td>
+          <td class="paramtype">long long&nbsp;</td>
+          <td class="paramname"> <em>deadline</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor. Not explicit for backward compatibility. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>deadline</em>&nbsp;</td><td>the thread deadline. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ab53c3d57ccdf2f5fac67c796afb73e91"></a><!-- doxytag: member="miosix::EDFSchedulerPriority::EDFSchedulerPriority" ref="ab53c3d57ccdf2f5fac67c796afb73e91" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::EDFSchedulerPriority::EDFSchedulerPriority </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Default constructor. </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a1e1fa5e57a39e9bbec09eaca3043fe79"></a><!-- doxytag: member="miosix::EDFSchedulerPriority::get" ref="a1e1fa5e57a39e9bbec09eaca3043fe79" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">long long miosix::EDFSchedulerPriority::get </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const<code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>the priority value </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a87c2a3428d3d3af53391494e81cf3687"></a><!-- doxytag: member="miosix::EDFSchedulerPriority::validate" ref="a87c2a3428d3d3af53391494e81cf3687" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool miosix::EDFSchedulerPriority::validate </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const<code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this objects represents a valid deadline. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>edf_scheduler_types.h</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_exception_handling_data-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_exception_handling_data-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..78393816b7228b56b839a4cf9d75053c10d2f84d
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_exception_handling_data-members.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::ExceptionHandlingData Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_exception_handling_data.html">miosix::ExceptionHandlingData</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_exception_handling_data.html#a24ba3640e643b05fa9212a213c012101">ExceptionHandlingData</a>()</td><td><a class="el" href="classmiosix_1_1_exception_handling_data.html">miosix::ExceptionHandlingData</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_exception_handling_data.html#a61144e6db2029974d7988aa079db59e3">~ExceptionHandlingData</a>()</td><td><a class="el" href="classmiosix_1_1_exception_handling_data.html">miosix::ExceptionHandlingData</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_exception_handling_data.html b/miosix/_doc/doxygen/html/classmiosix_1_1_exception_handling_data.html
new file mode 100644
index 0000000000000000000000000000000000000000..869d4e690423ba73efe5b8de3949ab404533859b
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_exception_handling_data.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::ExceptionHandlingData Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_exception_handling_data.html">miosix::ExceptionHandlingData</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::ExceptionHandlingData Class Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::ExceptionHandlingData" -->
+<p><code>#include &lt;syscalls_types.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_exception_handling_data-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_exception_handling_data.html#a24ba3640e643b05fa9212a213c012101">ExceptionHandlingData</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_exception_handling_data.html#a61144e6db2029974d7988aa079db59e3">~ExceptionHandlingData</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This is a wrapper class that contains all per-thread data required to make C++ exceptions thread safe, irrespective of the ABI. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a24ba3640e643b05fa9212a213c012101"></a><!-- doxytag: member="miosix::ExceptionHandlingData::ExceptionHandlingData" ref="a24ba3640e643b05fa9212a213c012101" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::ExceptionHandlingData::ExceptionHandlingData </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor, initializes the exception related data to their default value </p>
+
+</div>
+</div>
+<a class="anchor" id="a61144e6db2029974d7988aa079db59e3"></a><!-- doxytag: member="miosix::ExceptionHandlingData::~ExceptionHandlingData" ref="a61144e6db2029974d7988aa079db59e3" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::ExceptionHandlingData::~ExceptionHandlingData </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Destructor, checks that no memory is leaked (should never happen) </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>syscalls_types.h</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_fast_interrupt_disable_lock-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_fast_interrupt_disable_lock-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..dfb63cbc65b3ae5edc6c7a22592d64efe4c878a3
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_fast_interrupt_disable_lock-members.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::FastInterruptDisableLock Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html">miosix::FastInterruptDisableLock</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html#ac10ca2ad58013504750550337bdaf6cf">FastInterruptDisableLock</a>()</td><td><a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html">miosix::FastInterruptDisableLock</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html#aa060c8983f93de1724b51c361de76477">~FastInterruptDisableLock</a>()</td><td><a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html">miosix::FastInterruptDisableLock</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_fast_interrupt_disable_lock.html b/miosix/_doc/doxygen/html/classmiosix_1_1_fast_interrupt_disable_lock.html
new file mode 100644
index 0000000000000000000000000000000000000000..29e45ef771f53280d30775051ebbbdf655c88ec6
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_fast_interrupt_disable_lock.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::FastInterruptDisableLock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html">miosix::FastInterruptDisableLock</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::FastInterruptDisableLock Class Reference<br/>
+<small>
+[<a class="el" href="group___kernel.html">Kernel</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::FastInterruptDisableLock" -->
+<p><code>#include &lt;kernel.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_fast_interrupt_disable_lock-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html#ac10ca2ad58013504750550337bdaf6cf">FastInterruptDisableLock</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html#aa060c8983f93de1724b51c361de76477">~FastInterruptDisableLock</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This class is a RAII lock for disabling interrupts. This call avoids the error of not reenabling interrupts since it is done automatically. As opposed to <a class="el" href="classmiosix_1_1_interrupt_disable_lock.html">InterruptDisableLock</a>, this version doesn't support nesting </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ac10ca2ad58013504750550337bdaf6cf"></a><!-- doxytag: member="miosix::FastInterruptDisableLock::FastInterruptDisableLock" ref="ac10ca2ad58013504750550337bdaf6cf" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::FastInterruptDisableLock::FastInterruptDisableLock </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor, disables interrupts. </p>
+
+</div>
+</div>
+<a class="anchor" id="aa060c8983f93de1724b51c361de76477"></a><!-- doxytag: member="miosix::FastInterruptDisableLock::~FastInterruptDisableLock" ref="aa060c8983f93de1724b51c361de76477" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::FastInterruptDisableLock::~FastInterruptDisableLock </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Destructor, reenables interrupts </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>kernel.h</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_fast_interrupt_enable_lock-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_fast_interrupt_enable_lock-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..7af2379b114f16062c6f42a4c8b7fb49c778ca43
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_fast_interrupt_enable_lock-members.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::FastInterruptEnableLock Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_fast_interrupt_enable_lock.html">miosix::FastInterruptEnableLock</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_fast_interrupt_enable_lock.html#a1d0dc9ea0ee452a36d300b84c5e30a83">FastInterruptEnableLock</a>(FastInterruptDisableLock &amp;l)</td><td><a class="el" href="classmiosix_1_1_fast_interrupt_enable_lock.html">miosix::FastInterruptEnableLock</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_fast_interrupt_enable_lock.html#afb021a03eb3c46a8b8ee8d7854190f8c">~FastInterruptEnableLock</a>()</td><td><a class="el" href="classmiosix_1_1_fast_interrupt_enable_lock.html">miosix::FastInterruptEnableLock</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_fast_interrupt_enable_lock.html b/miosix/_doc/doxygen/html/classmiosix_1_1_fast_interrupt_enable_lock.html
new file mode 100644
index 0000000000000000000000000000000000000000..43a11db920bfdb5299095919ed8d207fdc7bd2a5
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_fast_interrupt_enable_lock.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::FastInterruptEnableLock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_fast_interrupt_enable_lock.html">miosix::FastInterruptEnableLock</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::FastInterruptEnableLock Class Reference<br/>
+<small>
+[<a class="el" href="group___kernel.html">Kernel</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::FastInterruptEnableLock" -->
+<p><code>#include &lt;kernel.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_fast_interrupt_enable_lock-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_fast_interrupt_enable_lock.html#a1d0dc9ea0ee452a36d300b84c5e30a83">FastInterruptEnableLock</a> (<a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html">FastInterruptDisableLock</a> &amp;l)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_fast_interrupt_enable_lock.html#afb021a03eb3c46a8b8ee8d7854190f8c">~FastInterruptEnableLock</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This class allows to temporarily re enable interrpts in a scope where they are disabled with an <a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html">FastInterruptDisableLock</a>. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a1d0dc9ea0ee452a36d300b84c5e30a83"></a><!-- doxytag: member="miosix::FastInterruptEnableLock::FastInterruptEnableLock" ref="a1d0dc9ea0ee452a36d300b84c5e30a83" args="(FastInterruptDisableLock &amp;l)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::FastInterruptEnableLock::FastInterruptEnableLock </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html">FastInterruptDisableLock</a> &amp;&nbsp;</td>
+          <td class="paramname"> <em>l</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor, enables back interrupts. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>the InteruptDisableLock that disabled interrupts. Note that this parameter is not used internally. It is only required to prevent erroneous use of this class by making an instance of it without an active InterruptEnabeLock </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="afb021a03eb3c46a8b8ee8d7854190f8c"></a><!-- doxytag: member="miosix::FastInterruptEnableLock::~FastInterruptEnableLock" ref="afb021a03eb3c46a8b8ee8d7854190f8c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::FastInterruptEnableLock::~FastInterruptEnableLock </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Destructor. Disable back interrupts. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>kernel.h</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_fast_mutex-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_fast_mutex-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..62631dbffe147f9d2b8d1ef500cb31a489f75b76
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_fast_mutex-members.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::FastMutex Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_fast_mutex.html">miosix::FastMutex</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_fast_mutex.html#a981dd8f3190f81f16a773b3de6ae0891a3e00b8e92574e595293459333b1e9182">DEFAULT</a> enum value</td><td><a class="el" href="classmiosix_1_1_fast_mutex.html">miosix::FastMutex</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_fast_mutex.html#aca5cd49cdb704db34488ac7ef16bbd12">FastMutex</a>(Options opt=DEFAULT)</td><td><a class="el" href="classmiosix_1_1_fast_mutex.html">miosix::FastMutex</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_fast_mutex.html#a0ad94f95d78f1316da8b622928b6ff61">lock</a>()</td><td><a class="el" href="classmiosix_1_1_fast_mutex.html">miosix::FastMutex</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_fast_mutex.html#a981dd8f3190f81f16a773b3de6ae0891">Options</a> enum name</td><td><a class="el" href="classmiosix_1_1_fast_mutex.html">miosix::FastMutex</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_fast_mutex.html#a981dd8f3190f81f16a773b3de6ae0891aa70c27d1982ebadac457d4f1c45fa2c8">RECURSIVE</a> enum value</td><td><a class="el" href="classmiosix_1_1_fast_mutex.html">miosix::FastMutex</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_fast_mutex.html#a41f2a4d790a2a7ee8695768d2deae95a">tryLock</a>()</td><td><a class="el" href="classmiosix_1_1_fast_mutex.html">miosix::FastMutex</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_fast_mutex.html#a080ce00d76c005a73917038908fd824c">unlock</a>()</td><td><a class="el" href="classmiosix_1_1_fast_mutex.html">miosix::FastMutex</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_fast_mutex.html#ad320fd1b0d905f2d4fa9e8e0567181d2">~FastMutex</a>()</td><td><a class="el" href="classmiosix_1_1_fast_mutex.html">miosix::FastMutex</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_fast_mutex.html b/miosix/_doc/doxygen/html/classmiosix_1_1_fast_mutex.html
new file mode 100644
index 0000000000000000000000000000000000000000..f62d1dc9e4662d1bbbba2e641a2088d973291bdf
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_fast_mutex.html
@@ -0,0 +1,193 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::FastMutex Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_fast_mutex.html">miosix::FastMutex</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::FastMutex Class Reference<br/>
+<small>
+[<a class="el" href="group___sync.html">Syncronization</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::FastMutex" -->
+<p><code>#include &lt;sync.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_fast_mutex-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_fast_mutex.html#a981dd8f3190f81f16a773b3de6ae0891">Options</a> { <a class="el" href="classmiosix_1_1_fast_mutex.html#a981dd8f3190f81f16a773b3de6ae0891a3e00b8e92574e595293459333b1e9182">DEFAULT</a>, 
+<a class="el" href="classmiosix_1_1_fast_mutex.html#a981dd8f3190f81f16a773b3de6ae0891aa70c27d1982ebadac457d4f1c45fa2c8">RECURSIVE</a>
+ }</td></tr>
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_fast_mutex.html#aca5cd49cdb704db34488ac7ef16bbd12">FastMutex</a> (<a class="el" href="classmiosix_1_1_fast_mutex.html#a981dd8f3190f81f16a773b3de6ae0891">Options</a> opt=DEFAULT)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_fast_mutex.html#a0ad94f95d78f1316da8b622928b6ff61">lock</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_fast_mutex.html#a41f2a4d790a2a7ee8695768d2deae95a">tryLock</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_fast_mutex.html#a080ce00d76c005a73917038908fd824c">unlock</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_fast_mutex.html#ad320fd1b0d905f2d4fa9e8e0567181d2">~FastMutex</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Fast mutex without support for priority inheritance </p>
+<hr/><h2>Member Enumeration Documentation</h2>
+<a class="anchor" id="a981dd8f3190f81f16a773b3de6ae0891"></a><!-- doxytag: member="miosix::FastMutex::Options" ref="a981dd8f3190f81f16a773b3de6ae0891" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="classmiosix_1_1_fast_mutex.html#a981dd8f3190f81f16a773b3de6ae0891">miosix::FastMutex::Options</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classmiosix_1_1_mutex.html">Mutex</a> options, passed to the constructor to set additional options.<br/>
+ The DEFAULT option indicates the default <a class="el" href="classmiosix_1_1_mutex.html">Mutex</a> type. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a981dd8f3190f81f16a773b3de6ae0891a3e00b8e92574e595293459333b1e9182"></a><!-- doxytag: member="DEFAULT" ref="a981dd8f3190f81f16a773b3de6ae0891a3e00b8e92574e595293459333b1e9182" args="" -->DEFAULT</em>&nbsp;</td><td>
+<p>Default mutex. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a981dd8f3190f81f16a773b3de6ae0891aa70c27d1982ebadac457d4f1c45fa2c8"></a><!-- doxytag: member="RECURSIVE" ref="a981dd8f3190f81f16a773b3de6ae0891aa70c27d1982ebadac457d4f1c45fa2c8" args="" -->RECURSIVE</em>&nbsp;</td><td>
+<p><a class="el" href="classmiosix_1_1_mutex.html">Mutex</a> is recursive. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aca5cd49cdb704db34488ac7ef16bbd12"></a><!-- doxytag: member="miosix::FastMutex::FastMutex" ref="aca5cd49cdb704db34488ac7ef16bbd12" args="(Options opt=DEFAULT)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::FastMutex::FastMutex </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classmiosix_1_1_fast_mutex.html#a981dd8f3190f81f16a773b3de6ae0891">Options</a>&nbsp;</td>
+          <td class="paramname"> <em>opt</em> = <code>DEFAULT</code></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor, initializes the mutex. </p>
+
+</div>
+</div>
+<a class="anchor" id="ad320fd1b0d905f2d4fa9e8e0567181d2"></a><!-- doxytag: member="miosix::FastMutex::~FastMutex" ref="ad320fd1b0d905f2d4fa9e8e0567181d2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::FastMutex::~FastMutex </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Destructor </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a0ad94f95d78f1316da8b622928b6ff61"></a><!-- doxytag: member="miosix::FastMutex::lock" ref="a0ad94f95d78f1316da8b622928b6ff61" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::FastMutex::lock </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Locks the critical section. If the critical section is already locked, the thread will be queued in a wait list. </p>
+
+</div>
+</div>
+<a class="anchor" id="a41f2a4d790a2a7ee8695768d2deae95a"></a><!-- doxytag: member="miosix::FastMutex::tryLock" ref="a41f2a4d790a2a7ee8695768d2deae95a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool miosix::FastMutex::tryLock </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Acquires the lock only if the critical section is not already locked by other threads. Attempting to lock again a recursive mutex will fail, and the mutex' lock count will not be incremented. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the lock was acquired </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a080ce00d76c005a73917038908fd824c"></a><!-- doxytag: member="miosix::FastMutex::unlock" ref="a080ce00d76c005a73917038908fd824c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::FastMutex::unlock </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Unlocks the critical section. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>sync.h</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_filesystem-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_filesystem-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..3221a24e27596ef7610fa0bdc5cae702e56d75a4
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_filesystem-members.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::Filesystem Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_filesystem.html">miosix::Filesystem</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_filesystem.html#a83ab051fd94eb41f38fb37c4c3c206b9">instance</a>()</td><td><a class="el" href="classmiosix_1_1_filesystem.html">miosix::Filesystem</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_filesystem.html#abaa17c0d791fabf357b0ed7ab7738d94">isMounted</a>() const </td><td><a class="el" href="classmiosix_1_1_filesystem.html">miosix::Filesystem</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_filesystem.html#a4506b58ded0e57ce555c9d21a0683801">mount</a>()</td><td><a class="el" href="classmiosix_1_1_filesystem.html">miosix::Filesystem</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_filesystem.html#a47abdaf552093b29eb78c722789324e7">umount</a>()</td><td><a class="el" href="classmiosix_1_1_filesystem.html">miosix::Filesystem</a></td><td></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_filesystem.html b/miosix/_doc/doxygen/html/classmiosix_1_1_filesystem.html
new file mode 100644
index 0000000000000000000000000000000000000000..03c6b7ff293afc8b274388f4d79f56fc587668bc
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_filesystem.html
@@ -0,0 +1,150 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::Filesystem Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_filesystem.html">miosix::Filesystem</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::Filesystem Class Reference<br/>
+<small>
+[<a class="el" href="group___filesystem.html">Filesystem</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::Filesystem" -->
+<p><code>#include &lt;filesystem.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_filesystem-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_filesystem.html#a4506b58ded0e57ce555c9d21a0683801">mount</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_filesystem.html#a47abdaf552093b29eb78c722789324e7">umount</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_filesystem.html#abaa17c0d791fabf357b0ed7ab7738d94">isMounted</a> () const </td></tr>
+<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmiosix_1_1_filesystem.html">Filesystem</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_filesystem.html#a83ab051fd94eb41f38fb37c4c3c206b9">instance</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This class allows low level access to the filesystem. It contains member functions to mount and unmount the filesystem, and to check if it is mounted. There are also functions to perform file access that are primarily meant to be used by the C/C++ standard library integration layer (syscalls.cpp). </p>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a83ab051fd94eb41f38fb37c4c3c206b9"></a><!-- doxytag: member="miosix::Filesystem::instance" ref="a83ab051fd94eb41f38fb37c4c3c206b9" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classmiosix_1_1_filesystem.html">Filesystem</a> &amp; miosix::Filesystem::instance </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>the instance of the filesystem (singleton). </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="abaa17c0d791fabf357b0ed7ab7738d94"></a><!-- doxytag: member="miosix::Filesystem::isMounted" ref="abaa17c0d791fabf357b0ed7ab7738d94" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool miosix::Filesystem::isMounted </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const<code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the filesystem is mounted </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a4506b58ded0e57ce555c9d21a0683801"></a><!-- doxytag: member="miosix::Filesystem::mount" ref="a4506b58ded0e57ce555c9d21a0683801" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">char miosix::Filesystem::mount </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Try to mount the flesystem. Might take a long time (~ 1 sec if no errors, up to 3 sec in case of errors) </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><ul>
+<li>0 = on success</li>
+<li>1 = in case of errors</li>
+<li>2 = if no drive was found (for example there is no uSD card)</li>
+<li>3 = if the filesystem is already mounted </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a47abdaf552093b29eb78c722789324e7"></a><!-- doxytag: member="miosix::Filesystem::umount" ref="a47abdaf552093b29eb78c722789324e7" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::Filesystem::umount </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Unmounts the filesystem if it is mounted. All files that are open at this point are closed, and their file descriptors are invalidated. Allows safely removing the drive (example uSD card) </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>filesystem.h</li>
+<li>filesystem.cpp</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_interrupt_disable_lock-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_interrupt_disable_lock-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..add722f5b9d89a7a334979cc4b78eca3bd79257f
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_interrupt_disable_lock-members.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::InterruptDisableLock Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_interrupt_disable_lock.html">miosix::InterruptDisableLock</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_interrupt_disable_lock.html#aeee39d909e99f88789419bb2bbad59c7">InterruptDisableLock</a>()</td><td><a class="el" href="classmiosix_1_1_interrupt_disable_lock.html">miosix::InterruptDisableLock</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_interrupt_disable_lock.html#a8989ce6efe8d4930cf045e01b157b288">~InterruptDisableLock</a>()</td><td><a class="el" href="classmiosix_1_1_interrupt_disable_lock.html">miosix::InterruptDisableLock</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_interrupt_disable_lock.html b/miosix/_doc/doxygen/html/classmiosix_1_1_interrupt_disable_lock.html
new file mode 100644
index 0000000000000000000000000000000000000000..c93e79414cd83b4ae72483caa7715fc3b425219c
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_interrupt_disable_lock.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::InterruptDisableLock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_interrupt_disable_lock.html">miosix::InterruptDisableLock</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::InterruptDisableLock Class Reference<br/>
+<small>
+[<a class="el" href="group___kernel.html">Kernel</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::InterruptDisableLock" -->
+<p><code>#include &lt;kernel.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_interrupt_disable_lock-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_interrupt_disable_lock.html#aeee39d909e99f88789419bb2bbad59c7">InterruptDisableLock</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_interrupt_disable_lock.html#a8989ce6efe8d4930cf045e01b157b288">~InterruptDisableLock</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This class is a RAII lock for disabling interrupts. This call avoids the error of not reenabling interrupts since it is done automatically. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aeee39d909e99f88789419bb2bbad59c7"></a><!-- doxytag: member="miosix::InterruptDisableLock::InterruptDisableLock" ref="aeee39d909e99f88789419bb2bbad59c7" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::InterruptDisableLock::InterruptDisableLock </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor, disables interrupts. </p>
+
+</div>
+</div>
+<a class="anchor" id="a8989ce6efe8d4930cf045e01b157b288"></a><!-- doxytag: member="miosix::InterruptDisableLock::~InterruptDisableLock" ref="a8989ce6efe8d4930cf045e01b157b288" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::InterruptDisableLock::~InterruptDisableLock </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Destructor, reenables interrupts </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>kernel.h</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_interrupt_enable_lock-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_interrupt_enable_lock-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..5e939ae4f0015b64be3f869e291672062b911d52
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_interrupt_enable_lock-members.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::InterruptEnableLock Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_interrupt_enable_lock.html">miosix::InterruptEnableLock</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_interrupt_enable_lock.html#ae02c7390bbaf3839a4401b4ea3172173">InterruptEnableLock</a>(InterruptDisableLock &amp;l)</td><td><a class="el" href="classmiosix_1_1_interrupt_enable_lock.html">miosix::InterruptEnableLock</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_interrupt_enable_lock.html#a0e1b60ac838afe74d1f7a906e3bb2282">~InterruptEnableLock</a>()</td><td><a class="el" href="classmiosix_1_1_interrupt_enable_lock.html">miosix::InterruptEnableLock</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_interrupt_enable_lock.html b/miosix/_doc/doxygen/html/classmiosix_1_1_interrupt_enable_lock.html
new file mode 100644
index 0000000000000000000000000000000000000000..c67efad4afc5a36fbc990c2ae6ee0d347f6919a9
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_interrupt_enable_lock.html
@@ -0,0 +1,124 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::InterruptEnableLock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_interrupt_enable_lock.html">miosix::InterruptEnableLock</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::InterruptEnableLock Class Reference<br/>
+<small>
+[<a class="el" href="group___kernel.html">Kernel</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::InterruptEnableLock" -->
+<p><code>#include &lt;kernel.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_interrupt_enable_lock-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_interrupt_enable_lock.html#ae02c7390bbaf3839a4401b4ea3172173">InterruptEnableLock</a> (<a class="el" href="classmiosix_1_1_interrupt_disable_lock.html">InterruptDisableLock</a> &amp;l)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_interrupt_enable_lock.html#a0e1b60ac838afe74d1f7a906e3bb2282">~InterruptEnableLock</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This class allows to temporarily re enable interrpts in a scope where they are disabled with an <a class="el" href="classmiosix_1_1_interrupt_disable_lock.html">InterruptDisableLock</a>.<br/>
+ Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="comment">//Interrupts enabled</span>
+ {
+     InterruptDisableLock dLock;
+
+     <span class="comment">//Now interrupts disabled</span>
+
+     {
+         <a class="code" href="classmiosix_1_1_interrupt_enable_lock.html#ae02c7390bbaf3839a4401b4ea3172173">InterruptEnableLock</a> eLock(dLock);
+
+         <span class="comment">//Now interrupts back enabled</span>
+     }
+
+     <span class="comment">//Now interrupts again disabled</span>
+ }
+ <span class="comment">//Finally interrupts enabled</span>
+</pre></div> <hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ae02c7390bbaf3839a4401b4ea3172173"></a><!-- doxytag: member="miosix::InterruptEnableLock::InterruptEnableLock" ref="ae02c7390bbaf3839a4401b4ea3172173" args="(InterruptDisableLock &amp;l)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::InterruptEnableLock::InterruptEnableLock </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classmiosix_1_1_interrupt_disable_lock.html">InterruptDisableLock</a> &amp;&nbsp;</td>
+          <td class="paramname"> <em>l</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor, enables back interrupts. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>the InteruptDisableLock that disabled interrupts. Note that this parameter is not used internally. It is only required to prevent erroneous use of this class by making an instance of it without an active InterruptEnabeLock </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a0e1b60ac838afe74d1f7a906e3bb2282"></a><!-- doxytag: member="miosix::InterruptEnableLock::~InterruptEnableLock" ref="a0e1b60ac838afe74d1f7a906e3bb2282" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::InterruptEnableLock::~InterruptEnableLock </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Destructor. Disable back interrupts. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>kernel.h</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_lock-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_lock-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..0db3fb0f429631c92d355e8ea4ab81c02fac5b47
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_lock-members.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::Lock&lt; T &gt; Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_lock.html">miosix::Lock&lt; T &gt;</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_lock.html#a28807e63ba20acd9df2b55bccf8af2bf">get</a>()</td><td><a class="el" href="classmiosix_1_1_lock.html">miosix::Lock&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_lock.html#aefcff605f9b21d592febe4c1bffa7807">Lock</a>(T &amp;m)</td><td><a class="el" href="classmiosix_1_1_lock.html">miosix::Lock&lt; T &gt;</a></td><td><code> [inline, explicit]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_lock.html#ad8e9566c5eead737472fda2fce2a0c88">~Lock</a>()</td><td><a class="el" href="classmiosix_1_1_lock.html">miosix::Lock&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_lock.html b/miosix/_doc/doxygen/html/classmiosix_1_1_lock.html
new file mode 100644
index 0000000000000000000000000000000000000000..c341d0d76ac9143ad0cabbbd1351c605958498f5
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_lock.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::Lock&lt; T &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_lock.html">miosix::Lock&lt; T &gt;</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::Lock&lt; T &gt; Class Template Reference<br/>
+<small>
+[<a class="el" href="group___sync.html">Syncronization</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::Lock" -->
+<p><code>#include &lt;sync.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_lock-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_lock.html#aefcff605f9b21d592febe4c1bffa7807">Lock</a> (T &amp;m)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_lock.html#ad8e9566c5eead737472fda2fce2a0c88">~Lock</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_lock.html#a28807e63ba20acd9df2b55bccf8af2bf">get</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename T&gt;<br/>
+ class miosix::Lock&lt; T &gt;</h3>
+
+<p>Very simple RAII style class to lock a mutex in an exception-safe way. <a class="el" href="classmiosix_1_1_mutex.html">Mutex</a> is acquired by the constructor and released by the destructor. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aefcff605f9b21d592febe4c1bffa7807"></a><!-- doxytag: member="miosix::Lock::Lock" ref="aefcff605f9b21d592febe4c1bffa7807" args="(T &amp;m)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classmiosix_1_1_lock.html">miosix::Lock</a>&lt; T &gt;::<a class="el" href="classmiosix_1_1_lock.html">Lock</a> </td>
+          <td>(</td>
+          <td class="paramtype">T &amp;&nbsp;</td>
+          <td class="paramname"> <em>m</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline, explicit]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor: locks the mutex </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>mutex to lock </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ad8e9566c5eead737472fda2fce2a0c88"></a><!-- doxytag: member="miosix::Lock::~Lock" ref="ad8e9566c5eead737472fda2fce2a0c88" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classmiosix_1_1_lock.html">miosix::Lock</a>&lt; T &gt;::~<a class="el" href="classmiosix_1_1_lock.html">Lock</a> </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Destructor: unlocks the mutex </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a28807e63ba20acd9df2b55bccf8af2bf"></a><!-- doxytag: member="miosix::Lock::get" ref="a28807e63ba20acd9df2b55bccf8af2bf" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">T&amp; <a class="el" href="classmiosix_1_1_lock.html">miosix::Lock</a>&lt; T &gt;::get </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>the locked mutex </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>sync.h</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_lower_priority-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_lower_priority-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..ecbc7ce1da92cf3eb0bc36a0e18eb561c39721f5
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_lower_priority-members.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::LowerPriority Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_lower_priority.html">miosix::LowerPriority</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_lower_priority.html#ae223edc017a90abdf70ab8996438cef2">operator()</a>(Thread *a, Thread *b)</td><td><a class="el" href="classmiosix_1_1_lower_priority.html">miosix::LowerPriority</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_lower_priority.html b/miosix/_doc/doxygen/html/classmiosix_1_1_lower_priority.html
new file mode 100644
index 0000000000000000000000000000000000000000..e523c23073bb9d42f9f274476642e8995ccdf48e
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_lower_priority.html
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::LowerPriority Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_lower_priority.html">miosix::LowerPriority</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::LowerPriority Class Reference<br/>
+<small>
+[<a class="el" href="group___kernel.html">Kernel</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::LowerPriority" -->
+<p><code>#include &lt;kernel.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_lower_priority-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_lower_priority.html#ae223edc017a90abdf70ab8996438cef2">operator()</a> (<a class="el" href="classmiosix_1_1_thread.html">Thread</a> *a, <a class="el" href="classmiosix_1_1_thread.html">Thread</a> *b)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Function object to compare the priority of two threads. </p>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae223edc017a90abdf70ab8996438cef2"></a><!-- doxytag: member="miosix::LowerPriority::operator()" ref="ae223edc017a90abdf70ab8996438cef2" args="(Thread *a, Thread *b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool miosix::LowerPriority::operator() </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classmiosix_1_1_thread.html">Thread</a> *&nbsp;</td>
+          <td class="paramname"> <em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classmiosix_1_1_thread.html">Thread</a> *&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>first thread to compare </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>second thread to compare </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if a-&gt;getPriority() &lt; b-&gt;getPriority()</dd></dl>
+<p>Can be called when the kernel is paused. or with interrupts disabled </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>kernel.h</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_memory_profiling-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_memory_profiling-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..ab54f8afbbb2cccb0e42cac487309117f0f00ac9
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_memory_profiling-members.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::MemoryProfiling Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_memory_profiling.html">miosix::MemoryProfiling</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_memory_profiling.html#af09789fc33f2a1768cad7fad8cf7488b">getAbsoluteFreeHeap</a>()</td><td><a class="el" href="classmiosix_1_1_memory_profiling.html">miosix::MemoryProfiling</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_memory_profiling.html#af653e0d570d4cf3c358871c5c56e7f87">getAbsoluteFreeStack</a>()</td><td><a class="el" href="classmiosix_1_1_memory_profiling.html">miosix::MemoryProfiling</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_memory_profiling.html#ab49f252e7a4800d3b076102eb6562fed">getCurrentFreeHeap</a>()</td><td><a class="el" href="classmiosix_1_1_memory_profiling.html">miosix::MemoryProfiling</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_memory_profiling.html#ab4a3fc09f4d48b7761c52fbe18e683ee">getCurrentFreeStack</a>()</td><td><a class="el" href="classmiosix_1_1_memory_profiling.html">miosix::MemoryProfiling</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_memory_profiling.html#acc5945c41f0ccf00c35d256fe8dbf30a">getHeapSize</a>()</td><td><a class="el" href="classmiosix_1_1_memory_profiling.html">miosix::MemoryProfiling</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_memory_profiling.html#ab01517dcb40ae74f6cb17a54baf5d00d">getStackSize</a>()</td><td><a class="el" href="classmiosix_1_1_memory_profiling.html">miosix::MemoryProfiling</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_memory_profiling.html#ad49f0f486487a4fa165883eb45ad5f4e">print</a>()</td><td><a class="el" href="classmiosix_1_1_memory_profiling.html">miosix::MemoryProfiling</a></td><td><code> [static]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_memory_profiling.html b/miosix/_doc/doxygen/html/classmiosix_1_1_memory_profiling.html
new file mode 100644
index 0000000000000000000000000000000000000000..667628d09d91b889a145bc9e680915569ac34ad1
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_memory_profiling.html
@@ -0,0 +1,204 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::MemoryProfiling Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_memory_profiling.html">miosix::MemoryProfiling</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::MemoryProfiling Class Reference<br/>
+<small>
+[<a class="el" href="group___util.html">Utilities</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::MemoryProfiling" -->
+<p><code>#include &lt;util.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_memory_profiling-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_memory_profiling.html#ad49f0f486487a4fa165883eb45ad5f4e">print</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_memory_profiling.html#ab01517dcb40ae74f6cb17a54baf5d00d">getStackSize</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_memory_profiling.html#af653e0d570d4cf3c358871c5c56e7f87">getAbsoluteFreeStack</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_memory_profiling.html#ab4a3fc09f4d48b7761c52fbe18e683ee">getCurrentFreeStack</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_memory_profiling.html#acc5945c41f0ccf00c35d256fe8dbf30a">getHeapSize</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_memory_profiling.html#af09789fc33f2a1768cad7fad8cf7488b">getAbsoluteFreeHeap</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_memory_profiling.html#ab49f252e7a4800d3b076102eb6562fed">getCurrentFreeHeap</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This class allows to gather memory statistics useful when developing embedded code. </p>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="af09789fc33f2a1768cad7fad8cf7488b"></a><!-- doxytag: member="miosix::MemoryProfiling::getAbsoluteFreeHeap" ref="af09789fc33f2a1768cad7fad8cf7488b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned int miosix::MemoryProfiling::getAbsoluteFreeHeap </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>absolute (not current) free heap.<br/>
+ Absolute free heap is the minimum free heap since the program started. <br/>
+The heap is shared among all threads, therefore this function returns the same value regardless which thread is called in. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="af653e0d570d4cf3c358871c5c56e7f87"></a><!-- doxytag: member="miosix::MemoryProfiling::getAbsoluteFreeStack" ref="af653e0d570d4cf3c358871c5c56e7f87" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned int miosix::MemoryProfiling::getAbsoluteFreeStack </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>absolute free stack of current thread.<br/>
+ Absolute free stack is the minimum free stack since the thread was created. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ab49f252e7a4800d3b076102eb6562fed"></a><!-- doxytag: member="miosix::MemoryProfiling::getCurrentFreeHeap" ref="ab49f252e7a4800d3b076102eb6562fed" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned int miosix::MemoryProfiling::getCurrentFreeHeap </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>current free heap.<br/>
+ Current free heap is the free heap at the moment when the this function is called.<br/>
+ The heap is shared among all threads, therefore this function returns the same value regardless which thread is called in. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ab4a3fc09f4d48b7761c52fbe18e683ee"></a><!-- doxytag: member="miosix::MemoryProfiling::getCurrentFreeStack" ref="ab4a3fc09f4d48b7761c52fbe18e683ee" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned int miosix::MemoryProfiling::getCurrentFreeStack </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>current free stack of current thread.<br/>
+ Current free stack is the free stack at the moment when the this function is called. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="acc5945c41f0ccf00c35d256fe8dbf30a"></a><!-- doxytag: member="miosix::MemoryProfiling::getHeapSize" ref="acc5945c41f0ccf00c35d256fe8dbf30a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned int miosix::MemoryProfiling::getHeapSize </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>heap size which is defined in the linker script.<br/>
+The heap is shared among all threads, therefore this function returns the same value regardless which thread is called in. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ab01517dcb40ae74f6cb17a54baf5d00d"></a><!-- doxytag: member="miosix::MemoryProfiling::getStackSize" ref="ab01517dcb40ae74f6cb17a54baf5d00d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned int miosix::MemoryProfiling::getStackSize </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>stack size of current thread. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ad49f0f486487a4fa165883eb45ad5f4e"></a><!-- doxytag: member="miosix::MemoryProfiling::print" ref="ad49f0f486487a4fa165883eb45ad5f4e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::MemoryProfiling::print </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Prints a summary of the information that can be gathered from this class. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>util.h</li>
+<li>util.cpp</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_mutex-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_mutex-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..307fb36af7481a2cb3744831fcf678a41f6ff7e6
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_mutex-members.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::Mutex Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_mutex.html">miosix::Mutex</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_mutex.html#acdb0fa35e637a14b1504a8f58c8bba2fa84dda8357cdf60e9ce2b81c0f78c36d8">DEFAULT</a> enum value</td><td><a class="el" href="classmiosix_1_1_mutex.html">miosix::Mutex</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_mutex.html#a6ff0ea4734654c2048ef44cec62b5ed6">lock</a>()</td><td><a class="el" href="classmiosix_1_1_mutex.html">miosix::Mutex</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_mutex.html#a63a4d940d2bbb57522dcb23f0fc704a2">Mutex</a>(Options opt=DEFAULT)</td><td><a class="el" href="classmiosix_1_1_mutex.html">miosix::Mutex</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_mutex.html#acdb0fa35e637a14b1504a8f58c8bba2f">Options</a> enum name</td><td><a class="el" href="classmiosix_1_1_mutex.html">miosix::Mutex</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_mutex.html#acdb0fa35e637a14b1504a8f58c8bba2fadadaee3cc9d507680b8652a09c3de4a5">RECURSIVE</a> enum value</td><td><a class="el" href="classmiosix_1_1_mutex.html">miosix::Mutex</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_mutex.html#a3e7e51aa095528a36e49dd5f672ddc74">tryLock</a>()</td><td><a class="el" href="classmiosix_1_1_mutex.html">miosix::Mutex</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_mutex.html#a10974326b33d887fa7ad1f910b70ed50">unlock</a>()</td><td><a class="el" href="classmiosix_1_1_mutex.html">miosix::Mutex</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_mutex.html b/miosix/_doc/doxygen/html/classmiosix_1_1_mutex.html
new file mode 100644
index 0000000000000000000000000000000000000000..22afef21921fb36e2ac727e735b85152bafebc3f
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_mutex.html
@@ -0,0 +1,177 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::Mutex Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_mutex.html">miosix::Mutex</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::Mutex Class Reference<br/>
+<small>
+[<a class="el" href="group___sync.html">Syncronization</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::Mutex" -->
+<p><code>#include &lt;sync.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_mutex-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_mutex.html#acdb0fa35e637a14b1504a8f58c8bba2f">Options</a> { <a class="el" href="classmiosix_1_1_mutex.html#acdb0fa35e637a14b1504a8f58c8bba2fa84dda8357cdf60e9ce2b81c0f78c36d8">DEFAULT</a>, 
+<a class="el" href="classmiosix_1_1_mutex.html#acdb0fa35e637a14b1504a8f58c8bba2fadadaee3cc9d507680b8652a09c3de4a5">RECURSIVE</a>
+ }</td></tr>
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_mutex.html#a63a4d940d2bbb57522dcb23f0fc704a2">Mutex</a> (<a class="el" href="classmiosix_1_1_mutex.html#acdb0fa35e637a14b1504a8f58c8bba2f">Options</a> opt=DEFAULT)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_mutex.html#a6ff0ea4734654c2048ef44cec62b5ed6">lock</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_mutex.html#a3e7e51aa095528a36e49dd5f672ddc74">tryLock</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_mutex.html#a10974326b33d887fa7ad1f910b70ed50">unlock</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A mutex class with support for priority inheritance. If a thread tries to enter a critical section which is not free, it will be put to sleep and added to a queue of sleeping threads, ordered by priority. The thread that is into the critical section inherits the highest priority among the threads that are waiting if it is higher than its original priority.<br/>
+ This mutex is meant to be a static or global class. Dynamically creating a mutex with new or on the stack must be done with care, to avoid deleting a locked mutex, and to avoid situations where a thread tries to lock a deleted mutex.<br/>
+ </p>
+<hr/><h2>Member Enumeration Documentation</h2>
+<a class="anchor" id="acdb0fa35e637a14b1504a8f58c8bba2f"></a><!-- doxytag: member="miosix::Mutex::Options" ref="acdb0fa35e637a14b1504a8f58c8bba2f" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="classmiosix_1_1_mutex.html#acdb0fa35e637a14b1504a8f58c8bba2f">miosix::Mutex::Options</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classmiosix_1_1_mutex.html">Mutex</a> options, passed to the constructor to set additional options.<br/>
+ The DEFAULT option indicates the default <a class="el" href="classmiosix_1_1_mutex.html">Mutex</a> type. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="acdb0fa35e637a14b1504a8f58c8bba2fa84dda8357cdf60e9ce2b81c0f78c36d8"></a><!-- doxytag: member="DEFAULT" ref="acdb0fa35e637a14b1504a8f58c8bba2fa84dda8357cdf60e9ce2b81c0f78c36d8" args="" -->DEFAULT</em>&nbsp;</td><td>
+<p>Default mutex. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="acdb0fa35e637a14b1504a8f58c8bba2fadadaee3cc9d507680b8652a09c3de4a5"></a><!-- doxytag: member="RECURSIVE" ref="acdb0fa35e637a14b1504a8f58c8bba2fadadaee3cc9d507680b8652a09c3de4a5" args="" -->RECURSIVE</em>&nbsp;</td><td>
+<p><a class="el" href="classmiosix_1_1_mutex.html">Mutex</a> is recursive. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a63a4d940d2bbb57522dcb23f0fc704a2"></a><!-- doxytag: member="miosix::Mutex::Mutex" ref="a63a4d940d2bbb57522dcb23f0fc704a2" args="(Options opt=DEFAULT)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::Mutex::Mutex </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classmiosix_1_1_mutex.html#acdb0fa35e637a14b1504a8f58c8bba2f">Options</a>&nbsp;</td>
+          <td class="paramname"> <em>opt</em> = <code>DEFAULT</code></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor, initializes the mutex. </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a6ff0ea4734654c2048ef44cec62b5ed6"></a><!-- doxytag: member="miosix::Mutex::lock" ref="a6ff0ea4734654c2048ef44cec62b5ed6" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::Mutex::lock </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Locks the critical section. If the critical section is already locked, the thread will be queued in a wait list. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3e7e51aa095528a36e49dd5f672ddc74"></a><!-- doxytag: member="miosix::Mutex::tryLock" ref="a3e7e51aa095528a36e49dd5f672ddc74" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool miosix::Mutex::tryLock </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Acquires the lock only if the critical section is not already locked by other threads. Attempting to lock again a recursive mutex will fail, and the mutex' lock count will not be incremented. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the lock was acquired </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a10974326b33d887fa7ad1f910b70ed50"></a><!-- doxytag: member="miosix::Mutex::unlock" ref="a10974326b33d887fa7ad1f910b70ed50" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::Mutex::unlock </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Unlocks the critical section. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>sync.h</li>
+<li>sync.cpp</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_pause_kernel_lock-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_pause_kernel_lock-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..069520fbcb64e154e7cc2dee8444f9205fa91837
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_pause_kernel_lock-members.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::PauseKernelLock Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_pause_kernel_lock.html">miosix::PauseKernelLock</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_pause_kernel_lock.html#a6666bc670b9eb36ce7797b9b231e4bf8">PauseKernelLock</a>()</td><td><a class="el" href="classmiosix_1_1_pause_kernel_lock.html">miosix::PauseKernelLock</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_pause_kernel_lock.html#a0980986878a2bc171af039d70a1e9e7a">~PauseKernelLock</a>()</td><td><a class="el" href="classmiosix_1_1_pause_kernel_lock.html">miosix::PauseKernelLock</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_pause_kernel_lock.html b/miosix/_doc/doxygen/html/classmiosix_1_1_pause_kernel_lock.html
new file mode 100644
index 0000000000000000000000000000000000000000..684cf8b972c52884e6d3e0c4513a0a0ec0fbca9d
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_pause_kernel_lock.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::PauseKernelLock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_pause_kernel_lock.html">miosix::PauseKernelLock</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::PauseKernelLock Class Reference<br/>
+<small>
+[<a class="el" href="group___kernel.html">Kernel</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::PauseKernelLock" -->
+<p><code>#include &lt;kernel.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_pause_kernel_lock-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_pause_kernel_lock.html#a6666bc670b9eb36ce7797b9b231e4bf8">PauseKernelLock</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_pause_kernel_lock.html#a0980986878a2bc171af039d70a1e9e7a">~PauseKernelLock</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This class is a RAII lock for pausing the kernel. This call avoids the error of not restarting the kernel since it is done automatically. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a6666bc670b9eb36ce7797b9b231e4bf8"></a><!-- doxytag: member="miosix::PauseKernelLock::PauseKernelLock" ref="a6666bc670b9eb36ce7797b9b231e4bf8" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::PauseKernelLock::PauseKernelLock </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor, pauses the kernel. </p>
+
+</div>
+</div>
+<a class="anchor" id="a0980986878a2bc171af039d70a1e9e7a"></a><!-- doxytag: member="miosix::PauseKernelLock::~PauseKernelLock" ref="a0980986878a2bc171af039d70a1e9e7a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::PauseKernelLock::~PauseKernelLock </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Destructor, restarts the kernel </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>kernel.h</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_priority_scheduler_priority-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_priority_scheduler_priority-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..32d9d30c23f291417d9fd56deef33bd9c3b58e99
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_priority_scheduler_priority-members.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::PrioritySchedulerPriority Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">miosix::PrioritySchedulerPriority</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html#aaed4edb129dd8ceadc7b36dc63e74cc5">get</a>() const </td><td><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">miosix::PrioritySchedulerPriority</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html#a206ab3dfa014606172a906aef6c99545">PrioritySchedulerPriority</a>(short int priority)</td><td><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">miosix::PrioritySchedulerPriority</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html#a0f2dc299a1f8dbfcb3e44ef3b22d5d49">PrioritySchedulerPriority</a>()</td><td><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">miosix::PrioritySchedulerPriority</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html#a17300acc93554e4a115a40f99a84f392">validate</a>() const </td><td><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">miosix::PrioritySchedulerPriority</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_priority_scheduler_priority.html b/miosix/_doc/doxygen/html/classmiosix_1_1_priority_scheduler_priority.html
new file mode 100644
index 0000000000000000000000000000000000000000..30c6dedecfaf3cd99f8b3f4a4a0bee5b74e9e326
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_priority_scheduler_priority.html
@@ -0,0 +1,144 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::PrioritySchedulerPriority Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">miosix::PrioritySchedulerPriority</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::PrioritySchedulerPriority Class Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::PrioritySchedulerPriority" -->
+<p><code>#include &lt;priority_scheduler_types.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_priority_scheduler_priority-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html#a206ab3dfa014606172a906aef6c99545">PrioritySchedulerPriority</a> (short int priority)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html#a0f2dc299a1f8dbfcb3e44ef3b22d5d49">PrioritySchedulerPriority</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">short int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html#aaed4edb129dd8ceadc7b36dc63e74cc5">get</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html#a17300acc93554e4a115a40f99a84f392">validate</a> () const </td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This class models the concept of priority for the priority scheduler. In this scheduler the priority is simply a short int with values ranging from 0 to PRIORITY_MAX-1, higher values mean higher priority, and the special value -1 reserved for the idle thread. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a206ab3dfa014606172a906aef6c99545"></a><!-- doxytag: member="miosix::PrioritySchedulerPriority::PrioritySchedulerPriority" ref="a206ab3dfa014606172a906aef6c99545" args="(short int priority)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::PrioritySchedulerPriority::PrioritySchedulerPriority </td>
+          <td>(</td>
+          <td class="paramtype">short int&nbsp;</td>
+          <td class="paramname"> <em>priority</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor. Not explicit for backward compatibility. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>priority</em>&nbsp;</td><td>the desired priority value. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a0f2dc299a1f8dbfcb3e44ef3b22d5d49"></a><!-- doxytag: member="miosix::PrioritySchedulerPriority::PrioritySchedulerPriority" ref="a0f2dc299a1f8dbfcb3e44ef3b22d5d49" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::PrioritySchedulerPriority::PrioritySchedulerPriority </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Default constructor. </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="aaed4edb129dd8ceadc7b36dc63e74cc5"></a><!-- doxytag: member="miosix::PrioritySchedulerPriority::get" ref="aaed4edb129dd8ceadc7b36dc63e74cc5" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">short int miosix::PrioritySchedulerPriority::get </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const<code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>the priority value </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a17300acc93554e4a115a40f99a84f392"></a><!-- doxytag: member="miosix::PrioritySchedulerPriority::validate" ref="a17300acc93554e4a115a40f99a84f392" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool miosix::PrioritySchedulerPriority::validate </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const<code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if this objects represents a valid priority. Note that the value -1 is considered not valid, because it is reserved for the idle thread. </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>priority_scheduler_types.h</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_queue-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_queue-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..7de5da4a407a00c325ce3bb02c844a3dfd87a45f
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_queue-members.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::Queue&lt; T, len &gt; Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_queue.html">miosix::Queue&lt; T, len &gt;</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_queue.html#ade3ad87c4c3fdac0a2bdd755ff3c8971">get</a>(T &amp;elem)</td><td><a class="el" href="classmiosix_1_1_queue.html">miosix::Queue&lt; T, len &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_queue.html#a545ed38e44e319303e0d657de8195cec">IRQget</a>(T &amp;elem)</td><td><a class="el" href="classmiosix_1_1_queue.html">miosix::Queue&lt; T, len &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_queue.html#a2875b9df92f6a5db148b3e4f7ad989bf">IRQget</a>(T &amp;elem, bool &amp;hppw)</td><td><a class="el" href="classmiosix_1_1_queue.html">miosix::Queue&lt; T, len &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_queue.html#aebf1e9ff8643933b679b5d6e2ecfe343">IRQput</a>(T elem)</td><td><a class="el" href="classmiosix_1_1_queue.html">miosix::Queue&lt; T, len &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_queue.html#a8a0fd6d06459b6a2c72ed07afaad76fd">IRQput</a>(T elem, bool &amp;hppw)</td><td><a class="el" href="classmiosix_1_1_queue.html">miosix::Queue&lt; T, len &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_queue.html#a8d7aea4c62e78d4221dbaab13538e695">IRQreset</a>()</td><td><a class="el" href="classmiosix_1_1_queue.html">miosix::Queue&lt; T, len &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_queue.html#a8d18f593639d0d7eef52b6267f83ce34">isEmpty</a>() const </td><td><a class="el" href="classmiosix_1_1_queue.html">miosix::Queue&lt; T, len &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_queue.html#affa922a8101a173168daca418eed8c4b">isFull</a>() const </td><td><a class="el" href="classmiosix_1_1_queue.html">miosix::Queue&lt; T, len &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_queue.html#a40eac0f03500a45a6ec3a5af3e0909be">put</a>(T elem)</td><td><a class="el" href="classmiosix_1_1_queue.html">miosix::Queue&lt; T, len &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_queue.html#a45ac6bfe191bc6d52089215b52863732">Queue</a>()</td><td><a class="el" href="classmiosix_1_1_queue.html">miosix::Queue&lt; T, len &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_queue.html#a36d52ae7f77126add31096faa97e45b0">reset</a>()</td><td><a class="el" href="classmiosix_1_1_queue.html">miosix::Queue&lt; T, len &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_queue.html#af77abf62e5999b15fa5fcb3101f4801d">waitUntilNotEmpty</a>()</td><td><a class="el" href="classmiosix_1_1_queue.html">miosix::Queue&lt; T, len &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_queue.html#af3809d4c8d0ae31774ca5e985b1810e5">waitUntilNotFull</a>()</td><td><a class="el" href="classmiosix_1_1_queue.html">miosix::Queue&lt; T, len &gt;</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_queue.html b/miosix/_doc/doxygen/html/classmiosix_1_1_queue.html
new file mode 100644
index 0000000000000000000000000000000000000000..59885b6deefce03f9be565336f1bac7fec31bead
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_queue.html
@@ -0,0 +1,420 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::Queue&lt; T, len &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_queue.html">miosix::Queue&lt; T, len &gt;</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::Queue&lt; T, len &gt; Class Template Reference<br/>
+<small>
+[<a class="el" href="group___sync.html">Syncronization</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::Queue" -->
+<p><code>#include &lt;sync.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_queue-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_queue.html#a45ac6bfe191bc6d52089215b52863732">Queue</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_queue.html#a8d18f593639d0d7eef52b6267f83ce34">isEmpty</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_queue.html#affa922a8101a173168daca418eed8c4b">isFull</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_queue.html#af77abf62e5999b15fa5fcb3101f4801d">waitUntilNotEmpty</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_queue.html#af3809d4c8d0ae31774ca5e985b1810e5">waitUntilNotFull</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_queue.html#ade3ad87c4c3fdac0a2bdd755ff3c8971">get</a> (T &amp;elem)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_queue.html#a40eac0f03500a45a6ec3a5af3e0909be">put</a> (T elem)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_queue.html#a545ed38e44e319303e0d657de8195cec">IRQget</a> (T &amp;elem)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_queue.html#a2875b9df92f6a5db148b3e4f7ad989bf">IRQget</a> (T &amp;elem, bool &amp;hppw)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_queue.html#aebf1e9ff8643933b679b5d6e2ecfe343">IRQput</a> (T elem)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_queue.html#a8a0fd6d06459b6a2c72ed07afaad76fd">IRQput</a> (T elem, bool &amp;hppw)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_queue.html#a36d52ae7f77126add31096faa97e45b0">reset</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_queue.html#a8d7aea4c62e78d4221dbaab13538e695">IRQreset</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename T, unsigned int len&gt;<br/>
+ class miosix::Queue&lt; T, len &gt;</h3>
+
+<p>A queue, used to transfer data between TWO threads, or between ONE thread and an IRQ.<br/>
+ If you need to tranfer data between more than two threads, you need to use mutexes to ensure that only one thread at a time calls get, and only one thread at a time calls put.<br/>
+ This queue is meant to be a static or global class. Dynamically creating a queue with new or on the stack must be done with care, to avoid deleting a queue with a waiting thread, and to avoid situations where a thread tries to access a deleted queue. </p>
+<dl><dt><b>Template Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>the type of elements in the queue </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>the length of the <a class="el" href="classmiosix_1_1_queue.html">Queue</a> </td></tr>
+  </table>
+  </dd>
+</dl>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a45ac6bfe191bc6d52089215b52863732"></a><!-- doxytag: member="miosix::Queue::Queue" ref="a45ac6bfe191bc6d52089215b52863732" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T , unsigned int len&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classmiosix_1_1_queue.html">miosix::Queue</a>&lt; T, len &gt;::<a class="el" href="classmiosix_1_1_queue.html">Queue</a> </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor, create a new empty queue. </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ade3ad87c4c3fdac0a2bdd755ff3c8971"></a><!-- doxytag: member="miosix::Queue::get" ref="ade3ad87c4c3fdac0a2bdd755ff3c8971" args="(T &amp;elem)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T , unsigned int len&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classmiosix_1_1_queue.html">miosix::Queue</a>&lt; T, len &gt;::get </td>
+          <td>(</td>
+          <td class="paramtype">T &amp;&nbsp;</td>
+          <td class="paramname"> <em>elem</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Get an element from the queue. If the queue is empty, then sleep until an element becomes available. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>an element from the queue </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a2875b9df92f6a5db148b3e4f7ad989bf"></a><!-- doxytag: member="miosix::Queue::IRQget" ref="a2875b9df92f6a5db148b3e4f7ad989bf" args="(T &amp;elem, bool &amp;hppw)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T , unsigned int len&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="classmiosix_1_1_queue.html">miosix::Queue</a>&lt; T, len &gt;::IRQget </td>
+          <td>(</td>
+          <td class="paramtype">T &amp;&nbsp;</td>
+          <td class="paramname"> <em>elem</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool &amp;&nbsp;</td>
+          <td class="paramname"> <em>hppw</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Get an element from the queue, only if the queue is not empty.<br/>
+ Can ONLY be used inside an IRQ, or when interrupts are disabled. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>an element from the queue. The element is valid only if the return value is true </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hppw</em>&nbsp;</td><td>is not modified if no thread is woken or if the woken thread has a lower or equal priority than the currently running thread, else is set to true </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the queue was not empty </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a545ed38e44e319303e0d657de8195cec"></a><!-- doxytag: member="miosix::Queue::IRQget" ref="a545ed38e44e319303e0d657de8195cec" args="(T &amp;elem)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T , unsigned int len&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="classmiosix_1_1_queue.html">miosix::Queue</a>&lt; T, len &gt;::IRQget </td>
+          <td>(</td>
+          <td class="paramtype">T &amp;&nbsp;</td>
+          <td class="paramname"> <em>elem</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Get an element from the queue, only if the queue is not empty.<br/>
+ Can ONLY be used inside an IRQ, or when interrupts are disabled. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>an element from the queue. The element is valid only if the return value is true </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the queue was not empty </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aebf1e9ff8643933b679b5d6e2ecfe343"></a><!-- doxytag: member="miosix::Queue::IRQput" ref="aebf1e9ff8643933b679b5d6e2ecfe343" args="(T elem)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T , unsigned int len&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="classmiosix_1_1_queue.html">miosix::Queue</a>&lt; T, len &gt;::IRQput </td>
+          <td>(</td>
+          <td class="paramtype">T&nbsp;</td>
+          <td class="paramname"> <em>elem</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Put an element to the queue, only if th queue is not full.<br/>
+ Can ONLY be used inside an IRQ, or when interrupts are disabled. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>element to add. The element has been added only if the return value is true </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the queue was not full. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a8a0fd6d06459b6a2c72ed07afaad76fd"></a><!-- doxytag: member="miosix::Queue::IRQput" ref="a8a0fd6d06459b6a2c72ed07afaad76fd" args="(T elem, bool &amp;hppw)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T , unsigned int len&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="classmiosix_1_1_queue.html">miosix::Queue</a>&lt; T, len &gt;::IRQput </td>
+          <td>(</td>
+          <td class="paramtype">T&nbsp;</td>
+          <td class="paramname"> <em>elem</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool &amp;&nbsp;</td>
+          <td class="paramname"> <em>hppw</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Put an element to the queue, only if th queue is not full.<br/>
+ Can ONLY be used inside an IRQ, or when interrupts are disabled. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>element to add. The element has been added only if the return value is true </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hppw</em>&nbsp;</td><td>is not modified if no thread is woken or if the woken thread has a lower or equal priority than the currently running thread, else is set to true </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the queue was not full. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a8d7aea4c62e78d4221dbaab13538e695"></a><!-- doxytag: member="miosix::Queue::IRQreset" ref="a8d7aea4c62e78d4221dbaab13538e695" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T , unsigned int len&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classmiosix_1_1_queue.html">miosix::Queue</a>&lt; T, len &gt;::IRQreset </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Same as <a class="el" href="classmiosix_1_1_queue.html#a36d52ae7f77126add31096faa97e45b0">reset()</a>, but to be used only inside IRQs or when interrupts are disabled. </p>
+
+</div>
+</div>
+<a class="anchor" id="a8d18f593639d0d7eef52b6267f83ce34"></a><!-- doxytag: member="miosix::Queue::isEmpty" ref="a8d18f593639d0d7eef52b6267f83ce34" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T , unsigned int len&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="classmiosix_1_1_queue.html">miosix::Queue</a>&lt; T, len &gt;::isEmpty </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const<code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the queue is empty </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="affa922a8101a173168daca418eed8c4b"></a><!-- doxytag: member="miosix::Queue::isFull" ref="affa922a8101a173168daca418eed8c4b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T , unsigned int len&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="classmiosix_1_1_queue.html">miosix::Queue</a>&lt; T, len &gt;::isFull </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const<code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the queue is full </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a40eac0f03500a45a6ec3a5af3e0909be"></a><!-- doxytag: member="miosix::Queue::put" ref="a40eac0f03500a45a6ec3a5af3e0909be" args="(T elem)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T , unsigned int len&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classmiosix_1_1_queue.html">miosix::Queue</a>&lt; T, len &gt;::put </td>
+          <td>(</td>
+          <td class="paramtype">T&nbsp;</td>
+          <td class="paramname"> <em>elem</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Put an element to the queue. If the queue is full, then sleep until a place becomes available. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>elem</em>&nbsp;</td><td>element to add to the queue </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a36d52ae7f77126add31096faa97e45b0"></a><!-- doxytag: member="miosix::Queue::reset" ref="a36d52ae7f77126add31096faa97e45b0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T , unsigned int len&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classmiosix_1_1_queue.html">miosix::Queue</a>&lt; T, len &gt;::reset </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Clear all items in the queue.<br/>
+ Cannot be used inside an IRQ </p>
+
+</div>
+</div>
+<a class="anchor" id="af77abf62e5999b15fa5fcb3101f4801d"></a><!-- doxytag: member="miosix::Queue::waitUntilNotEmpty" ref="af77abf62e5999b15fa5fcb3101f4801d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T , unsigned int len&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classmiosix_1_1_queue.html">miosix::Queue</a>&lt; T, len &gt;::waitUntilNotEmpty </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>If a queue is empty, waits until the queue is not empty. </p>
+
+</div>
+</div>
+<a class="anchor" id="af3809d4c8d0ae31774ca5e985b1810e5"></a><!-- doxytag: member="miosix::Queue::waitUntilNotFull" ref="af3809d4c8d0ae31774ca5e985b1810e5" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T , unsigned int len&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classmiosix_1_1_queue.html">miosix::Queue</a>&lt; T, len &gt;::waitUntilNotFull </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>If a queue is full, waits until the queue is not full </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>sync.h</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_restart_kernel_lock-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_restart_kernel_lock-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..969feefc8ca7ba72d305c7da55e9ce269ab518fe
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_restart_kernel_lock-members.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::RestartKernelLock Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_restart_kernel_lock.html">miosix::RestartKernelLock</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_restart_kernel_lock.html#a56fdd23f84789f624cf85cd3ff54d045">RestartKernelLock</a>(PauseKernelLock &amp;l)</td><td><a class="el" href="classmiosix_1_1_restart_kernel_lock.html">miosix::RestartKernelLock</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_restart_kernel_lock.html#ac026033adfae754118e6025ad7ce01bb">~RestartKernelLock</a>()</td><td><a class="el" href="classmiosix_1_1_restart_kernel_lock.html">miosix::RestartKernelLock</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_restart_kernel_lock.html b/miosix/_doc/doxygen/html/classmiosix_1_1_restart_kernel_lock.html
new file mode 100644
index 0000000000000000000000000000000000000000..9400a74c8c8fc29318a4d5eb1abd2887e7018fef
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_restart_kernel_lock.html
@@ -0,0 +1,124 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::RestartKernelLock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_restart_kernel_lock.html">miosix::RestartKernelLock</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::RestartKernelLock Class Reference<br/>
+<small>
+[<a class="el" href="group___kernel.html">Kernel</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::RestartKernelLock" -->
+<p><code>#include &lt;kernel.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_restart_kernel_lock-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_restart_kernel_lock.html#a56fdd23f84789f624cf85cd3ff54d045">RestartKernelLock</a> (<a class="el" href="classmiosix_1_1_pause_kernel_lock.html">PauseKernelLock</a> &amp;l)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_restart_kernel_lock.html#ac026033adfae754118e6025ad7ce01bb">~RestartKernelLock</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This class allows to temporarily restart kernel in a scope where it is paused with an <a class="el" href="classmiosix_1_1_interrupt_disable_lock.html">InterruptDisableLock</a>.<br/>
+ Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="comment">//Kernel started</span>
+ {
+     PauseKernelLock dLock;
+
+     <span class="comment">//Now kernel paused</span>
+
+     {
+         <a class="code" href="classmiosix_1_1_restart_kernel_lock.html#a56fdd23f84789f624cf85cd3ff54d045">RestartKernelLock</a> eLock(dLock);
+
+         <span class="comment">//Now kernel back started</span>
+     }
+
+     <span class="comment">//Now kernel again paused</span>
+ }
+ <span class="comment">//Finally kernel started</span>
+</pre></div> <hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a56fdd23f84789f624cf85cd3ff54d045"></a><!-- doxytag: member="miosix::RestartKernelLock::RestartKernelLock" ref="a56fdd23f84789f624cf85cd3ff54d045" args="(PauseKernelLock &amp;l)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::RestartKernelLock::RestartKernelLock </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classmiosix_1_1_pause_kernel_lock.html">PauseKernelLock</a> &amp;&nbsp;</td>
+          <td class="paramname"> <em>l</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor, restarts kernel. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>the <a class="el" href="classmiosix_1_1_pause_kernel_lock.html">PauseKernelLock</a> that disabled interrupts. Note that this parameter is not used internally. It is only required to prevent erroneous use of this class by making an instance of it without an active <a class="el" href="classmiosix_1_1_pause_kernel_lock.html">PauseKernelLock</a> </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ac026033adfae754118e6025ad7ce01bb"></a><!-- doxytag: member="miosix::RestartKernelLock::~RestartKernelLock" ref="ac026033adfae754118e6025ad7ce01bb" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::RestartKernelLock::~RestartKernelLock </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Destructor. Disable back interrupts. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>kernel.h</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_software_i2_c-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_software_i2_c-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..89d0463cae5c9c7ba064bfd1e77dfe183fb933f4
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_software_i2_c-members.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::SoftwareI2C&lt; SDA, SCL &gt; Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_software_i2_c.html">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_software_i2_c.html#affca2c005e549cf0d244064d69808313">init</a>()</td><td><a class="el" href="classmiosix_1_1_software_i2_c.html">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_software_i2_c.html#ad16eb98c9e1089e21571d1f7c552a151">recvWithAck</a>()</td><td><a class="el" href="classmiosix_1_1_software_i2_c.html">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_software_i2_c.html#a48d8aeebedba01e3dc11866710b873fb">recvWithNack</a>()</td><td><a class="el" href="classmiosix_1_1_software_i2_c.html">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_software_i2_c.html#a6e0535020ec3adf027a4ac77481e6e01">send</a>(unsigned char data)</td><td><a class="el" href="classmiosix_1_1_software_i2_c.html">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_software_i2_c.html#abcbeb09130637bce45c8827e8098a5ff">sendStart</a>()</td><td><a class="el" href="classmiosix_1_1_software_i2_c.html">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_software_i2_c.html#a66a312f667a52046e45035588caff0b4">sendStop</a>()</td><td><a class="el" href="classmiosix_1_1_software_i2_c.html">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a></td><td><code> [static]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_software_i2_c.html b/miosix/_doc/doxygen/html/classmiosix_1_1_software_i2_c.html
new file mode 100644
index 0000000000000000000000000000000000000000..7c0312b513b1701ae4f4b0e168838193e83bc851
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_software_i2_c.html
@@ -0,0 +1,206 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::SoftwareI2C&lt; SDA, SCL &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_software_i2_c.html">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::SoftwareI2C&lt; SDA, SCL &gt; Class Template Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::SoftwareI2C" -->
+<p><code>#include &lt;software_i2c.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_software_i2_c-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_software_i2_c.html#affca2c005e549cf0d244064d69808313">init</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_software_i2_c.html#abcbeb09130637bce45c8827e8098a5ff">sendStart</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_software_i2_c.html#a66a312f667a52046e45035588caff0b4">sendStop</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_software_i2_c.html#a6e0535020ec3adf027a4ac77481e6e01">send</a> (unsigned char data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_software_i2_c.html#ad16eb98c9e1089e21571d1f7c552a151">recvWithAck</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_software_i2_c.html#a48d8aeebedba01e3dc11866710b873fb">recvWithNack</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename SDA, typename SCL&gt;<br/>
+ class miosix::SoftwareI2C&lt; SDA, SCL &gt;</h3>
+
+<p>Software I2C class. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>SDA</em>&nbsp;</td><td>SDA gpio pin. Pass a Gpio&lt;P,N&gt; class </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>SCL</em>&nbsp;</td><td>SCL gpio pin. Pass a Gpio&lt;P,N&gt; class </td></tr>
+  </table>
+  </dd>
+</dl>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="affca2c005e549cf0d244064d69808313"></a><!-- doxytag: member="miosix::SoftwareI2C::init" ref="affca2c005e549cf0d244064d69808313" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename SDA , typename SCL &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classmiosix_1_1_software_i2_c.html">miosix::SoftwareI2C</a>&lt; SDA, SCL &gt;::init </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Initializes the SPI software peripheral </p>
+
+</div>
+</div>
+<a class="anchor" id="ad16eb98c9e1089e21571d1f7c552a151"></a><!-- doxytag: member="miosix::SoftwareI2C::recvWithAck" ref="ad16eb98c9e1089e21571d1f7c552a151" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename SDA , typename SCL &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned char <a class="el" href="classmiosix_1_1_software_i2_c.html">miosix::SoftwareI2C</a>&lt; SDA, SCL &gt;::recvWithAck </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Receive a byte from a device. Always acknowledges back. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the received byte </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a48d8aeebedba01e3dc11866710b873fb"></a><!-- doxytag: member="miosix::SoftwareI2C::recvWithNack" ref="a48d8aeebedba01e3dc11866710b873fb" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename SDA , typename SCL &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned char <a class="el" href="classmiosix_1_1_software_i2_c.html">miosix::SoftwareI2C</a>&lt; SDA, SCL &gt;::recvWithNack </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Receive a byte from a device. Never acknowledges back. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the received byte </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a6e0535020ec3adf027a4ac77481e6e01"></a><!-- doxytag: member="miosix::SoftwareI2C::send" ref="a6e0535020ec3adf027a4ac77481e6e01" args="(unsigned char data)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename SDA , typename SCL &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="classmiosix_1_1_software_i2_c.html">miosix::SoftwareI2C</a>&lt; SDA, SCL &gt;::send </td>
+          <td>(</td>
+          <td class="paramtype">unsigned char&nbsp;</td>
+          <td class="paramname"> <em>data</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Send a byte to a device. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>byte to send </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the device acknowledged the byte </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="abcbeb09130637bce45c8827e8098a5ff"></a><!-- doxytag: member="miosix::SoftwareI2C::sendStart" ref="abcbeb09130637bce45c8827e8098a5ff" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename SDA , typename SCL &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classmiosix_1_1_software_i2_c.html">miosix::SoftwareI2C</a>&lt; SDA, SCL &gt;::sendStart </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Send a start condition </p>
+
+</div>
+</div>
+<a class="anchor" id="a66a312f667a52046e45035588caff0b4"></a><!-- doxytag: member="miosix::SoftwareI2C::sendStop" ref="a66a312f667a52046e45035588caff0b4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename SDA , typename SCL &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classmiosix_1_1_software_i2_c.html">miosix::SoftwareI2C</a>&lt; SDA, SCL &gt;::sendStop </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Send a stop condition </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>software_i2c.h</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_software_s_p_i-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_software_s_p_i-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..fe143ded15925692476bb774ab846ac8f8a51ccf
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_software_s_p_i-members.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt; Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_software_s_p_i.html">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_software_s_p_i.html#a7e2ba605d5a06df4e27c346f23b7559c">ceHigh</a>()</td><td><a class="el" href="classmiosix_1_1_software_s_p_i.html">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a></td><td><code> [inline, static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_software_s_p_i.html#a357a64d9abe58149039a90813a0e710c">ceLow</a>()</td><td><a class="el" href="classmiosix_1_1_software_s_p_i.html">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a></td><td><code> [inline, static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_software_s_p_i.html#a0d8dc57b9c5bbca82f830a286e1e43e3">init</a>()</td><td><a class="el" href="classmiosix_1_1_software_s_p_i.html">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a></td><td><code> [inline, static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_software_s_p_i.html#a28c74624fdf2699bbd9a16a0b4041df4">sendRecvChar</a>(unsigned char data)</td><td><a class="el" href="classmiosix_1_1_software_s_p_i.html">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_software_s_p_i.html#a2338776e2f0242f95b8e416b269ae4e7">sendRecvLong</a>(unsigned int data)</td><td><a class="el" href="classmiosix_1_1_software_s_p_i.html">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_software_s_p_i.html#aa4087c723fe51f7172c54c24a51e56c3">sendRecvShort</a>(unsigned short data)</td><td><a class="el" href="classmiosix_1_1_software_s_p_i.html">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a></td><td><code> [static]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_software_s_p_i.html b/miosix/_doc/doxygen/html/classmiosix_1_1_software_s_p_i.html
new file mode 100644
index 0000000000000000000000000000000000000000..318fef57522e3393ec61253d0a5bd4987c7ae1bb
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_software_s_p_i.html
@@ -0,0 +1,223 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_software_s_p_i.html">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt; Class Template Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::SoftwareSPI" -->
+<p><code>#include &lt;software_spi.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_software_s_p_i-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_software_s_p_i.html#a0d8dc57b9c5bbca82f830a286e1e43e3">init</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_software_s_p_i.html#a28c74624fdf2699bbd9a16a0b4041df4">sendRecvChar</a> (unsigned char data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_software_s_p_i.html#aa4087c723fe51f7172c54c24a51e56c3">sendRecvShort</a> (unsigned short data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_software_s_p_i.html#a2338776e2f0242f95b8e416b269ae4e7">sendRecvLong</a> (unsigned int data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_software_s_p_i.html#a357a64d9abe58149039a90813a0e710c">ceLow</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_software_s_p_i.html#a7e2ba605d5a06df4e27c346f23b7559c">ceHigh</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename SI, typename SO, typename SCK, typename CE, unsigned numNops&gt;<br/>
+ class miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</h3>
+
+<p>Software implementation of the SPI protocol (CPOL=0, CPHA=0 mode) </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>SI</em>&nbsp;</td><td>an instance of the Gpio class indicating the SPI input pin </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>SO</em>&nbsp;</td><td>an instance of the Gpio class indicating the SPI output pin </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>SCK</em>&nbsp;</td><td>an instance of the Gpio class indicating the SPI clock pin </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>CE</em>&nbsp;</td><td>an instance of the Gpio class indicating the SPI chip enable pin </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>numNops</em>&nbsp;</td><td>number of nops to add to the send loop to slow down SPI clock </td></tr>
+  </table>
+  </dd>
+</dl>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a7e2ba605d5a06df4e27c346f23b7559c"></a><!-- doxytag: member="miosix::SoftwareSPI::ceHigh" ref="a7e2ba605d5a06df4e27c346f23b7559c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename SI , typename SO , typename SCK , typename CE , unsigned numNops&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">static void <a class="el" href="classmiosix_1_1_software_s_p_i.html">miosix::SoftwareSPI</a>&lt; SI, SO, SCK, CE, numNops &gt;::ceHigh </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline, static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Pull CE high, indicating transmission end. </p>
+
+</div>
+</div>
+<a class="anchor" id="a357a64d9abe58149039a90813a0e710c"></a><!-- doxytag: member="miosix::SoftwareSPI::ceLow" ref="a357a64d9abe58149039a90813a0e710c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename SI , typename SO , typename SCK , typename CE , unsigned numNops&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">static void <a class="el" href="classmiosix_1_1_software_s_p_i.html">miosix::SoftwareSPI</a>&lt; SI, SO, SCK, CE, numNops &gt;::ceLow </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline, static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Pull CE low, indicating transmission start. </p>
+
+</div>
+</div>
+<a class="anchor" id="a0d8dc57b9c5bbca82f830a286e1e43e3"></a><!-- doxytag: member="miosix::SoftwareSPI::init" ref="a0d8dc57b9c5bbca82f830a286e1e43e3" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename SI , typename SO , typename SCK , typename CE , unsigned numNops&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">static void <a class="el" href="classmiosix_1_1_software_s_p_i.html">miosix::SoftwareSPI</a>&lt; SI, SO, SCK, CE, numNops &gt;::init </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline, static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Initialize the SPI interface </p>
+
+</div>
+</div>
+<a class="anchor" id="a28c74624fdf2699bbd9a16a0b4041df4"></a><!-- doxytag: member="miosix::SoftwareSPI::sendRecvChar" ref="a28c74624fdf2699bbd9a16a0b4041df4" args="(unsigned char data)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename SI , typename SO , typename SCK , typename CE , unsigned numNops&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned char <a class="el" href="classmiosix_1_1_software_s_p_i.html">miosix::SoftwareSPI</a>&lt; SI, SO, SCK, CE, numNops &gt;::sendRecvChar </td>
+          <td>(</td>
+          <td class="paramtype">unsigned char&nbsp;</td>
+          <td class="paramname"> <em>data</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Send a byte and, since SPI is full duplex, simultaneously receive a byte </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>to send </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>data received </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a2338776e2f0242f95b8e416b269ae4e7"></a><!-- doxytag: member="miosix::SoftwareSPI::sendRecvLong" ref="a2338776e2f0242f95b8e416b269ae4e7" args="(unsigned int data)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename SI , typename SO , typename SCK , typename CE , unsigned numNops&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned int <a class="el" href="classmiosix_1_1_software_s_p_i.html">miosix::SoftwareSPI</a>&lt; SI, SO, SCK, CE, numNops &gt;::sendRecvLong </td>
+          <td>(</td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>data</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Send an int and, since SPI is full duplex, simultaneously receive an int </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>to send </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>data received </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aa4087c723fe51f7172c54c24a51e56c3"></a><!-- doxytag: member="miosix::SoftwareSPI::sendRecvShort" ref="aa4087c723fe51f7172c54c24a51e56c3" args="(unsigned short data)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename SI , typename SO , typename SCK , typename CE , unsigned numNops&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned short <a class="el" href="classmiosix_1_1_software_s_p_i.html">miosix::SoftwareSPI</a>&lt; SI, SO, SCK, CE, numNops &gt;::sendRecvShort </td>
+          <td>(</td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>data</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Send an unsigned short and, since SPI is full duplex, simultaneously receive an unsigned short </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>to send </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>data received </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>software_spi.h</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_thread-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_thread-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..a118ed03d145f900bb042fb699561bbc9d7778cd
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_thread-members.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::Thread Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#ac5a454f2617a4a28f00842b1097fc363">create</a>(void *(*startfunc)(void *), unsigned int stacksize, Priority priority=Priority(), void *argv=NULL, unsigned short options=DEFAULT)</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#a12d19634d30226cb4441a77b233a5bf2">create</a>(void(*startfunc)(void *), unsigned int stacksize, Priority priority=Priority(), void *argv=NULL, unsigned short options=DEFAULT)</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#acaef68f0e93f6ad933442d87c210daafa03df086cf889e215d75222d10486b71e">DEFAULT</a> enum value</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#ae7817dd59f317a04d3ce3793419d25a4">detach</a>()</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#adb06c8f5761db66d1089a61db71dcf92">exists</a>(Thread *p)</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#a884bfd106afeb274c339d383702b4aec">getCurrentThread</a>()</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#aacba6298a092d5335f6dbefe56a611ec">getPriority</a>()</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#a572b87e4c6174ad4137f964e40bbe515">IRQexists</a>(Thread *p)</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#ae3918e86d91bbe3062f907004ba7f579">IRQgetCurrentThread</a>()</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#a585c7966f59855aafd771c7733a38296">IRQgetPriority</a>()</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#a6aed14f0f04e69f922aba8f0cf7ac0c6">IRQwait</a>()</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#ab34c3cbac8aa609a5c6e4abc384a9faa">IRQwakeup</a>()</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#afb1d97df689c7104bec35858bbaf4ae6">isDetached</a>() const </td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#a968b43a36ecdf124d72a5d8ddfa2a3b9">join</a>(void **result=NULL)</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#acaef68f0e93f6ad933442d87c210daafa785d69b0e6b95b648735efe54b588df7">JOINABLE</a> enum value</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#acaef68f0e93f6ad933442d87c210daaf">Options</a> enum name</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#a88af678dc4032a5f92da12917947d881">PKwakeup</a>()</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#a448486b757b8ede4edaa8edc39962b17">result</a></td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#af6c4237506c533c00a0144632685b17d">setPriority</a>(Priority pr)</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#ad7f738dc69a918960fe814a062696c5c">sleep</a>(unsigned int ms)</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#aac116a322826366c7b3269db3ab4be73">sleepUntil</a>(long long absoluteTime)</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#ae086b5bf2b3b55972ad696ec820c8f5e">terminate</a>()</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#a0ef492878827009d2d55442266d13b99">testTerminate</a>()</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#a435fe4527c1fdfcbebf886cd748a3fd4">wait</a>()</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#a4d8096414686bc7519454101f55306d2">waitingForJoin</a></td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#af19b8a2ab852ea771a2e2b95bb0ba2a8">wakeup</a>()</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_thread.html#a75823b1288a7defcb715fd6591a23b2d">yield</a>()</td><td><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td><td><code> [static]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_thread.html b/miosix/_doc/doxygen/html/classmiosix_1_1_thread.html
new file mode 100644
index 0000000000000000000000000000000000000000..45f01b7f6de7acefd7851541d8c7a64af9f0bf25
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_thread.html
@@ -0,0 +1,686 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::Thread Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::Thread Class Reference<br/>
+<small>
+[<a class="el" href="group___kernel.html">Kernel</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::Thread" -->
+<p><code>#include &lt;kernel.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_thread-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#acaef68f0e93f6ad933442d87c210daaf">Options</a> { <a class="el" href="classmiosix_1_1_thread.html#acaef68f0e93f6ad933442d87c210daafa03df086cf889e215d75222d10486b71e">DEFAULT</a> = 0, 
+<a class="el" href="classmiosix_1_1_thread.html#acaef68f0e93f6ad933442d87c210daafa785d69b0e6b95b648735efe54b588df7">JOINABLE</a> = 1&lt;&lt;0
+ }</td></tr>
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">Priority</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#aacba6298a092d5335f6dbefe56a611ec">getPriority</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#ae086b5bf2b3b55972ad696ec820c8f5e">terminate</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#af19b8a2ab852ea771a2e2b95bb0ba2a8">wakeup</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#a88af678dc4032a5f92da12917947d881">PKwakeup</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#ae7817dd59f317a04d3ce3793419d25a4">detach</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#afb1d97df689c7104bec35858bbaf4ae6">isDetached</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#a968b43a36ecdf124d72a5d8ddfa2a3b9">join</a> (void **<a class="el" href="classmiosix_1_1_thread.html#a448486b757b8ede4edaa8edc39962b17">result</a>=NULL)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">Priority</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#a585c7966f59855aafd771c7733a38296">IRQgetPriority</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#ab34c3cbac8aa609a5c6e4abc384a9faa">IRQwakeup</a> ()</td></tr>
+<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmiosix_1_1_thread.html">Thread</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#ac5a454f2617a4a28f00842b1097fc363">create</a> (void *(*startfunc)(void *), unsigned int stacksize, <a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">Priority</a> priority=<a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">Priority</a>(), void *argv=NULL, unsigned short options=DEFAULT)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmiosix_1_1_thread.html">Thread</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#a12d19634d30226cb4441a77b233a5bf2">create</a> (void(*startfunc)(void *), unsigned int stacksize, <a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">Priority</a> priority=<a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">Priority</a>(), void *argv=NULL, unsigned short options=DEFAULT)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#a75823b1288a7defcb715fd6591a23b2d">yield</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#a0ef492878827009d2d55442266d13b99">testTerminate</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#ad7f738dc69a918960fe814a062696c5c">sleep</a> (unsigned int ms)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#aac116a322826366c7b3269db3ab4be73">sleepUntil</a> (long long absoluteTime)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmiosix_1_1_thread.html">Thread</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#a884bfd106afeb274c339d383702b4aec">getCurrentThread</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#adb06c8f5761db66d1089a61db71dcf92">exists</a> (<a class="el" href="classmiosix_1_1_thread.html">Thread</a> *p)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#af6c4237506c533c00a0144632685b17d">setPriority</a> (<a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">Priority</a> pr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#a435fe4527c1fdfcbebf886cd748a3fd4">wait</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmiosix_1_1_thread.html">Thread</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#ae3918e86d91bbe3062f907004ba7f579">IRQgetCurrentThread</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#a6aed14f0f04e69f922aba8f0cf7ac0c6">IRQwait</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html#a572b87e4c6174ad4137f964e40bbe515">IRQexists</a> (<a class="el" href="classmiosix_1_1_thread.html">Thread</a> *p)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This class represents a thread. It has methods for creating, deleting and handling threads.<br/>
+It has private constructor and destructor, since memory for a thread is handled by the kernel.<br/>
+To create a thread use the static producer method <a class="el" href="classmiosix_1_1_thread.html#ac5a454f2617a4a28f00842b1097fc363">create()</a>.<br/>
+ Methods that have an effect on the current thread, that is, the thread that is calling the method are static.<br/>
+ Calls to non static methods must be done with care, because a thread can terminate at any time. For example, if you call <a class="el" href="classmiosix_1_1_thread.html#af19b8a2ab852ea771a2e2b95bb0ba2a8">wakeup()</a> on a terminated thread, the behavior is undefined. </p>
+<hr/><h2>Member Enumeration Documentation</h2>
+<a class="anchor" id="acaef68f0e93f6ad933442d87c210daaf"></a><!-- doxytag: member="miosix::Thread::Options" ref="acaef68f0e93f6ad933442d87c210daaf" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="classmiosix_1_1_thread.html#acaef68f0e93f6ad933442d87c210daaf">miosix::Thread::Options</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p><a class="el" href="classmiosix_1_1_thread.html">Thread</a> options, can be passed to <a class="el" href="classmiosix_1_1_thread.html#ac5a454f2617a4a28f00842b1097fc363">Thread::create</a> to set additional options of the thread. More options can be specified simultaneously by ORing them together. The DEFAULT option indicates the default thread creation. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="acaef68f0e93f6ad933442d87c210daafa03df086cf889e215d75222d10486b71e"></a><!-- doxytag: member="DEFAULT" ref="acaef68f0e93f6ad933442d87c210daafa03df086cf889e215d75222d10486b71e" args="" -->DEFAULT</em>&nbsp;</td><td>
+<p>Default thread options. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="acaef68f0e93f6ad933442d87c210daafa785d69b0e6b95b648735efe54b588df7"></a><!-- doxytag: member="JOINABLE" ref="acaef68f0e93f6ad933442d87c210daafa785d69b0e6b95b648735efe54b588df7" args="" -->JOINABLE</em>&nbsp;</td><td>
+<p><a class="el" href="classmiosix_1_1_thread.html">Thread</a> is joinable instead of detached. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ac5a454f2617a4a28f00842b1097fc363"></a><!-- doxytag: member="miosix::Thread::create" ref="ac5a454f2617a4a28f00842b1097fc363" args="(void *(*startfunc)(void *), unsigned int stacksize, Priority priority=Priority(), void *argv=NULL, unsigned short options=DEFAULT)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classmiosix_1_1_thread.html">Thread</a> * miosix::Thread::create </td>
+          <td>(</td>
+          <td class="paramtype">void *(*)(void *)&nbsp;</td>
+          <td class="paramname"> <em>startfunc</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>stacksize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">Priority</a>&nbsp;</td>
+          <td class="paramname"> <em>priority</em> = <code><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">Priority</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>argv</em> = <code>NULL</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>options</em> = <code>DEFAULT</code></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Producer method, creates a new thread. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>startfunc</em>&nbsp;</td><td>the entry point function for the thread </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>stacksize</em>&nbsp;</td><td>size of thread stack, its minimum is the constant STACK_MIN. The size of the stack must be divisible by 4, otherwise it will be rounded to a number divisible by 4. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>priority</em>&nbsp;</td><td>the thread's priority, between 0 (lower) and PRIORITY_MAX-1 (higher) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>argv</em>&nbsp;</td><td>a void* pointer that is passed as pararmeter to the entry point function </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>thread options, such ad <a class="el" href="classmiosix_1_1_thread.html#acaef68f0e93f6ad933442d87c210daafa785d69b0e6b95b648735efe54b588df7" title="Thread is joinable instead of detached.">Thread::JOINABLE</a> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>a reference to the thread created, that can be used, for example, to delete it, or NULL in case of errors.</dd></dl>
+<p>Calls errorHandler(INVALID_PARAMETERS) if stacksize or priority are invalid, and errorHandler(OUT_OF_MEMORY) if the heap is full. Can be called when the kernel is paused. Note: this is the only method of this class that can be called BEFORE the kernel is started. </p>
+
+</div>
+</div>
+<a class="anchor" id="a12d19634d30226cb4441a77b233a5bf2"></a><!-- doxytag: member="miosix::Thread::create" ref="a12d19634d30226cb4441a77b233a5bf2" args="(void(*startfunc)(void *), unsigned int stacksize, Priority priority=Priority(), void *argv=NULL, unsigned short options=DEFAULT)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classmiosix_1_1_thread.html">Thread</a> * miosix::Thread::create </td>
+          <td>(</td>
+          <td class="paramtype">void(*)(void *)&nbsp;</td>
+          <td class="paramname"> <em>startfunc</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>stacksize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">Priority</a>&nbsp;</td>
+          <td class="paramname"> <em>priority</em> = <code><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">Priority</a>()</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>argv</em> = <code>NULL</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>options</em> = <code>DEFAULT</code></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Same as create(void (*startfunc)(void *), unsigned int stacksize, Priority priority=1, void *argv=NULL) but in this case the entry point of the thread returns a void* </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>startfunc</em>&nbsp;</td><td>the entry point function for the thread </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>stacksize</em>&nbsp;</td><td>size of thread stack, its minimum is the constant STACK_MIN. The size of the stack must be divisible by 4, otherwise it will be rounded to a number divisible by 4. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>priority</em>&nbsp;</td><td>the thread's priority, between 0 (lower) and PRIORITY_MAX-1 (higher) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>argv</em>&nbsp;</td><td>a void* pointer that is passed as pararmeter to the entry point function </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>thread options, such ad <a class="el" href="classmiosix_1_1_thread.html#acaef68f0e93f6ad933442d87c210daafa785d69b0e6b95b648735efe54b588df7" title="Thread is joinable instead of detached.">Thread::JOINABLE</a> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>a reference to the thread created, that can be used, for example, to delete it, or NULL in case of errors. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ae7817dd59f317a04d3ce3793419d25a4"></a><!-- doxytag: member="miosix::Thread::detach" ref="ae7817dd59f317a04d3ce3793419d25a4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::Thread::detach </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Detach the thread if it was joinable, otherwise do nothing.<br/>
+ If called on a deleted joinable thread on which join was not yet called, it allows the thread's memory to be deallocated.<br/>
+ If called on a thread that is not yet deleted, the call detaches the thread without deleting it. If called on an already detached thread, it has undefined behaviour. </p>
+
+</div>
+</div>
+<a class="anchor" id="adb06c8f5761db66d1089a61db71dcf92"></a><!-- doxytag: member="miosix::Thread::exists" ref="adb06c8f5761db66d1089a61db71dcf92" args="(Thread *p)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool miosix::Thread::exists </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classmiosix_1_1_thread.html">Thread</a> *&nbsp;</td>
+          <td class="paramname"> <em>p</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Check if a thread exists </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>thread to check </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if thread exists, false if does not exist or has been deleted. A joinable thread is considered existing until it has been joined, even if it returns from its entry point (unless it is detached and terminates).</dd></dl>
+<p>Can be called when the kernel is paused. </p>
+
+</div>
+</div>
+<a class="anchor" id="a884bfd106afeb274c339d383702b4aec"></a><!-- doxytag: member="miosix::Thread::getCurrentThread" ref="a884bfd106afeb274c339d383702b4aec" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classmiosix_1_1_thread.html">Thread</a> * miosix::Thread::getCurrentThread </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Return a pointer to the <a class="el" href="classmiosix_1_1_thread.html">Thread</a> class of the current thread. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the current thread.</dd></dl>
+<p>Can be called when the kernel is paused. </p>
+
+</div>
+</div>
+<a class="anchor" id="aacba6298a092d5335f6dbefe56a611ec"></a><!-- doxytag: member="miosix::Thread::getPriority" ref="aacba6298a092d5335f6dbefe56a611ec" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">Priority</a> miosix::Thread::getPriority </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Returns the priority of a thread.<br/>
+ To get the priority of the current thread use: </p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="classmiosix_1_1_thread.html#a884bfd106afeb274c339d383702b4aec">Thread::getCurrentThread</a>()-&gt;getPriority(); 
+</pre></div><p> If the thread is currently locking one or more mutexes, this member function returns the current priority, which can be higher than the original priority due to priority inheritance. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>current priority of the thread</dd></dl>
+<p>Can be called when the kernel is paused. </p>
+
+</div>
+</div>
+<a class="anchor" id="a572b87e4c6174ad4137f964e40bbe515"></a><!-- doxytag: member="miosix::Thread::IRQexists" ref="a572b87e4c6174ad4137f964e40bbe515" args="(Thread *p)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool miosix::Thread::IRQexists </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classmiosix_1_1_thread.html">Thread</a> *&nbsp;</td>
+          <td class="paramname"> <em>p</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Same as <a class="el" href="classmiosix_1_1_thread.html#adb06c8f5761db66d1089a61db71dcf92">exists()</a> but is meant to be called only inside an IRQ or when interrupts are disabled. </p>
+
+</div>
+</div>
+<a class="anchor" id="ae3918e86d91bbe3062f907004ba7f579"></a><!-- doxytag: member="miosix::Thread::IRQgetCurrentThread" ref="ae3918e86d91bbe3062f907004ba7f579" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classmiosix_1_1_thread.html">Thread</a> * miosix::Thread::IRQgetCurrentThread </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Same as get_current_thread(), but meant to be used insida an IRQ, when interrupts are disabled or when the kernel is paused. </p>
+
+</div>
+</div>
+<a class="anchor" id="a585c7966f59855aafd771c7733a38296"></a><!-- doxytag: member="miosix::Thread::IRQgetPriority" ref="a585c7966f59855aafd771c7733a38296" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">Priority</a> miosix::Thread::IRQgetPriority </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Same as <a class="el" href="classmiosix_1_1_thread.html#aacba6298a092d5335f6dbefe56a611ec">getPriority()</a>, but meant to be used inside an IRQ, when interrupts are disabled or when the kernel is paused. </p>
+
+</div>
+</div>
+<a class="anchor" id="a6aed14f0f04e69f922aba8f0cf7ac0c6"></a><!-- doxytag: member="miosix::Thread::IRQwait" ref="a6aed14f0f04e69f922aba8f0cf7ac0c6" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::Thread::IRQwait </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Same as <a class="el" href="classmiosix_1_1_thread.html#a435fe4527c1fdfcbebf886cd748a3fd4">wait()</a>, but is meant to be used only inside an IRQ or when interrupts are disabled.<br/>
+ Note: this method is meant to put the current thread in wait status in a piece of code where interrupts are disbled; it returns immediately, so the user is responsible for re-enabling interrupts and calling yield to effectively put the thread in wait status.</p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="group___kernel.html#gacd7ef6e968c5c0b2ff45bf102388ea4d">disableInterrupts</a>();
+ ...
+ <a class="code" href="classmiosix_1_1_thread.html#a6aed14f0f04e69f922aba8f0cf7ac0c6">Thread::IRQwait</a>();<span class="comment">//Return immediately</span>
+ <a class="code" href="group___kernel.html#ga36adaaa176d004747d2a01b822c9fea5">enableInterrupts</a>();
+ <a class="code" href="classmiosix_1_1_thread.html#a75823b1288a7defcb715fd6591a23b2d">Thread::yield</a>();<span class="comment">//After this, thread is in wait status</span>
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ab34c3cbac8aa609a5c6e4abc384a9faa"></a><!-- doxytag: member="miosix::Thread::IRQwakeup" ref="ab34c3cbac8aa609a5c6e4abc384a9faa" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::Thread::IRQwakeup </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Same as <a class="el" href="classmiosix_1_1_thread.html#af19b8a2ab852ea771a2e2b95bb0ba2a8">wakeup()</a>, but is meant to be used only inside an IRQ or when interrupts are disabled. </p>
+
+</div>
+</div>
+<a class="anchor" id="afb1d97df689c7104bec35858bbaf4ae6"></a><!-- doxytag: member="miosix::Thread::isDetached" ref="afb1d97df689c7104bec35858bbaf4ae6" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool miosix::Thread::isDetached </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if the thread is detached </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a968b43a36ecdf124d72a5d8ddfa2a3b9"></a><!-- doxytag: member="miosix::Thread::join" ref="a968b43a36ecdf124d72a5d8ddfa2a3b9" args="(void **result=NULL)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool miosix::Thread::join </td>
+          <td>(</td>
+          <td class="paramtype">void **&nbsp;</td>
+          <td class="paramname"> <em>result</em> = <code>NULL</code></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Wait until a joinable thread is terminated.<br/>
+ If the thread already terminated, this function returns immediately.<br/>
+ Calling <a class="el" href="classmiosix_1_1_thread.html#a968b43a36ecdf124d72a5d8ddfa2a3b9">join()</a> on the same thread multiple times, from the same or multiple threads is not recomended, but in the current implementation the first call will wait for join, and the other will return false.<br/>
+ Trying to join the thread join is called in returns false, but must be avoided.<br/>
+ Calling join on a detached thread might cause undefined behaviour. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>If the entry point function of the thread to join returns void *, the return value of the entry point is stored here, otherwise the content of this variable is undefined. If NULL is passed as result the return value will not be stored. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true on success, false on failure </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a88af678dc4032a5f92da12917947d881"></a><!-- doxytag: member="miosix::Thread::PKwakeup" ref="a88af678dc4032a5f92da12917947d881" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::Thread::PKwakeup </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Wakeup a thread. <br/>
+Can be called when the kernel is paused. </p>
+
+</div>
+</div>
+<a class="anchor" id="af6c4237506c533c00a0144632685b17d"></a><!-- doxytag: member="miosix::Thread::setPriority" ref="af6c4237506c533c00a0144632685b17d" args="(Priority pr)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::Thread::setPriority </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">Priority</a>&nbsp;</td>
+          <td class="paramname"> <em>pr</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Set the priority of this thread.<br/>
+ This member function changed from previous Miosix versions since it is now static. This implies a thread can no longer set the priority of another thread. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>pr</em>&nbsp;</td><td>desired priority. Must be 0&lt;=pr&lt;PRIORITY_MAX</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Calls errorHandler(INVALID_PARAMETERS) if pr is not within bounds.</p>
+<p>Can be called when the kernel is paused. </p>
+
+</div>
+</div>
+<a class="anchor" id="ad7f738dc69a918960fe814a062696c5c"></a><!-- doxytag: member="miosix::Thread::sleep" ref="ad7f738dc69a918960fe814a062696c5c" args="(unsigned int ms)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::Thread::sleep </td>
+          <td>(</td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>ms</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Put the thread to sleep for a number of milliseconds.<br/>
+The actual precision depends on the kernel tick used. If the specified wait time is lower than the tick accuracy, the thread will be put to sleep for one tick.<br/>
+Maximum sleep time is (2^32-1) / TICK_FREQ. If a sleep time higher than that value is specified, the behaviour is undefined. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ms</em>&nbsp;</td><td>the number of millisecond. If it is ==0 this method will return immediately</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>CANNOT be called when the kernel is paused. </p>
+
+</div>
+</div>
+<a class="anchor" id="aac116a322826366c7b3269db3ab4be73"></a><!-- doxytag: member="miosix::Thread::sleepUntil" ref="aac116a322826366c7b3269db3ab4be73" args="(long long absoluteTime)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::Thread::sleepUntil </td>
+          <td>(</td>
+          <td class="paramtype">long long&nbsp;</td>
+          <td class="paramname"> <em>absoluteTime</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Put the thread to sleep until the specified absolute time is reached. If the time is in the past, returns immediately. To make a periodic thread, this is the recomended way </p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> periodicThread()
+ {
+     <span class="comment">//Run every 90 milliseconds</span>
+     <span class="keyword">const</span> <span class="keywordtype">int</span> period=<span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(TICK_FREQ*0.09);
+     <span class="keywordtype">long</span> <span class="keywordtype">long</span> tick=<a class="code" href="group___kernel.html#gad16c495ced6659e8bc0bb371362674ef">getTick</a>();
+     <span class="keywordflow">for</span>(;;)
+     {
+         <span class="comment">//Do work</span>
+         tick+=period;
+         <a class="code" href="classmiosix_1_1_thread.html#aac116a322826366c7b3269db3ab4be73">Thread::sleepUntil</a>(tick);
+     }
+ }
+</pre></div> <dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>absoluteTime</em>&nbsp;</td><td>when to wake up</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>CANNOT be called when the kernel is paused. </p>
+
+</div>
+</div>
+<a class="anchor" id="ae086b5bf2b3b55972ad696ec820c8f5e"></a><!-- doxytag: member="miosix::Thread::terminate" ref="ae086b5bf2b3b55972ad696ec820c8f5e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::Thread::terminate </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Suggests a thread to terminate itself. Note that this method only makes <a class="el" href="classmiosix_1_1_thread.html#a0ef492878827009d2d55442266d13b99">testTerminate()</a> return true on the specified thread. If the thread does not call <a class="el" href="classmiosix_1_1_thread.html#a0ef492878827009d2d55442266d13b99">testTerminate()</a>, or if it calls it but does not delete itself by returning from entry point function, it will NEVER terminate. The user is responsible for implementing correctly this functionality.<br/>
+<a class="el" href="classmiosix_1_1_thread.html">Thread</a> termination is implemented like this to give time to a thread to deallocate resources, close files... before terminating. <br/>
+Can be called when the kernel is paused. </p>
+
+</div>
+</div>
+<a class="anchor" id="a0ef492878827009d2d55442266d13b99"></a><!-- doxytag: member="miosix::Thread::testTerminate" ref="a0ef492878827009d2d55442266d13b99" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool miosix::Thread::testTerminate </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This method needs to be called periodically inside the thread's main loop. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if somebody outside the thread called <a class="el" href="classmiosix_1_1_thread.html#ae086b5bf2b3b55972ad696ec820c8f5e">terminate()</a> on this thread.</dd></dl>
+<p>If it returns true the thread must free all resources and terminate by returning from its main function. <br/>
+Can be called when the kernel is paused. </p>
+
+</div>
+</div>
+<a class="anchor" id="a435fe4527c1fdfcbebf886cd748a3fd4"></a><!-- doxytag: member="miosix::Thread::wait" ref="a435fe4527c1fdfcbebf886cd748a3fd4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::Thread::wait </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This method stops the thread until another thread calls <a class="el" href="classmiosix_1_1_thread.html#af19b8a2ab852ea771a2e2b95bb0ba2a8">wakeup()</a> on this thread.<br/>
+Calls to wait are not cumulative. If <a class="el" href="classmiosix_1_1_thread.html#a435fe4527c1fdfcbebf886cd748a3fd4">wait()</a> is called two times, only one call to <a class="el" href="classmiosix_1_1_thread.html#af19b8a2ab852ea771a2e2b95bb0ba2a8">wakeup()</a> is needed to wake the thread. <br/>
+CANNOT be called when the kernel is paused. </p>
+
+</div>
+</div>
+<a class="anchor" id="af19b8a2ab852ea771a2e2b95bb0ba2a8"></a><!-- doxytag: member="miosix::Thread::wakeup" ref="af19b8a2ab852ea771a2e2b95bb0ba2a8" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::Thread::wakeup </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Wakeup a thread. <br/>
+CANNOT be called when the kernel is paused. </p>
+
+</div>
+</div>
+<a class="anchor" id="a75823b1288a7defcb715fd6591a23b2d"></a><!-- doxytag: member="miosix::Thread::yield" ref="a75823b1288a7defcb715fd6591a23b2d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::Thread::yield </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>When called, suggests the kernel to pause the current thread, and run another one. <br/>
+CANNOT be called when the kernel is paused. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>kernel.h</li>
+<li>kernel.cpp</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_timer-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_timer-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..fd84238a8446542af784320d4db948b218b6487e
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_timer-members.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::Timer Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_timer.html">miosix::Timer</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_timer.html#adb3725edbcdf2bdf9d3ec7912947af95">clear</a>()</td><td><a class="el" href="classmiosix_1_1_timer.html">miosix::Timer</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_timer.html#ade4ade4f99dfcb3b6fc0b02b3f112371">interval</a>() const </td><td><a class="el" href="classmiosix_1_1_timer.html">miosix::Timer</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_timer.html#a9644000ad11c2ee1208e597bed72ff5a">isRunning</a>() const </td><td><a class="el" href="classmiosix_1_1_timer.html">miosix::Timer</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_timer.html#afe2e62decbd592394b3278febf6097f7">start</a>()</td><td><a class="el" href="classmiosix_1_1_timer.html">miosix::Timer</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_timer.html#ad14fa7e00b7d9646b31bb85ecd475671">stop</a>()</td><td><a class="el" href="classmiosix_1_1_timer.html">miosix::Timer</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_timer.html#a18fe7d4606d1370054aee4dbc956f3a2">Timer</a>()</td><td><a class="el" href="classmiosix_1_1_timer.html">miosix::Timer</a></td><td></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_timer.html b/miosix/_doc/doxygen/html/classmiosix_1_1_timer.html
new file mode 100644
index 0000000000000000000000000000000000000000..e81d1ea251302d0ea027657d9e016fc3d236bb5d
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_timer.html
@@ -0,0 +1,183 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::Timer Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_timer.html">miosix::Timer</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::Timer Class Reference<br/>
+<small>
+[<a class="el" href="group___sync.html">Syncronization</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::Timer" -->
+<p><code>#include &lt;sync.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_timer-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_timer.html#a18fe7d4606d1370054aee4dbc956f3a2">Timer</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_timer.html#afe2e62decbd592394b3278febf6097f7">start</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_timer.html#ad14fa7e00b7d9646b31bb85ecd475671">stop</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_timer.html#a9644000ad11c2ee1208e597bed72ff5a">isRunning</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_timer.html#ade4ade4f99dfcb3b6fc0b02b3f112371">interval</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_timer.html#adb3725edbcdf2bdf9d3ec7912947af95">clear</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A timer that can be used to measure time intervals.<br/>
+Its resolution equals the kernel tick.<br/>
+Maximum interval is 2^31-1 ticks. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a18fe7d4606d1370054aee4dbc956f3a2"></a><!-- doxytag: member="miosix::Timer::Timer" ref="a18fe7d4606d1370054aee4dbc956f3a2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">miosix::Timer::Timer </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor. <a class="el" href="classmiosix_1_1_timer.html">Timer</a> is initialized in stopped status. </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="adb3725edbcdf2bdf9d3ec7912947af95"></a><!-- doxytag: member="miosix::Timer::clear" ref="adb3725edbcdf2bdf9d3ec7912947af95" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::Timer::clear </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Clear the timer and set it to not running state. </p>
+
+</div>
+</div>
+<a class="anchor" id="ade4ade4f99dfcb3b6fc0b02b3f112371"></a><!-- doxytag: member="miosix::Timer::interval" ref="ade4ade4f99dfcb3b6fc0b02b3f112371" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int miosix::Timer::interval </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>get the interval, in kernel ticks. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the number of tick between start and stop. Returns -1 if the timer was never started, if interval is called after start but before stop, or if it overflowed.</dd></dl>
+<p>To read the vaue of a timer without stopping it, you can use its copy constructor to create another timer, and stop it while the first timer keeps running. </p>
+
+</div>
+</div>
+<a class="anchor" id="a9644000ad11c2ee1208e597bed72ff5a"></a><!-- doxytag: member="miosix::Timer::isRunning" ref="a9644000ad11c2ee1208e597bed72ff5a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool miosix::Timer::isRunning </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if timer is running </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="afe2e62decbd592394b3278febf6097f7"></a><!-- doxytag: member="miosix::Timer::start" ref="afe2e62decbd592394b3278febf6097f7" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::Timer::start </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Start the timer </p>
+
+</div>
+</div>
+<a class="anchor" id="ad14fa7e00b7d9646b31bb85ecd475671"></a><!-- doxytag: member="miosix::Timer::stop" ref="ad14fa7e00b7d9646b31bb85ecd475671" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::Timer::stop </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Stop the timer. After stop, <a class="el" href="classmiosix_1_1_timer.html">Timer</a> can be started and stopped again to count non-contiguous timer intervals. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>sync.h</li>
+<li>sync.cpp</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_unlock-members.html b/miosix/_doc/doxygen/html/classmiosix_1_1_unlock-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..4ac9d9b654fc4b05d4674f4171acdbbbff1580cf
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_unlock-members.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix::Unlock&lt; T &gt; Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix_1_1_unlock.html">miosix::Unlock&lt; T &gt;</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_unlock.html#a0185d0ca22404fe71d69bf831ff3266c">get</a>()</td><td><a class="el" href="classmiosix_1_1_unlock.html">miosix::Unlock&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_unlock.html#a5ef3238bc134f5de60cf3ba88e3c8c3d">Unlock</a>(Lock&lt; T &gt; &amp;l)</td><td><a class="el" href="classmiosix_1_1_unlock.html">miosix::Unlock&lt; T &gt;</a></td><td><code> [inline, explicit]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_unlock.html#a4c3c1864d2ba24597b2bd4913a36e248">Unlock</a>(T &amp;m)</td><td><a class="el" href="classmiosix_1_1_unlock.html">miosix::Unlock&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmiosix_1_1_unlock.html#a53f826f17c0c7792d296c4a8dff4fef5">~Unlock</a>()</td><td><a class="el" href="classmiosix_1_1_unlock.html">miosix::Unlock&lt; T &gt;</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix_1_1_unlock.html b/miosix/_doc/doxygen/html/classmiosix_1_1_unlock.html
new file mode 100644
index 0000000000000000000000000000000000000000..6810a5340197365745fde11ee35a07f8bd65c7b6
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix_1_1_unlock.html
@@ -0,0 +1,183 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix::Unlock&lt; T &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><a class="el" href="namespacemiosix.html">miosix</a>      </li>
+      <li><a class="el" href="classmiosix_1_1_unlock.html">miosix::Unlock&lt; T &gt;</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix::Unlock&lt; T &gt; Class Template Reference<br/>
+<small>
+[<a class="el" href="group___sync.html">Syncronization</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix::Unlock" -->
+<p><code>#include &lt;sync.h&gt;</code></p>
+
+<p><a href="classmiosix_1_1_unlock-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_unlock.html#a5ef3238bc134f5de60cf3ba88e3c8c3d">Unlock</a> (<a class="el" href="classmiosix_1_1_lock.html">Lock</a>&lt; T &gt; &amp;l)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_unlock.html#a4c3c1864d2ba24597b2bd4913a36e248">Unlock</a> (T &amp;m)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_unlock.html#a53f826f17c0c7792d296c4a8dff4fef5">~Unlock</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_unlock.html#a0185d0ca22404fe71d69bf831ff3266c">get</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename T&gt;<br/>
+ class miosix::Unlock&lt; T &gt;</h3>
+
+<p>This class allows to temporarily re unlock a mutex in a scope where it is locked <br/>
+ Example: </p>
+<div class="fragment"><pre class="fragment"> Mutex m;
+
+ <span class="comment">//Mutex unlocked</span>
+ {
+     Lock&lt;Mutex&gt; dLock(m);
+
+     <span class="comment">//Now mutex locked</span>
+
+     {
+         Unlock&lt;Mutex&gt; eLock(dLock);
+
+         <span class="comment">//Now mutex back unlocked</span>
+     }
+
+     <span class="comment">//Now mutex again locked</span>
+ }
+ <span class="comment">//Finally mutex unlocked</span>
+</pre></div> <hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a5ef3238bc134f5de60cf3ba88e3c8c3d"></a><!-- doxytag: member="miosix::Unlock::Unlock" ref="a5ef3238bc134f5de60cf3ba88e3c8c3d" args="(Lock&lt; T &gt; &amp;l)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classmiosix_1_1_unlock.html">miosix::Unlock</a>&lt; T &gt;::<a class="el" href="classmiosix_1_1_unlock.html">Unlock</a> </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classmiosix_1_1_lock.html">Lock</a>&lt; T &gt; &amp;&nbsp;</td>
+          <td class="paramname"> <em>l</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline, explicit]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor, unlock mutex. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>the <a class="el" href="classmiosix_1_1_lock.html">Lock</a> that locked the mutex. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a4c3c1864d2ba24597b2bd4913a36e248"></a><!-- doxytag: member="miosix::Unlock::Unlock" ref="a4c3c1864d2ba24597b2bd4913a36e248" args="(T &amp;m)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classmiosix_1_1_unlock.html">miosix::Unlock</a>&lt; T &gt;::<a class="el" href="classmiosix_1_1_unlock.html">Unlock</a> </td>
+          <td>(</td>
+          <td class="paramtype">T &amp;&nbsp;</td>
+          <td class="paramname"> <em>m</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Constructor, unlock mutex. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>a locked mutex. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a53f826f17c0c7792d296c4a8dff4fef5"></a><!-- doxytag: member="miosix::Unlock::~Unlock" ref="a53f826f17c0c7792d296c4a8dff4fef5" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classmiosix_1_1_unlock.html">miosix::Unlock</a>&lt; T &gt;::~<a class="el" href="classmiosix_1_1_unlock.html">Unlock</a> </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Destructor. Disable back interrupts. </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a0185d0ca22404fe71d69bf831ff3266c"></a><!-- doxytag: member="miosix::Unlock::get" ref="a0185d0ca22404fe71d69bf831ff3266c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">T&amp; <a class="el" href="classmiosix_1_1_unlock.html">miosix::Unlock</a>&lt; T &gt;::get </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>the unlocked mutex </dd></dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>sync.h</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix__private_1_1_auxiliary_timer-members.html b/miosix/_doc/doxygen/html/classmiosix__private_1_1_auxiliary_timer-members.html
new file mode 100644
index 0000000000000000000000000000000000000000..2b1e40b7f6e2f83bf607c95d4c4ab1376f815730
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix__private_1_1_auxiliary_timer-members.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix_private::AuxiliaryTimer Member List</h1>  </div>
+</div>
+<div class="contents">
+This is the complete list of members for <a class="el" href="classmiosix__private_1_1_auxiliary_timer.html">miosix_private::AuxiliaryTimer</a>, including all inherited members.<table>
+  <tr class="memlist"><td><a class="el" href="classmiosix__private_1_1_auxiliary_timer.html#ad1e3b40dd8f36c71f5306b5b3a8b8ea9">IRQinit</a>()</td><td><a class="el" href="classmiosix__private_1_1_auxiliary_timer.html">miosix_private::AuxiliaryTimer</a></td><td><code> [static]</code></td></tr>
+</table></div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/classmiosix__private_1_1_auxiliary_timer.html b/miosix/_doc/doxygen/html/classmiosix__private_1_1_auxiliary_timer.html
new file mode 100644
index 0000000000000000000000000000000000000000..5ebcc4c669cd7a879c5ee1c95b2a98f75d2cb1b9
--- /dev/null
+++ b/miosix/_doc/doxygen/html/classmiosix__private_1_1_auxiliary_timer.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix_private::AuxiliaryTimer Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="navpath">
+    <ul>
+      <li><b>miosix_private</b>      </li>
+      <li><a class="el" href="classmiosix__private_1_1_auxiliary_timer.html">miosix_private::AuxiliaryTimer</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
+  <div class="headertitle">
+<h1>miosix_private::AuxiliaryTimer Class Reference<br/>
+<small>
+[<a class="el" href="group___interfaces.html">Interfaces</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="miosix_private::AuxiliaryTimer" -->
+<p><code>#include &lt;portability.h&gt;</code></p>
+
+<p><a href="classmiosix__private_1_1_auxiliary_timer-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix__private_1_1_auxiliary_timer.html#ad1e3b40dd8f36c71f5306b5b3a8b8ea9">IRQinit</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Allow access to a second timer to allow variable burst preemption together with fixed tick timekeeping. </p>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad1e3b40dd8f36c71f5306b5b3a8b8ea9"></a><!-- doxytag: member="miosix_private::AuxiliaryTimer::IRQinit" ref="ad1e3b40dd8f36c71f5306b5b3a8b8ea9" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static void miosix_private::AuxiliaryTimer::IRQinit </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Initializes the auxiliary timer. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="portability_8h.html">portability.h</a></li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/closed.png b/miosix/_doc/doxygen/html/closed.png
new file mode 100644
index 0000000000000000000000000000000000000000..b7d4bd9fef2272c74b94762c9e2496177017775e
Binary files /dev/null and b/miosix/_doc/doxygen/html/closed.png differ
diff --git a/miosix/_doc/doxygen/html/console_8h.html b/miosix/_doc/doxygen/html/console_8h.html
new file mode 100644
index 0000000000000000000000000000000000000000..9d38ab7856a78f62df67f5e39ee52e718d99c67c
--- /dev/null
+++ b/miosix/_doc/doxygen/html/console_8h.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: console.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<h1>console.h File Reference</h1>  </div>
+</div>
+<div class="contents">
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_console.html">miosix::Console</a></td></tr>
+<tr><td colspan="2"><h2><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemiosix.html">miosix</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This file only contains the Console class </p>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/delays_8h.html b/miosix/_doc/doxygen/html/delays_8h.html
new file mode 100644
index 0000000000000000000000000000000000000000..062db03753907a53061b132671a525ef7a4e383f
--- /dev/null
+++ b/miosix/_doc/doxygen/html/delays_8h.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: delays.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>delays.h File Reference</h1>  </div>
+</div>
+<div class="contents">
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemiosix.html">miosix</a></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9d13aceddc0481fd1077e6fdfb31f9a7">miosix::delayMs</a> (unsigned int mseconds)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga244f9474d20ffd5d905855f68aa3114f">miosix::delayUs</a> (unsigned int useconds)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This file contains two functions, <a class="el" href="group___interfaces.html#ga9d13aceddc0481fd1077e6fdfb31f9a7">delayMs()</a> and <a class="el" href="group___interfaces.html#ga244f9474d20ffd5d905855f68aa3114f">delayUs()</a> which implement busy wait delays. </p>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/disk_8h.html b/miosix/_doc/doxygen/html/disk_8h.html
new file mode 100644
index 0000000000000000000000000000000000000000..39c420ed0fc58d6cc91c58af1157f2fd8f43d823
--- /dev/null
+++ b/miosix/_doc/doxygen/html/disk_8h.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: disk.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<h1>disk.h File Reference</h1>  </div>
+</div>
+<div class="contents">
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemiosix.html">miosix</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This file only contains the Disk class </p>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/doxygen.css b/miosix/_doc/doxygen/html/doxygen.css
new file mode 100644
index 0000000000000000000000000000000000000000..658686fe4e689d19aaa5b44322e934525fa1f774
--- /dev/null
+++ b/miosix/_doc/doxygen/html/doxygen.css
@@ -0,0 +1,656 @@
+/* The standard CSS for doxygen */
+
+body, table, div, p, dl {
+	font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
+	font-size: 12px;
+}
+
+/* @group Heading Levels */
+
+h1 {
+	font-size: 150%;
+}
+
+h2 {
+	font-size: 120%;
+}
+
+h3 {
+	font-size: 100%;
+}
+
+dt {
+	font-weight: bold;
+}
+
+div.multicol {
+	-moz-column-gap: 1em;
+	-webkit-column-gap: 1em;
+	-moz-column-count: 3;
+	-webkit-column-count: 3;
+}
+
+p.startli, p.startdd, p.starttd {
+	margin-top: 2px;
+}
+
+p.endli {
+	margin-bottom: 0px;
+}
+
+p.enddd {
+	margin-bottom: 4px;
+}
+
+p.endtd {
+	margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+	font-weight: bold;
+}
+
+span.legend {
+        font-size: 70%;
+        text-align: center;
+}
+
+h3.version {
+        font-size: 90%;
+        text-align: center;
+}
+
+div.qindex, div.navtab{
+	background-color: #EBEFF6;
+	border: 1px solid #A3B4D7;
+	text-align: center;
+	margin: 2px;
+	padding: 2px;
+}
+
+div.qindex, div.navpath {
+	width: 100%;
+	line-height: 140%;
+}
+
+div.navtab {
+	margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+	color: #3D578C;
+	font-weight: normal;
+	text-decoration: none;
+}
+
+.contents a:visited {
+	color: #4665A2;
+}
+
+a:hover {
+	text-decoration: underline;
+}
+
+a.qindex {
+	font-weight: bold;
+}
+
+a.qindexHL {
+	font-weight: bold;
+	background-color: #9CAFD4;
+	color: #ffffff;
+	border: 1px double #869DCA;
+}
+
+.contents a.qindexHL:visited {
+        color: #ffffff;
+}
+
+a.el {
+	font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code {
+	color: #4665A2;
+}
+
+a.codeRef {
+	color: #4665A2;
+}
+
+/* @end */
+
+dl.el {
+	margin-left: -1cm;
+}
+
+.fragment {
+	font-family: monospace, fixed;
+	font-size: 105%;
+}
+
+pre.fragment {
+	border: 1px solid #C4CFE5;
+	background-color: #FBFCFD;
+	padding: 4px 6px;
+	margin: 4px 8px 4px 2px;
+	overflow: auto;
+	word-wrap: break-word;
+	font-size:  9pt;
+	line-height: 125%;
+}
+
+div.ah {
+	background-color: black;
+	font-weight: bold;
+	color: #ffffff;
+	margin-bottom: 3px;
+	margin-top: 3px;
+	padding: 0.2em;
+	border: solid thin #333;
+	border-radius: 0.5em;
+	-webkit-border-radius: .5em;
+	-moz-border-radius: .5em;
+	-webkit-box-shadow: 2px 2px 3px #999;
+	-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+	background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+	background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
+}
+
+div.groupHeader {
+	margin-left: 16px;
+	margin-top: 12px;
+	margin-bottom: 6px;
+	font-weight: bold;
+}
+
+div.groupText {
+	margin-left: 16px;
+	font-style: italic;
+}
+
+body {
+	background: white;
+	color: black;
+        margin: 0;
+}
+
+div.contents {
+	margin-top: 10px;
+	margin-left: 10px;
+	margin-right: 10px;
+}
+
+td.indexkey {
+	background-color: #EBEFF6;
+	font-weight: bold;
+	border: 1px solid #C4CFE5;
+	margin: 2px 0px 2px 0;
+	padding: 2px 10px;
+}
+
+td.indexvalue {
+	background-color: #EBEFF6;
+	border: 1px solid #C4CFE5;
+	padding: 2px 10px;
+	margin: 2px 0px;
+}
+
+tr.memlist {
+	background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+	text-align: center;
+}
+
+img.formulaDsp {
+	
+}
+
+img.formulaInl {
+	vertical-align: middle;
+}
+
+div.center {
+	text-align: center;
+        margin-top: 0px;
+        margin-bottom: 0px;
+        padding: 0px;
+}
+
+div.center img {
+	border: 0px;
+}
+
+address.footer {
+	text-align: right;
+	padding-right: 12px;
+}
+
+img.footer {
+	border: 0px;
+	vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+	color: #008000
+}
+
+span.keywordtype {
+	color: #604020
+}
+
+span.keywordflow {
+	color: #e08000
+}
+
+span.comment {
+	color: #800000
+}
+
+span.preprocessor {
+	color: #806020
+}
+
+span.stringliteral {
+	color: #002080
+}
+
+span.charliteral {
+	color: #008080
+}
+
+span.vhdldigit { 
+	color: #ff00ff 
+}
+
+span.vhdlchar { 
+	color: #000000 
+}
+
+span.vhdlkeyword { 
+	color: #700070 
+}
+
+span.vhdllogic { 
+	color: #ff0000 
+}
+
+/* @end */
+
+/*
+.search {
+	color: #003399;
+	font-weight: bold;
+}
+
+form.search {
+	margin-bottom: 0px;
+	margin-top: 0px;
+}
+
+input.search {
+	font-size: 75%;
+	color: #000080;
+	font-weight: normal;
+	background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+	font-size: 75%;
+}
+
+.dirtab {
+	padding: 4px;
+	border-collapse: collapse;
+	border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+	background: #EBEFF6;
+	font-weight: bold;
+}
+
+hr {
+	height: 0px;
+	border: none;
+	border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+	height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+	border-spacing: 0px;
+	padding: 0px;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+	background-color: #F9FAFC;
+	border: none;
+	margin: 4px;
+	padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+	padding: 0px 8px 4px 8px;
+	color: #555;
+}
+
+.memItemLeft, .memItemRight, .memTemplParams {
+	border-top: 1px solid #C4CFE5;
+}
+
+.memItemLeft, .memTemplItemLeft {
+        white-space: nowrap;
+}
+
+.memTemplParams {
+	color: #4665A2;
+        white-space: nowrap;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+	font-size: 80%;
+	color: #4665A2;
+	font-weight: normal;
+	margin-left: 3px;
+}
+
+.memnav {
+	background-color: #EBEFF6;
+	border: 1px solid #A3B4D7;
+	text-align: center;
+	margin: 2px;
+	margin-right: 15px;
+	padding: 2px;
+}
+
+.memitem {
+	padding: 0;
+	margin-bottom: 10px;
+}
+
+.memname {
+        white-space: nowrap;
+        font-weight: bold;
+        margin-left: 6px;
+}
+
+.memproto {
+        border-top: 1px solid #A8B8D9;
+        border-left: 1px solid #A8B8D9;
+        border-right: 1px solid #A8B8D9;
+        padding: 6px 0px 6px 0px;
+        color: #253555;
+        font-weight: bold;
+        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+        /* firefox specific markup */
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        -moz-border-radius-topright: 8px;
+        -moz-border-radius-topleft: 8px;
+        /* webkit specific markup */
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        -webkit-border-top-right-radius: 8px;
+        -webkit-border-top-left-radius: 8px;
+        background-image:url('nav_f.png');
+        background-repeat:repeat-x;
+        background-color: #E2E8F2;
+
+}
+
+.memdoc {
+        border-bottom: 1px solid #A8B8D9;      
+        border-left: 1px solid #A8B8D9;      
+        border-right: 1px solid #A8B8D9; 
+        padding: 2px 5px;
+        background-color: #FBFCFD;
+        border-top-width: 0;
+        /* firefox specific markup */
+        -moz-border-radius-bottomleft: 8px;
+        -moz-border-radius-bottomright: 8px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7);
+        /* webkit specific markup */
+        -webkit-border-bottom-left-radius: 8px;
+        -webkit-border-bottom-right-radius: 8px;
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7));
+}
+
+.paramkey {
+	text-align: right;
+}
+
+.paramtype {
+	white-space: nowrap;
+}
+
+.paramname {
+	color: #602020;
+	white-space: nowrap;
+}
+.paramname em {
+	font-style: normal;
+}
+
+/* @end */
+
+/* @group Directory (tree) */
+
+/* for the tree view */
+
+.ftvtree {
+	font-family: sans-serif;
+	margin: 0px;
+}
+
+/* these are for tree view when used as main index */
+
+.directory {
+	font-size: 9pt;
+	font-weight: bold;
+	margin: 5px;
+}
+
+.directory h3 {
+	margin: 0px;
+	margin-top: 1em;
+	font-size: 11pt;
+}
+
+/*
+The following two styles can be used to replace the root node title
+with an image of your choice.  Simply uncomment the next two styles,
+specify the name of your image and be sure to set 'height' to the
+proper pixel height of your image.
+*/
+
+/*
+.directory h3.swap {
+	height: 61px;
+	background-repeat: no-repeat;
+	background-image: url("yourimage.gif");
+}
+.directory h3.swap span {
+	display: none;
+}
+*/
+
+.directory > h3 {
+	margin-top: 0;
+}
+
+.directory p {
+	margin: 0px;
+	white-space: nowrap;
+}
+
+.directory div {
+	display: none;
+	margin: 0px;
+}
+
+.directory img {
+	vertical-align: -30%;
+}
+
+/* these are for tree view when not used as main index */
+
+.directory-alt {
+	font-size: 100%;
+	font-weight: bold;
+}
+
+.directory-alt h3 {
+	margin: 0px;
+	margin-top: 1em;
+	font-size: 11pt;
+}
+
+.directory-alt > h3 {
+	margin-top: 0;
+}
+
+.directory-alt p {
+	margin: 0px;
+	white-space: nowrap;
+}
+
+.directory-alt div {
+	display: none;
+	margin: 0px;
+}
+
+.directory-alt img {
+	vertical-align: -30%;
+}
+
+/* @end */
+
+div.dynheader {
+        margin-top: 8px;
+}
+
+address {
+	font-style: normal;
+	color: #2A3D61;
+}
+
+table.doxtable {
+	border-collapse:collapse;
+}
+
+table.doxtable td, table.doxtable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+	background-color: #374F7F;
+	color: #FFFFFF;
+	font-size: 110%;
+	padding-bottom: 4px;
+	padding-top: 5px;
+	text-align:left;
+}
+
+.tabsearch {
+	top: 0px;
+	left: 10px;
+	height: 36px;
+	background-image: url('tab_b.png');
+	z-index: 101;
+	overflow: hidden;
+	font-size: 13px;
+}
+
+.navpath ul
+{
+	font-size: 11px;
+	background-image:url('tab_b.png');
+	background-repeat:repeat-x;
+	height:30px;
+	line-height:30px;
+	color:#8AA0CC;
+	border:solid 1px #C2CDE4;
+	overflow:hidden;
+	margin:0px;
+	padding:0px;
+}
+
+.navpath li
+{
+	list-style-type:none;
+	float:left;
+	padding-left:10px;
+	padding-right: 15px;
+	background-image:url('bc_s.png');
+	background-repeat:no-repeat;
+	background-position:right;
+	color:#364D7C;
+}
+
+.navpath a
+{
+	height:32px;
+	display:block;
+	text-decoration: none;
+	outline: none;
+}
+
+.navpath a:hover
+{
+	color:#6884BD;
+}
+
+div.summary
+{
+	float: right;
+	font-size: 8pt;
+	padding-right: 5px;
+	width: 50%;
+	text-align: right;
+}       
+
+div.summary a
+{
+	white-space: nowrap;
+}
+
+div.header
+{
+        background-image:url('nav_h.png');
+        background-repeat:repeat-x;
+	background-color: #F9FAFC;
+	margin:  0px;
+	border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+	padding: 5px 5px 5px 10px;
+}
+
diff --git a/miosix/_doc/doxygen/html/doxygen.png b/miosix/_doc/doxygen/html/doxygen.png
new file mode 100644
index 0000000000000000000000000000000000000000..635ed52fce7057ac24df92ec7664088a881fa5d0
Binary files /dev/null and b/miosix/_doc/doxygen/html/doxygen.png differ
diff --git a/miosix/_doc/doxygen/html/endianness_8h.html b/miosix/_doc/doxygen/html/endianness_8h.html
new file mode 100644
index 0000000000000000000000000000000000000000..14aaf29cb7ecee2a4e7a4260766e934e272eed38
--- /dev/null
+++ b/miosix/_doc/doxygen/html/endianness_8h.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: endianness.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#define-members">Defines</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>endianness.h File Reference</h1>  </div>
+</div>
+<div class="contents">
+<code>#include &quot;interfaces-impl/endianness_impl.h&quot;</code><br/>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf9a5d5c4095f445894e047a624beab1c">toLittleEndian16</a>(x)&nbsp;&nbsp;&nbsp;(x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga81fdb9bbd65db8d3613bcf48b33b6b3c">toLittleEndian32</a>(x)&nbsp;&nbsp;&nbsp;(x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9854a77efaef5446bd7e14722017df59">toLittleEndian64</a>(x)&nbsp;&nbsp;&nbsp;(x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3d118b2a14e2880a0439c9bf9a06c6e5">toBigEndian16</a>(x)&nbsp;&nbsp;&nbsp;swapBytes16(x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaa6c617366016f8aade26bc9dea6cc26b">toBigEndian32</a>(x)&nbsp;&nbsp;&nbsp;swapBytes32(x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9e5f305b36b75ad6f89becf211624ce2">toBigEndian64</a>(x)&nbsp;&nbsp;&nbsp;swapBytes64(x)</td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">__MIOSIX_INLINE unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaac144bf3451c95e74bdd34327f019344">swapBytes16</a> (unsigned short x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">__MIOSIX_INLINE unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae45d4bbe8a807a780b0033850c143a81">swapBytes32</a> (unsigned int x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">__MIOSIX_INLINE unsigned long long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga74d39ebb52b05eda594e47f0d90e7ad2">swapBytes64</a> (unsigned long long x)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This file contains optimized functions to convert data from the system's endianness to little or big endian, as well as to perform byte swapping. </p>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/files.html b/miosix/_doc/doxygen/html/files.html
new file mode 100644
index 0000000000000000000000000000000000000000..64f90b6618250300bd7b2e4ba3da8d9b7d8c8c6a
--- /dev/null
+++ b/miosix/_doc/doxygen/html/files.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: File Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>File List</h1>  </div>
+</div>
+<div class="contents">
+Here is a list of all documented files with brief descriptions:<table>
+  <tr><td class="indexkey"><a class="el" href="arch__registers_8h.html">arch_registers.h</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="bsp_8h.html">bsp.h</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="console_8h.html">console.h</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="delays_8h.html">delays.h</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="disk_8h.html">disk.h</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="endianness_8h.html">endianness.h</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="gpio_8h.html">gpio.h</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="miosix__settings_8h.html">miosix_settings.h</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="portability_8h.html">portability.h</a></td><td class="indexvalue"></td></tr>
+</table>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/ftv2blank.png b/miosix/_doc/doxygen/html/ftv2blank.png
new file mode 100644
index 0000000000000000000000000000000000000000..493c3c0b615ade5b22027bde773faf2c0e076d66
Binary files /dev/null and b/miosix/_doc/doxygen/html/ftv2blank.png differ
diff --git a/miosix/_doc/doxygen/html/ftv2doc.png b/miosix/_doc/doxygen/html/ftv2doc.png
new file mode 100644
index 0000000000000000000000000000000000000000..f72999f92172cca6edaa2538286b3e369bec9f49
Binary files /dev/null and b/miosix/_doc/doxygen/html/ftv2doc.png differ
diff --git a/miosix/_doc/doxygen/html/ftv2folderclosed.png b/miosix/_doc/doxygen/html/ftv2folderclosed.png
new file mode 100644
index 0000000000000000000000000000000000000000..d6d063440cbf13c4128dacd96661b6fce58abf26
Binary files /dev/null and b/miosix/_doc/doxygen/html/ftv2folderclosed.png differ
diff --git a/miosix/_doc/doxygen/html/ftv2folderopen.png b/miosix/_doc/doxygen/html/ftv2folderopen.png
new file mode 100644
index 0000000000000000000000000000000000000000..bbe2c913cf493ee37ad8e3a5132382138d93ac92
Binary files /dev/null and b/miosix/_doc/doxygen/html/ftv2folderopen.png differ
diff --git a/miosix/_doc/doxygen/html/ftv2lastnode.png b/miosix/_doc/doxygen/html/ftv2lastnode.png
new file mode 100644
index 0000000000000000000000000000000000000000..e7b9ba90cb0cf71c8ce662956bfee7d64cf60fa6
Binary files /dev/null and b/miosix/_doc/doxygen/html/ftv2lastnode.png differ
diff --git a/miosix/_doc/doxygen/html/ftv2link.png b/miosix/_doc/doxygen/html/ftv2link.png
new file mode 100644
index 0000000000000000000000000000000000000000..14f3fed003659b11214ac7a1ca0efa2b9145ce9e
Binary files /dev/null and b/miosix/_doc/doxygen/html/ftv2link.png differ
diff --git a/miosix/_doc/doxygen/html/ftv2mlastnode.png b/miosix/_doc/doxygen/html/ftv2mlastnode.png
new file mode 100644
index 0000000000000000000000000000000000000000..09ceb6adb01054ce799ad20c0e818ab9272f2df2
Binary files /dev/null and b/miosix/_doc/doxygen/html/ftv2mlastnode.png differ
diff --git a/miosix/_doc/doxygen/html/ftv2mnode.png b/miosix/_doc/doxygen/html/ftv2mnode.png
new file mode 100644
index 0000000000000000000000000000000000000000..3254c05112199fbc80aad313611c58a5b388792d
Binary files /dev/null and b/miosix/_doc/doxygen/html/ftv2mnode.png differ
diff --git a/miosix/_doc/doxygen/html/ftv2node.png b/miosix/_doc/doxygen/html/ftv2node.png
new file mode 100644
index 0000000000000000000000000000000000000000..c9f06a57f4cfe0f9851cc1aacd7245f741b53ad1
Binary files /dev/null and b/miosix/_doc/doxygen/html/ftv2node.png differ
diff --git a/miosix/_doc/doxygen/html/ftv2plastnode.png b/miosix/_doc/doxygen/html/ftv2plastnode.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b07e00913d8069ebbb51bd7fd6d70d8bba88f75
Binary files /dev/null and b/miosix/_doc/doxygen/html/ftv2plastnode.png differ
diff --git a/miosix/_doc/doxygen/html/ftv2pnode.png b/miosix/_doc/doxygen/html/ftv2pnode.png
new file mode 100644
index 0000000000000000000000000000000000000000..2001b797ba2b98a4127f1d3efca64aef08bf6d51
Binary files /dev/null and b/miosix/_doc/doxygen/html/ftv2pnode.png differ
diff --git a/miosix/_doc/doxygen/html/ftv2vertline.png b/miosix/_doc/doxygen/html/ftv2vertline.png
new file mode 100644
index 0000000000000000000000000000000000000000..b330f3a33c0085c183ff39fc56b1b274160c1da0
Binary files /dev/null and b/miosix/_doc/doxygen/html/ftv2vertline.png differ
diff --git a/miosix/_doc/doxygen/html/functions.html b/miosix/_doc/doxygen/html/functions.html
new file mode 100644
index 0000000000000000000000000000000000000000..40cf8faa9e5c6b49c46326ff0957a1f944ac1908
--- /dev/null
+++ b/miosix/_doc/doxygen/html/functions.html
@@ -0,0 +1,504 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index_b"><span>b</span></a></li>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_d"><span>d</span></a></li>
+      <li><a href="#index_e"><span>e</span></a></li>
+      <li><a href="#index_f"><span>f</span></a></li>
+      <li><a href="#index_g"><span>g</span></a></li>
+      <li><a href="#index_i"><span>i</span></a></li>
+      <li><a href="#index_j"><span>j</span></a></li>
+      <li><a href="#index_l"><span>l</span></a></li>
+      <li><a href="#index_m"><span>m</span></a></li>
+      <li><a href="#index_n"><span>n</span></a></li>
+      <li><a href="#index_o"><span>o</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_q"><span>q</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+      <li><a href="#index_u"><span>u</span></a></li>
+      <li><a href="#index_v"><span>v</span></a></li>
+      <li><a href="#index_w"><span>w</span></a></li>
+      <li><a href="#index_y"><span>y</span></a></li>
+      <li><a href="#index_~"><span>~</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+Here is a list of all documented class members with links to the class documentation for each member:
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>broadcast()
+: <a class="el" href="classmiosix_1_1_condition_variable.html#adb8897a2ff31ecc320ff624285924600">miosix::ConditionVariable</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>ceHigh()
+: <a class="el" href="classmiosix_1_1_software_s_p_i.html#a7e2ba605d5a06df4e27c346f23b7559c">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a>
+</li>
+<li>ceLow()
+: <a class="el" href="classmiosix_1_1_software_s_p_i.html#a357a64d9abe58149039a90813a0e710c">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a>
+</li>
+<li>clear()
+: <a class="el" href="classmiosix_1_1_timer.html#adb3725edbcdf2bdf9d3ec7912947af95">miosix::Timer</a>
+</li>
+<li>ConditionVariable()
+: <a class="el" href="classmiosix_1_1_condition_variable.html#a071791f7cf57c7f6eed03b17cbb4bb5e">miosix::ConditionVariable</a>
+</li>
+<li>ControlSchedulerPriority()
+: <a class="el" href="classmiosix_1_1_control_scheduler_priority.html#a4bd3eb3d3d89cf2082f9cbfc09ddb3ed">miosix::ControlSchedulerPriority</a>
+</li>
+<li>create()
+: <a class="el" href="classmiosix_1_1_thread.html#a12d19634d30226cb4441a77b233a5bf2">miosix::Thread</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>DEFAULT
+: <a class="el" href="classmiosix_1_1_thread.html#acaef68f0e93f6ad933442d87c210daafa03df086cf889e215d75222d10486b71e">miosix::Thread</a>
+, <a class="el" href="classmiosix_1_1_fast_mutex.html#a981dd8f3190f81f16a773b3de6ae0891a3e00b8e92574e595293459333b1e9182">miosix::FastMutex</a>
+, <a class="el" href="classmiosix_1_1_mutex.html#acdb0fa35e637a14b1504a8f58c8bba2fa84dda8357cdf60e9ce2b81c0f78c36d8">miosix::Mutex</a>
+</li>
+<li>detach()
+: <a class="el" href="classmiosix_1_1_thread.html#ae7817dd59f317a04d3ce3793419d25a4">miosix::Thread</a>
+</li>
+<li>Directory()
+: <a class="el" href="classmiosix_1_1_directory.html#a4511c8727dc6fc565a415d5e258d612b">miosix::Directory</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>EDFSchedulerPriority()
+: <a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html#ac3b95b8d504e71004d2b64c8f4553074">miosix::EDFSchedulerPriority</a>
+</li>
+<li>ExceptionHandlingData()
+: <a class="el" href="classmiosix_1_1_exception_handling_data.html#a24ba3640e643b05fa9212a213c012101">miosix::ExceptionHandlingData</a>
+</li>
+<li>exists()
+: <a class="el" href="classmiosix_1_1_directory.html#abd96a4eb6ce45869b55ebe5fa1c6c43f">miosix::Directory</a>
+, <a class="el" href="classmiosix_1_1_thread.html#adb06c8f5761db66d1089a61db71dcf92">miosix::Thread</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>FastInterruptDisableLock()
+: <a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html#ac10ca2ad58013504750550337bdaf6cf">miosix::FastInterruptDisableLock</a>
+</li>
+<li>FastInterruptEnableLock()
+: <a class="el" href="classmiosix_1_1_fast_interrupt_enable_lock.html#a1d0dc9ea0ee452a36d300b84c5e30a83">miosix::FastInterruptEnableLock</a>
+</li>
+<li>FastMutex()
+: <a class="el" href="classmiosix_1_1_fast_mutex.html#aca5cd49cdb704db34488ac7ef16bbd12">miosix::FastMutex</a>
+</li>
+<li>FILENAME_LEN
+: <a class="el" href="classmiosix_1_1_directory.html#a079e87e4cbc008d223a03c54d87577bf">miosix::Directory</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
+<li>get()
+: <a class="el" href="classmiosix_1_1_control_scheduler_priority.html#ad15885f4c536e5e3ee7b6f95f5542209">miosix::ControlSchedulerPriority</a>
+, <a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html#a1e1fa5e57a39e9bbec09eaca3043fe79">miosix::EDFSchedulerPriority</a>
+, <a class="el" href="classmiosix_1_1_lock.html#a28807e63ba20acd9df2b55bccf8af2bf">miosix::Lock&lt; T &gt;</a>
+, <a class="el" href="classmiosix_1_1_unlock.html#a0185d0ca22404fe71d69bf831ff3266c">miosix::Unlock&lt; T &gt;</a>
+, <a class="el" href="classmiosix_1_1_priority_scheduler_priority.html#aaed4edb129dd8ceadc7b36dc63e74cc5">miosix::PrioritySchedulerPriority</a>
+, <a class="el" href="classmiosix_1_1_queue.html#ade3ad87c4c3fdac0a2bdd755ff3c8971">miosix::Queue&lt; T, len &gt;</a>
+</li>
+<li>getAbsoluteFreeHeap()
+: <a class="el" href="classmiosix_1_1_memory_profiling.html#af09789fc33f2a1768cad7fad8cf7488b">miosix::MemoryProfiling</a>
+</li>
+<li>getAbsoluteFreeStack()
+: <a class="el" href="classmiosix_1_1_memory_profiling.html#af653e0d570d4cf3c358871c5c56e7f87">miosix::MemoryProfiling</a>
+</li>
+<li>getCurrentFreeHeap()
+: <a class="el" href="classmiosix_1_1_memory_profiling.html#ab49f252e7a4800d3b076102eb6562fed">miosix::MemoryProfiling</a>
+</li>
+<li>getCurrentFreeStack()
+: <a class="el" href="classmiosix_1_1_memory_profiling.html#ab4a3fc09f4d48b7761c52fbe18e683ee">miosix::MemoryProfiling</a>
+</li>
+<li>getCurrentThread()
+: <a class="el" href="classmiosix_1_1_thread.html#a884bfd106afeb274c339d383702b4aec">miosix::Thread</a>
+</li>
+<li>getHeapSize()
+: <a class="el" href="classmiosix_1_1_memory_profiling.html#acc5945c41f0ccf00c35d256fe8dbf30a">miosix::MemoryProfiling</a>
+</li>
+<li>getPriority()
+: <a class="el" href="classmiosix_1_1_thread.html#aacba6298a092d5335f6dbefe56a611ec">miosix::Thread</a>
+</li>
+<li>getStackSize()
+: <a class="el" href="classmiosix_1_1_memory_profiling.html#ab01517dcb40ae74f6cb17a54baf5d00d">miosix::MemoryProfiling</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>init()
+: <a class="el" href="classmiosix_1_1_software_i2_c.html#affca2c005e549cf0d244064d69808313">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a>
+, <a class="el" href="classmiosix_1_1_software_s_p_i.html#a0d8dc57b9c5bbca82f830a286e1e43e3">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a>
+</li>
+<li>instance()
+: <a class="el" href="classmiosix_1_1_filesystem.html#a83ab051fd94eb41f38fb37c4c3c206b9">miosix::Filesystem</a>
+</li>
+<li>InterruptDisableLock()
+: <a class="el" href="classmiosix_1_1_interrupt_disable_lock.html#aeee39d909e99f88789419bb2bbad59c7">miosix::InterruptDisableLock</a>
+</li>
+<li>InterruptEnableLock()
+: <a class="el" href="classmiosix_1_1_interrupt_enable_lock.html#ae02c7390bbaf3839a4401b4ea3172173">miosix::InterruptEnableLock</a>
+</li>
+<li>interval()
+: <a class="el" href="classmiosix_1_1_timer.html#ade4ade4f99dfcb3b6fc0b02b3f112371">miosix::Timer</a>
+</li>
+<li>IRQexists()
+: <a class="el" href="classmiosix_1_1_thread.html#a572b87e4c6174ad4137f964e40bbe515">miosix::Thread</a>
+</li>
+<li>IRQget()
+: <a class="el" href="classmiosix_1_1_queue.html#a545ed38e44e319303e0d657de8195cec">miosix::Queue&lt; T, len &gt;</a>
+</li>
+<li>IRQgetCurrentThread()
+: <a class="el" href="classmiosix_1_1_thread.html#ae3918e86d91bbe3062f907004ba7f579">miosix::Thread</a>
+</li>
+<li>IRQgetPriority()
+: <a class="el" href="classmiosix_1_1_thread.html#a585c7966f59855aafd771c7733a38296">miosix::Thread</a>
+</li>
+<li>IRQinit()
+: <a class="el" href="classmiosix__private_1_1_auxiliary_timer.html#ad1e3b40dd8f36c71f5306b5b3a8b8ea9">miosix_private::AuxiliaryTimer</a>
+</li>
+<li>IRQput()
+: <a class="el" href="classmiosix_1_1_queue.html#aebf1e9ff8643933b679b5d6e2ecfe343">miosix::Queue&lt; T, len &gt;</a>
+</li>
+<li>IRQreset()
+: <a class="el" href="classmiosix_1_1_queue.html#a8d7aea4c62e78d4221dbaab13538e695">miosix::Queue&lt; T, len &gt;</a>
+</li>
+<li>IRQtxComplete()
+: <a class="el" href="classmiosix_1_1_console.html#a138cf29290498b2adc23bad89b7f1225">miosix::Console</a>
+</li>
+<li>IRQwait()
+: <a class="el" href="classmiosix_1_1_thread.html#a6aed14f0f04e69f922aba8f0cf7ac0c6">miosix::Thread</a>
+</li>
+<li>IRQwakeup()
+: <a class="el" href="classmiosix_1_1_thread.html#ab34c3cbac8aa609a5c6e4abc384a9faa">miosix::Thread</a>
+</li>
+<li>IRQwrite()
+: <a class="el" href="classmiosix_1_1_console.html#a24a570ed29296d941477d90637c7f87d">miosix::Console</a>
+</li>
+<li>isDetached()
+: <a class="el" href="classmiosix_1_1_thread.html#afb1d97df689c7104bec35858bbaf4ae6">miosix::Thread</a>
+</li>
+<li>isEmpty()
+: <a class="el" href="classmiosix_1_1_queue.html#a8d18f593639d0d7eef52b6267f83ce34">miosix::Queue&lt; T, len &gt;</a>
+</li>
+<li>isFull()
+: <a class="el" href="classmiosix_1_1_queue.html#affa922a8101a173168daca418eed8c4b">miosix::Queue&lt; T, len &gt;</a>
+</li>
+<li>isMounted()
+: <a class="el" href="classmiosix_1_1_filesystem.html#abaa17c0d791fabf357b0ed7ab7738d94">miosix::Filesystem</a>
+</li>
+<li>isRunning()
+: <a class="el" href="classmiosix_1_1_timer.html#a9644000ad11c2ee1208e597bed72ff5a">miosix::Timer</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_j"></a>- j -</h3><ul>
+<li>join()
+: <a class="el" href="classmiosix_1_1_thread.html#a968b43a36ecdf124d72a5d8ddfa2a3b9">miosix::Thread</a>
+</li>
+<li>JOINABLE
+: <a class="el" href="classmiosix_1_1_thread.html#acaef68f0e93f6ad933442d87c210daafa785d69b0e6b95b648735efe54b588df7">miosix::Thread</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
+<li>lock()
+: <a class="el" href="classmiosix_1_1_fast_mutex.html#a0ad94f95d78f1316da8b622928b6ff61">miosix::FastMutex</a>
+</li>
+<li>Lock()
+: <a class="el" href="classmiosix_1_1_lock.html#aefcff605f9b21d592febe4c1bffa7807">miosix::Lock&lt; T &gt;</a>
+</li>
+<li>lock()
+: <a class="el" href="classmiosix_1_1_mutex.html#a6ff0ea4734654c2048ef44cec62b5ed6">miosix::Mutex</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>mount()
+: <a class="el" href="classmiosix_1_1_filesystem.html#a4506b58ded0e57ce555c9d21a0683801">miosix::Filesystem</a>
+</li>
+<li>Mutex()
+: <a class="el" href="classmiosix_1_1_mutex.html#a63a4d940d2bbb57522dcb23f0fc704a2">miosix::Mutex</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>next()
+: <a class="el" href="classmiosix_1_1_directory.html#ace4d75cdcad650213a294c2fe7a41381">miosix::Directory</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>open()
+: <a class="el" href="classmiosix_1_1_directory.html#ab3b8f627404f790ca9e309dd90d4e8a0">miosix::Directory</a>
+</li>
+<li>operator()()
+: <a class="el" href="classmiosix_1_1_lower_priority.html#ae223edc017a90abdf70ab8996438cef2">miosix::LowerPriority</a>
+</li>
+<li>Options
+: <a class="el" href="classmiosix_1_1_fast_mutex.html#a981dd8f3190f81f16a773b3de6ae0891">miosix::FastMutex</a>
+, <a class="el" href="classmiosix_1_1_thread.html#acaef68f0e93f6ad933442d87c210daaf">miosix::Thread</a>
+, <a class="el" href="classmiosix_1_1_mutex.html#acdb0fa35e637a14b1504a8f58c8bba2f">miosix::Mutex</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>PauseKernelLock()
+: <a class="el" href="classmiosix_1_1_pause_kernel_lock.html#a6666bc670b9eb36ce7797b9b231e4bf8">miosix::PauseKernelLock</a>
+</li>
+<li>PKwakeup()
+: <a class="el" href="classmiosix_1_1_thread.html#a88af678dc4032a5f92da12917947d881">miosix::Thread</a>
+</li>
+<li>print()
+: <a class="el" href="classmiosix_1_1_memory_profiling.html#ad49f0f486487a4fa165883eb45ad5f4e">miosix::MemoryProfiling</a>
+</li>
+<li>PrioritySchedulerPriority()
+: <a class="el" href="classmiosix_1_1_priority_scheduler_priority.html#a206ab3dfa014606172a906aef6c99545">miosix::PrioritySchedulerPriority</a>
+</li>
+<li>put()
+: <a class="el" href="classmiosix_1_1_queue.html#a40eac0f03500a45a6ec3a5af3e0909be">miosix::Queue&lt; T, len &gt;</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_q"></a>- q -</h3><ul>
+<li>Queue()
+: <a class="el" href="classmiosix_1_1_queue.html#a45ac6bfe191bc6d52089215b52863732">miosix::Queue&lt; T, len &gt;</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>readChar()
+: <a class="el" href="classmiosix_1_1_console.html#a4c62717fe282211b1b8b13c9897d4036">miosix::Console</a>
+</li>
+<li>readCharNonBlocking()
+: <a class="el" href="classmiosix_1_1_console.html#a7b901496782fb87e9b8f62db0b694c15">miosix::Console</a>
+</li>
+<li>RECURSIVE
+: <a class="el" href="classmiosix_1_1_mutex.html#acdb0fa35e637a14b1504a8f58c8bba2fadadaee3cc9d507680b8652a09c3de4a5">miosix::Mutex</a>
+, <a class="el" href="classmiosix_1_1_fast_mutex.html#a981dd8f3190f81f16a773b3de6ae0891aa70c27d1982ebadac457d4f1c45fa2c8">miosix::FastMutex</a>
+</li>
+<li>recvWithAck()
+: <a class="el" href="classmiosix_1_1_software_i2_c.html#ad16eb98c9e1089e21571d1f7c552a151">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a>
+</li>
+<li>recvWithNack()
+: <a class="el" href="classmiosix_1_1_software_i2_c.html#a48d8aeebedba01e3dc11866710b873fb">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a>
+</li>
+<li>reset()
+: <a class="el" href="classmiosix_1_1_queue.html#a36d52ae7f77126add31096faa97e45b0">miosix::Queue&lt; T, len &gt;</a>
+</li>
+<li>RestartKernelLock()
+: <a class="el" href="classmiosix_1_1_restart_kernel_lock.html#a56fdd23f84789f624cf85cd3ff54d045">miosix::RestartKernelLock</a>
+</li>
+<li>result
+: <a class="el" href="classmiosix_1_1_thread.html#a448486b757b8ede4edaa8edc39962b17">miosix::Thread</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>send()
+: <a class="el" href="classmiosix_1_1_software_i2_c.html#a6e0535020ec3adf027a4ac77481e6e01">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a>
+</li>
+<li>sendRecvChar()
+: <a class="el" href="classmiosix_1_1_software_s_p_i.html#a28c74624fdf2699bbd9a16a0b4041df4">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a>
+</li>
+<li>sendRecvLong()
+: <a class="el" href="classmiosix_1_1_software_s_p_i.html#a2338776e2f0242f95b8e416b269ae4e7">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a>
+</li>
+<li>sendRecvShort()
+: <a class="el" href="classmiosix_1_1_software_s_p_i.html#aa4087c723fe51f7172c54c24a51e56c3">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a>
+</li>
+<li>sendStart()
+: <a class="el" href="classmiosix_1_1_software_i2_c.html#abcbeb09130637bce45c8827e8098a5ff">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a>
+</li>
+<li>sendStop()
+: <a class="el" href="classmiosix_1_1_software_i2_c.html#a66a312f667a52046e45035588caff0b4">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a>
+</li>
+<li>setPriority()
+: <a class="el" href="classmiosix_1_1_thread.html#af6c4237506c533c00a0144632685b17d">miosix::Thread</a>
+</li>
+<li>signal()
+: <a class="el" href="classmiosix_1_1_condition_variable.html#adbc51a45a48f6afe98fea4581fc4f16d">miosix::ConditionVariable</a>
+</li>
+<li>sleep()
+: <a class="el" href="classmiosix_1_1_thread.html#ad7f738dc69a918960fe814a062696c5c">miosix::Thread</a>
+</li>
+<li>sleepUntil()
+: <a class="el" href="classmiosix_1_1_thread.html#aac116a322826366c7b3269db3ab4be73">miosix::Thread</a>
+</li>
+<li>start()
+: <a class="el" href="classmiosix_1_1_timer.html#afe2e62decbd592394b3278febf6097f7">miosix::Timer</a>
+</li>
+<li>stop()
+: <a class="el" href="classmiosix_1_1_timer.html#ad14fa7e00b7d9646b31bb85ecd475671">miosix::Timer</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>terminate()
+: <a class="el" href="classmiosix_1_1_thread.html#ae086b5bf2b3b55972ad696ec820c8f5e">miosix::Thread</a>
+</li>
+<li>testTerminate()
+: <a class="el" href="classmiosix_1_1_thread.html#a0ef492878827009d2d55442266d13b99">miosix::Thread</a>
+</li>
+<li>Timer()
+: <a class="el" href="classmiosix_1_1_timer.html#a18fe7d4606d1370054aee4dbc956f3a2">miosix::Timer</a>
+</li>
+<li>tryLock()
+: <a class="el" href="classmiosix_1_1_fast_mutex.html#a41f2a4d790a2a7ee8695768d2deae95a">miosix::FastMutex</a>
+, <a class="el" href="classmiosix_1_1_mutex.html#a3e7e51aa095528a36e49dd5f672ddc74">miosix::Mutex</a>
+</li>
+<li>txComplete()
+: <a class="el" href="classmiosix_1_1_console.html#a139a35d7febd53431f04fd83c7d2955b">miosix::Console</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
+<li>umount()
+: <a class="el" href="classmiosix_1_1_filesystem.html#a47abdaf552093b29eb78c722789324e7">miosix::Filesystem</a>
+</li>
+<li>Unlock()
+: <a class="el" href="classmiosix_1_1_unlock.html#a4c3c1864d2ba24597b2bd4913a36e248">miosix::Unlock&lt; T &gt;</a>
+</li>
+<li>unlock()
+: <a class="el" href="classmiosix_1_1_mutex.html#a10974326b33d887fa7ad1f910b70ed50">miosix::Mutex</a>
+, <a class="el" href="classmiosix_1_1_fast_mutex.html#a080ce00d76c005a73917038908fd824c">miosix::FastMutex</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
+<li>validate()
+: <a class="el" href="classmiosix_1_1_control_scheduler_priority.html#ae7b24bc4e0861dc5ca7ae50a758f9244">miosix::ControlSchedulerPriority</a>
+, <a class="el" href="classmiosix_1_1_priority_scheduler_priority.html#a17300acc93554e4a115a40f99a84f392">miosix::PrioritySchedulerPriority</a>
+, <a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html#a87c2a3428d3d3af53391494e81cf3687">miosix::EDFSchedulerPriority</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
+<li>wait()
+: <a class="el" href="classmiosix_1_1_thread.html#a435fe4527c1fdfcbebf886cd748a3fd4">miosix::Thread</a>
+, <a class="el" href="classmiosix_1_1_condition_variable.html#ae1e16bdd5262ac2918117db06ed01cd3">miosix::ConditionVariable</a>
+</li>
+<li>waitingForJoin
+: <a class="el" href="classmiosix_1_1_thread.html#a4d8096414686bc7519454101f55306d2">miosix::Thread</a>
+</li>
+<li>waitUntilNotEmpty()
+: <a class="el" href="classmiosix_1_1_queue.html#af77abf62e5999b15fa5fcb3101f4801d">miosix::Queue&lt; T, len &gt;</a>
+</li>
+<li>waitUntilNotFull()
+: <a class="el" href="classmiosix_1_1_queue.html#af3809d4c8d0ae31774ca5e985b1810e5">miosix::Queue&lt; T, len &gt;</a>
+</li>
+<li>wakeup()
+: <a class="el" href="classmiosix_1_1_thread.html#af19b8a2ab852ea771a2e2b95bb0ba2a8">miosix::Thread</a>
+</li>
+<li>write()
+: <a class="el" href="classmiosix_1_1_console.html#adcfaf32a1fdaafdf3340095a906b836f">miosix::Console</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_y"></a>- y -</h3><ul>
+<li>yield()
+: <a class="el" href="classmiosix_1_1_thread.html#a75823b1288a7defcb715fd6591a23b2d">miosix::Thread</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_0x7e"></a>- ~ -</h3><ul>
+<li>~ExceptionHandlingData()
+: <a class="el" href="classmiosix_1_1_exception_handling_data.html#a61144e6db2029974d7988aa079db59e3">miosix::ExceptionHandlingData</a>
+</li>
+<li>~FastInterruptDisableLock()
+: <a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html#aa060c8983f93de1724b51c361de76477">miosix::FastInterruptDisableLock</a>
+</li>
+<li>~FastInterruptEnableLock()
+: <a class="el" href="classmiosix_1_1_fast_interrupt_enable_lock.html#afb021a03eb3c46a8b8ee8d7854190f8c">miosix::FastInterruptEnableLock</a>
+</li>
+<li>~FastMutex()
+: <a class="el" href="classmiosix_1_1_fast_mutex.html#ad320fd1b0d905f2d4fa9e8e0567181d2">miosix::FastMutex</a>
+</li>
+<li>~InterruptDisableLock()
+: <a class="el" href="classmiosix_1_1_interrupt_disable_lock.html#a8989ce6efe8d4930cf045e01b157b288">miosix::InterruptDisableLock</a>
+</li>
+<li>~InterruptEnableLock()
+: <a class="el" href="classmiosix_1_1_interrupt_enable_lock.html#a0e1b60ac838afe74d1f7a906e3bb2282">miosix::InterruptEnableLock</a>
+</li>
+<li>~Lock()
+: <a class="el" href="classmiosix_1_1_lock.html#ad8e9566c5eead737472fda2fce2a0c88">miosix::Lock&lt; T &gt;</a>
+</li>
+<li>~PauseKernelLock()
+: <a class="el" href="classmiosix_1_1_pause_kernel_lock.html#a0980986878a2bc171af039d70a1e9e7a">miosix::PauseKernelLock</a>
+</li>
+<li>~RestartKernelLock()
+: <a class="el" href="classmiosix_1_1_restart_kernel_lock.html#ac026033adfae754118e6025ad7ce01bb">miosix::RestartKernelLock</a>
+</li>
+<li>~Unlock()
+: <a class="el" href="classmiosix_1_1_unlock.html#a53f826f17c0c7792d296c4a8dff4fef5">miosix::Unlock&lt; T &gt;</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/functions_enum.html b/miosix/_doc/doxygen/html/functions_enum.html
new file mode 100644
index 0000000000000000000000000000000000000000..0c0ada1e73004a510797e2a2df661d3b95e551e2
--- /dev/null
+++ b/miosix/_doc/doxygen/html/functions_enum.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Class Members - Enumerations</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li class="current"><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>Options
+: <a class="el" href="classmiosix_1_1_thread.html#acaef68f0e93f6ad933442d87c210daaf">miosix::Thread</a>
+, <a class="el" href="classmiosix_1_1_mutex.html#acdb0fa35e637a14b1504a8f58c8bba2f">miosix::Mutex</a>
+, <a class="el" href="classmiosix_1_1_fast_mutex.html#a981dd8f3190f81f16a773b3de6ae0891">miosix::FastMutex</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/functions_eval.html b/miosix/_doc/doxygen/html/functions_eval.html
new file mode 100644
index 0000000000000000000000000000000000000000..6874240a8dd52cd026d8b1d4f9c0eb96d2c53247
--- /dev/null
+++ b/miosix/_doc/doxygen/html/functions_eval.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Class Members - Enumerator</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li class="current"><a href="functions_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>DEFAULT
+: <a class="el" href="classmiosix_1_1_thread.html#acaef68f0e93f6ad933442d87c210daafa03df086cf889e215d75222d10486b71e">miosix::Thread</a>
+, <a class="el" href="classmiosix_1_1_mutex.html#acdb0fa35e637a14b1504a8f58c8bba2fa84dda8357cdf60e9ce2b81c0f78c36d8">miosix::Mutex</a>
+, <a class="el" href="classmiosix_1_1_fast_mutex.html#a981dd8f3190f81f16a773b3de6ae0891a3e00b8e92574e595293459333b1e9182">miosix::FastMutex</a>
+</li>
+<li>JOINABLE
+: <a class="el" href="classmiosix_1_1_thread.html#acaef68f0e93f6ad933442d87c210daafa785d69b0e6b95b648735efe54b588df7">miosix::Thread</a>
+</li>
+<li>RECURSIVE
+: <a class="el" href="classmiosix_1_1_fast_mutex.html#a981dd8f3190f81f16a773b3de6ae0891aa70c27d1982ebadac457d4f1c45fa2c8">miosix::FastMutex</a>
+, <a class="el" href="classmiosix_1_1_mutex.html#acdb0fa35e637a14b1504a8f58c8bba2fadadaee3cc9d507680b8652a09c3de4a5">miosix::Mutex</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/functions_func.html b/miosix/_doc/doxygen/html/functions_func.html
new file mode 100644
index 0000000000000000000000000000000000000000..1a00a9a986bde804278149c16c3f196092383b8f
--- /dev/null
+++ b/miosix/_doc/doxygen/html/functions_func.html
@@ -0,0 +1,478 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index_b"><span>b</span></a></li>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_d"><span>d</span></a></li>
+      <li><a href="#index_e"><span>e</span></a></li>
+      <li><a href="#index_f"><span>f</span></a></li>
+      <li><a href="#index_g"><span>g</span></a></li>
+      <li><a href="#index_i"><span>i</span></a></li>
+      <li><a href="#index_j"><span>j</span></a></li>
+      <li><a href="#index_l"><span>l</span></a></li>
+      <li><a href="#index_m"><span>m</span></a></li>
+      <li><a href="#index_n"><span>n</span></a></li>
+      <li><a href="#index_o"><span>o</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_q"><span>q</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+      <li><a href="#index_u"><span>u</span></a></li>
+      <li><a href="#index_v"><span>v</span></a></li>
+      <li><a href="#index_w"><span>w</span></a></li>
+      <li><a href="#index_y"><span>y</span></a></li>
+      <li><a href="#index_~"><span>~</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>broadcast()
+: <a class="el" href="classmiosix_1_1_condition_variable.html#adb8897a2ff31ecc320ff624285924600">miosix::ConditionVariable</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>ceHigh()
+: <a class="el" href="classmiosix_1_1_software_s_p_i.html#a7e2ba605d5a06df4e27c346f23b7559c">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a>
+</li>
+<li>ceLow()
+: <a class="el" href="classmiosix_1_1_software_s_p_i.html#a357a64d9abe58149039a90813a0e710c">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a>
+</li>
+<li>clear()
+: <a class="el" href="classmiosix_1_1_timer.html#adb3725edbcdf2bdf9d3ec7912947af95">miosix::Timer</a>
+</li>
+<li>ConditionVariable()
+: <a class="el" href="classmiosix_1_1_condition_variable.html#a071791f7cf57c7f6eed03b17cbb4bb5e">miosix::ConditionVariable</a>
+</li>
+<li>ControlSchedulerPriority()
+: <a class="el" href="classmiosix_1_1_control_scheduler_priority.html#a4bd3eb3d3d89cf2082f9cbfc09ddb3ed">miosix::ControlSchedulerPriority</a>
+</li>
+<li>create()
+: <a class="el" href="classmiosix_1_1_thread.html#a12d19634d30226cb4441a77b233a5bf2">miosix::Thread</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>detach()
+: <a class="el" href="classmiosix_1_1_thread.html#ae7817dd59f317a04d3ce3793419d25a4">miosix::Thread</a>
+</li>
+<li>Directory()
+: <a class="el" href="classmiosix_1_1_directory.html#a4511c8727dc6fc565a415d5e258d612b">miosix::Directory</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>EDFSchedulerPriority()
+: <a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html#ac3b95b8d504e71004d2b64c8f4553074">miosix::EDFSchedulerPriority</a>
+</li>
+<li>ExceptionHandlingData()
+: <a class="el" href="classmiosix_1_1_exception_handling_data.html#a24ba3640e643b05fa9212a213c012101">miosix::ExceptionHandlingData</a>
+</li>
+<li>exists()
+: <a class="el" href="classmiosix_1_1_directory.html#abd96a4eb6ce45869b55ebe5fa1c6c43f">miosix::Directory</a>
+, <a class="el" href="classmiosix_1_1_thread.html#adb06c8f5761db66d1089a61db71dcf92">miosix::Thread</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>FastInterruptDisableLock()
+: <a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html#ac10ca2ad58013504750550337bdaf6cf">miosix::FastInterruptDisableLock</a>
+</li>
+<li>FastInterruptEnableLock()
+: <a class="el" href="classmiosix_1_1_fast_interrupt_enable_lock.html#a1d0dc9ea0ee452a36d300b84c5e30a83">miosix::FastInterruptEnableLock</a>
+</li>
+<li>FastMutex()
+: <a class="el" href="classmiosix_1_1_fast_mutex.html#aca5cd49cdb704db34488ac7ef16bbd12">miosix::FastMutex</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
+<li>get()
+: <a class="el" href="classmiosix_1_1_control_scheduler_priority.html#ad15885f4c536e5e3ee7b6f95f5542209">miosix::ControlSchedulerPriority</a>
+, <a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html#a1e1fa5e57a39e9bbec09eaca3043fe79">miosix::EDFSchedulerPriority</a>
+, <a class="el" href="classmiosix_1_1_lock.html#a28807e63ba20acd9df2b55bccf8af2bf">miosix::Lock&lt; T &gt;</a>
+, <a class="el" href="classmiosix_1_1_unlock.html#a0185d0ca22404fe71d69bf831ff3266c">miosix::Unlock&lt; T &gt;</a>
+, <a class="el" href="classmiosix_1_1_priority_scheduler_priority.html#aaed4edb129dd8ceadc7b36dc63e74cc5">miosix::PrioritySchedulerPriority</a>
+, <a class="el" href="classmiosix_1_1_queue.html#ade3ad87c4c3fdac0a2bdd755ff3c8971">miosix::Queue&lt; T, len &gt;</a>
+</li>
+<li>getAbsoluteFreeHeap()
+: <a class="el" href="classmiosix_1_1_memory_profiling.html#af09789fc33f2a1768cad7fad8cf7488b">miosix::MemoryProfiling</a>
+</li>
+<li>getAbsoluteFreeStack()
+: <a class="el" href="classmiosix_1_1_memory_profiling.html#af653e0d570d4cf3c358871c5c56e7f87">miosix::MemoryProfiling</a>
+</li>
+<li>getCurrentFreeHeap()
+: <a class="el" href="classmiosix_1_1_memory_profiling.html#ab49f252e7a4800d3b076102eb6562fed">miosix::MemoryProfiling</a>
+</li>
+<li>getCurrentFreeStack()
+: <a class="el" href="classmiosix_1_1_memory_profiling.html#ab4a3fc09f4d48b7761c52fbe18e683ee">miosix::MemoryProfiling</a>
+</li>
+<li>getCurrentThread()
+: <a class="el" href="classmiosix_1_1_thread.html#a884bfd106afeb274c339d383702b4aec">miosix::Thread</a>
+</li>
+<li>getHeapSize()
+: <a class="el" href="classmiosix_1_1_memory_profiling.html#acc5945c41f0ccf00c35d256fe8dbf30a">miosix::MemoryProfiling</a>
+</li>
+<li>getPriority()
+: <a class="el" href="classmiosix_1_1_thread.html#aacba6298a092d5335f6dbefe56a611ec">miosix::Thread</a>
+</li>
+<li>getStackSize()
+: <a class="el" href="classmiosix_1_1_memory_profiling.html#ab01517dcb40ae74f6cb17a54baf5d00d">miosix::MemoryProfiling</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>init()
+: <a class="el" href="classmiosix_1_1_software_i2_c.html#affca2c005e549cf0d244064d69808313">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a>
+, <a class="el" href="classmiosix_1_1_software_s_p_i.html#a0d8dc57b9c5bbca82f830a286e1e43e3">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a>
+</li>
+<li>instance()
+: <a class="el" href="classmiosix_1_1_filesystem.html#a83ab051fd94eb41f38fb37c4c3c206b9">miosix::Filesystem</a>
+</li>
+<li>InterruptDisableLock()
+: <a class="el" href="classmiosix_1_1_interrupt_disable_lock.html#aeee39d909e99f88789419bb2bbad59c7">miosix::InterruptDisableLock</a>
+</li>
+<li>InterruptEnableLock()
+: <a class="el" href="classmiosix_1_1_interrupt_enable_lock.html#ae02c7390bbaf3839a4401b4ea3172173">miosix::InterruptEnableLock</a>
+</li>
+<li>interval()
+: <a class="el" href="classmiosix_1_1_timer.html#ade4ade4f99dfcb3b6fc0b02b3f112371">miosix::Timer</a>
+</li>
+<li>IRQexists()
+: <a class="el" href="classmiosix_1_1_thread.html#a572b87e4c6174ad4137f964e40bbe515">miosix::Thread</a>
+</li>
+<li>IRQget()
+: <a class="el" href="classmiosix_1_1_queue.html#a545ed38e44e319303e0d657de8195cec">miosix::Queue&lt; T, len &gt;</a>
+</li>
+<li>IRQgetCurrentThread()
+: <a class="el" href="classmiosix_1_1_thread.html#ae3918e86d91bbe3062f907004ba7f579">miosix::Thread</a>
+</li>
+<li>IRQgetPriority()
+: <a class="el" href="classmiosix_1_1_thread.html#a585c7966f59855aafd771c7733a38296">miosix::Thread</a>
+</li>
+<li>IRQinit()
+: <a class="el" href="classmiosix__private_1_1_auxiliary_timer.html#ad1e3b40dd8f36c71f5306b5b3a8b8ea9">miosix_private::AuxiliaryTimer</a>
+</li>
+<li>IRQput()
+: <a class="el" href="classmiosix_1_1_queue.html#aebf1e9ff8643933b679b5d6e2ecfe343">miosix::Queue&lt; T, len &gt;</a>
+</li>
+<li>IRQreset()
+: <a class="el" href="classmiosix_1_1_queue.html#a8d7aea4c62e78d4221dbaab13538e695">miosix::Queue&lt; T, len &gt;</a>
+</li>
+<li>IRQtxComplete()
+: <a class="el" href="classmiosix_1_1_console.html#a138cf29290498b2adc23bad89b7f1225">miosix::Console</a>
+</li>
+<li>IRQwait()
+: <a class="el" href="classmiosix_1_1_thread.html#a6aed14f0f04e69f922aba8f0cf7ac0c6">miosix::Thread</a>
+</li>
+<li>IRQwakeup()
+: <a class="el" href="classmiosix_1_1_thread.html#ab34c3cbac8aa609a5c6e4abc384a9faa">miosix::Thread</a>
+</li>
+<li>IRQwrite()
+: <a class="el" href="classmiosix_1_1_console.html#a24a570ed29296d941477d90637c7f87d">miosix::Console</a>
+</li>
+<li>isDetached()
+: <a class="el" href="classmiosix_1_1_thread.html#afb1d97df689c7104bec35858bbaf4ae6">miosix::Thread</a>
+</li>
+<li>isEmpty()
+: <a class="el" href="classmiosix_1_1_queue.html#a8d18f593639d0d7eef52b6267f83ce34">miosix::Queue&lt; T, len &gt;</a>
+</li>
+<li>isFull()
+: <a class="el" href="classmiosix_1_1_queue.html#affa922a8101a173168daca418eed8c4b">miosix::Queue&lt; T, len &gt;</a>
+</li>
+<li>isMounted()
+: <a class="el" href="classmiosix_1_1_filesystem.html#abaa17c0d791fabf357b0ed7ab7738d94">miosix::Filesystem</a>
+</li>
+<li>isRunning()
+: <a class="el" href="classmiosix_1_1_timer.html#a9644000ad11c2ee1208e597bed72ff5a">miosix::Timer</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_j"></a>- j -</h3><ul>
+<li>join()
+: <a class="el" href="classmiosix_1_1_thread.html#a968b43a36ecdf124d72a5d8ddfa2a3b9">miosix::Thread</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
+<li>lock()
+: <a class="el" href="classmiosix_1_1_fast_mutex.html#a0ad94f95d78f1316da8b622928b6ff61">miosix::FastMutex</a>
+</li>
+<li>Lock()
+: <a class="el" href="classmiosix_1_1_lock.html#aefcff605f9b21d592febe4c1bffa7807">miosix::Lock&lt; T &gt;</a>
+</li>
+<li>lock()
+: <a class="el" href="classmiosix_1_1_mutex.html#a6ff0ea4734654c2048ef44cec62b5ed6">miosix::Mutex</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>mount()
+: <a class="el" href="classmiosix_1_1_filesystem.html#a4506b58ded0e57ce555c9d21a0683801">miosix::Filesystem</a>
+</li>
+<li>Mutex()
+: <a class="el" href="classmiosix_1_1_mutex.html#a63a4d940d2bbb57522dcb23f0fc704a2">miosix::Mutex</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>next()
+: <a class="el" href="classmiosix_1_1_directory.html#ace4d75cdcad650213a294c2fe7a41381">miosix::Directory</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>open()
+: <a class="el" href="classmiosix_1_1_directory.html#ab3b8f627404f790ca9e309dd90d4e8a0">miosix::Directory</a>
+</li>
+<li>operator()()
+: <a class="el" href="classmiosix_1_1_lower_priority.html#ae223edc017a90abdf70ab8996438cef2">miosix::LowerPriority</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>PauseKernelLock()
+: <a class="el" href="classmiosix_1_1_pause_kernel_lock.html#a6666bc670b9eb36ce7797b9b231e4bf8">miosix::PauseKernelLock</a>
+</li>
+<li>PKwakeup()
+: <a class="el" href="classmiosix_1_1_thread.html#a88af678dc4032a5f92da12917947d881">miosix::Thread</a>
+</li>
+<li>print()
+: <a class="el" href="classmiosix_1_1_memory_profiling.html#ad49f0f486487a4fa165883eb45ad5f4e">miosix::MemoryProfiling</a>
+</li>
+<li>PrioritySchedulerPriority()
+: <a class="el" href="classmiosix_1_1_priority_scheduler_priority.html#a206ab3dfa014606172a906aef6c99545">miosix::PrioritySchedulerPriority</a>
+</li>
+<li>put()
+: <a class="el" href="classmiosix_1_1_queue.html#a40eac0f03500a45a6ec3a5af3e0909be">miosix::Queue&lt; T, len &gt;</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_q"></a>- q -</h3><ul>
+<li>Queue()
+: <a class="el" href="classmiosix_1_1_queue.html#a45ac6bfe191bc6d52089215b52863732">miosix::Queue&lt; T, len &gt;</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>readChar()
+: <a class="el" href="classmiosix_1_1_console.html#a4c62717fe282211b1b8b13c9897d4036">miosix::Console</a>
+</li>
+<li>readCharNonBlocking()
+: <a class="el" href="classmiosix_1_1_console.html#a7b901496782fb87e9b8f62db0b694c15">miosix::Console</a>
+</li>
+<li>recvWithAck()
+: <a class="el" href="classmiosix_1_1_software_i2_c.html#ad16eb98c9e1089e21571d1f7c552a151">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a>
+</li>
+<li>recvWithNack()
+: <a class="el" href="classmiosix_1_1_software_i2_c.html#a48d8aeebedba01e3dc11866710b873fb">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a>
+</li>
+<li>reset()
+: <a class="el" href="classmiosix_1_1_queue.html#a36d52ae7f77126add31096faa97e45b0">miosix::Queue&lt; T, len &gt;</a>
+</li>
+<li>RestartKernelLock()
+: <a class="el" href="classmiosix_1_1_restart_kernel_lock.html#a56fdd23f84789f624cf85cd3ff54d045">miosix::RestartKernelLock</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>send()
+: <a class="el" href="classmiosix_1_1_software_i2_c.html#a6e0535020ec3adf027a4ac77481e6e01">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a>
+</li>
+<li>sendRecvChar()
+: <a class="el" href="classmiosix_1_1_software_s_p_i.html#a28c74624fdf2699bbd9a16a0b4041df4">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a>
+</li>
+<li>sendRecvLong()
+: <a class="el" href="classmiosix_1_1_software_s_p_i.html#a2338776e2f0242f95b8e416b269ae4e7">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a>
+</li>
+<li>sendRecvShort()
+: <a class="el" href="classmiosix_1_1_software_s_p_i.html#aa4087c723fe51f7172c54c24a51e56c3">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a>
+</li>
+<li>sendStart()
+: <a class="el" href="classmiosix_1_1_software_i2_c.html#abcbeb09130637bce45c8827e8098a5ff">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a>
+</li>
+<li>sendStop()
+: <a class="el" href="classmiosix_1_1_software_i2_c.html#a66a312f667a52046e45035588caff0b4">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a>
+</li>
+<li>setPriority()
+: <a class="el" href="classmiosix_1_1_thread.html#af6c4237506c533c00a0144632685b17d">miosix::Thread</a>
+</li>
+<li>signal()
+: <a class="el" href="classmiosix_1_1_condition_variable.html#adbc51a45a48f6afe98fea4581fc4f16d">miosix::ConditionVariable</a>
+</li>
+<li>sleep()
+: <a class="el" href="classmiosix_1_1_thread.html#ad7f738dc69a918960fe814a062696c5c">miosix::Thread</a>
+</li>
+<li>sleepUntil()
+: <a class="el" href="classmiosix_1_1_thread.html#aac116a322826366c7b3269db3ab4be73">miosix::Thread</a>
+</li>
+<li>start()
+: <a class="el" href="classmiosix_1_1_timer.html#afe2e62decbd592394b3278febf6097f7">miosix::Timer</a>
+</li>
+<li>stop()
+: <a class="el" href="classmiosix_1_1_timer.html#ad14fa7e00b7d9646b31bb85ecd475671">miosix::Timer</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>terminate()
+: <a class="el" href="classmiosix_1_1_thread.html#ae086b5bf2b3b55972ad696ec820c8f5e">miosix::Thread</a>
+</li>
+<li>testTerminate()
+: <a class="el" href="classmiosix_1_1_thread.html#a0ef492878827009d2d55442266d13b99">miosix::Thread</a>
+</li>
+<li>Timer()
+: <a class="el" href="classmiosix_1_1_timer.html#a18fe7d4606d1370054aee4dbc956f3a2">miosix::Timer</a>
+</li>
+<li>tryLock()
+: <a class="el" href="classmiosix_1_1_fast_mutex.html#a41f2a4d790a2a7ee8695768d2deae95a">miosix::FastMutex</a>
+, <a class="el" href="classmiosix_1_1_mutex.html#a3e7e51aa095528a36e49dd5f672ddc74">miosix::Mutex</a>
+</li>
+<li>txComplete()
+: <a class="el" href="classmiosix_1_1_console.html#a139a35d7febd53431f04fd83c7d2955b">miosix::Console</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
+<li>umount()
+: <a class="el" href="classmiosix_1_1_filesystem.html#a47abdaf552093b29eb78c722789324e7">miosix::Filesystem</a>
+</li>
+<li>Unlock()
+: <a class="el" href="classmiosix_1_1_unlock.html#a4c3c1864d2ba24597b2bd4913a36e248">miosix::Unlock&lt; T &gt;</a>
+</li>
+<li>unlock()
+: <a class="el" href="classmiosix_1_1_mutex.html#a10974326b33d887fa7ad1f910b70ed50">miosix::Mutex</a>
+, <a class="el" href="classmiosix_1_1_fast_mutex.html#a080ce00d76c005a73917038908fd824c">miosix::FastMutex</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
+<li>validate()
+: <a class="el" href="classmiosix_1_1_control_scheduler_priority.html#ae7b24bc4e0861dc5ca7ae50a758f9244">miosix::ControlSchedulerPriority</a>
+, <a class="el" href="classmiosix_1_1_priority_scheduler_priority.html#a17300acc93554e4a115a40f99a84f392">miosix::PrioritySchedulerPriority</a>
+, <a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html#a87c2a3428d3d3af53391494e81cf3687">miosix::EDFSchedulerPriority</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
+<li>wait()
+: <a class="el" href="classmiosix_1_1_thread.html#a435fe4527c1fdfcbebf886cd748a3fd4">miosix::Thread</a>
+, <a class="el" href="classmiosix_1_1_condition_variable.html#ae1e16bdd5262ac2918117db06ed01cd3">miosix::ConditionVariable</a>
+</li>
+<li>waitUntilNotEmpty()
+: <a class="el" href="classmiosix_1_1_queue.html#af77abf62e5999b15fa5fcb3101f4801d">miosix::Queue&lt; T, len &gt;</a>
+</li>
+<li>waitUntilNotFull()
+: <a class="el" href="classmiosix_1_1_queue.html#af3809d4c8d0ae31774ca5e985b1810e5">miosix::Queue&lt; T, len &gt;</a>
+</li>
+<li>wakeup()
+: <a class="el" href="classmiosix_1_1_thread.html#af19b8a2ab852ea771a2e2b95bb0ba2a8">miosix::Thread</a>
+</li>
+<li>write()
+: <a class="el" href="classmiosix_1_1_console.html#ad064039cfbaa9db84cb021944aa85bd1">miosix::Console</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_y"></a>- y -</h3><ul>
+<li>yield()
+: <a class="el" href="classmiosix_1_1_thread.html#a75823b1288a7defcb715fd6591a23b2d">miosix::Thread</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_0x7e"></a>- ~ -</h3><ul>
+<li>~ExceptionHandlingData()
+: <a class="el" href="classmiosix_1_1_exception_handling_data.html#a61144e6db2029974d7988aa079db59e3">miosix::ExceptionHandlingData</a>
+</li>
+<li>~FastInterruptDisableLock()
+: <a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html#aa060c8983f93de1724b51c361de76477">miosix::FastInterruptDisableLock</a>
+</li>
+<li>~FastInterruptEnableLock()
+: <a class="el" href="classmiosix_1_1_fast_interrupt_enable_lock.html#afb021a03eb3c46a8b8ee8d7854190f8c">miosix::FastInterruptEnableLock</a>
+</li>
+<li>~FastMutex()
+: <a class="el" href="classmiosix_1_1_fast_mutex.html#ad320fd1b0d905f2d4fa9e8e0567181d2">miosix::FastMutex</a>
+</li>
+<li>~InterruptDisableLock()
+: <a class="el" href="classmiosix_1_1_interrupt_disable_lock.html#a8989ce6efe8d4930cf045e01b157b288">miosix::InterruptDisableLock</a>
+</li>
+<li>~InterruptEnableLock()
+: <a class="el" href="classmiosix_1_1_interrupt_enable_lock.html#a0e1b60ac838afe74d1f7a906e3bb2282">miosix::InterruptEnableLock</a>
+</li>
+<li>~Lock()
+: <a class="el" href="classmiosix_1_1_lock.html#ad8e9566c5eead737472fda2fce2a0c88">miosix::Lock&lt; T &gt;</a>
+</li>
+<li>~PauseKernelLock()
+: <a class="el" href="classmiosix_1_1_pause_kernel_lock.html#a0980986878a2bc171af039d70a1e9e7a">miosix::PauseKernelLock</a>
+</li>
+<li>~RestartKernelLock()
+: <a class="el" href="classmiosix_1_1_restart_kernel_lock.html#ac026033adfae754118e6025ad7ce01bb">miosix::RestartKernelLock</a>
+</li>
+<li>~Unlock()
+: <a class="el" href="classmiosix_1_1_unlock.html#a53f826f17c0c7792d296c4a8dff4fef5">miosix::Unlock&lt; T &gt;</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/functions_vars.html b/miosix/_doc/doxygen/html/functions_vars.html
new file mode 100644
index 0000000000000000000000000000000000000000..e952ad9237f609b883c6ab913dae83211a5c07a5
--- /dev/null
+++ b/miosix/_doc/doxygen/html/functions_vars.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Class Members - Variables</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>FILENAME_LEN
+: <a class="el" href="classmiosix_1_1_directory.html#a079e87e4cbc008d223a03c54d87577bf">miosix::Directory</a>
+</li>
+<li>result
+: <a class="el" href="classmiosix_1_1_thread.html#a448486b757b8ede4edaa8edc39962b17">miosix::Thread</a>
+</li>
+<li>waitingForJoin
+: <a class="el" href="classmiosix_1_1_thread.html#a4d8096414686bc7519454101f55306d2">miosix::Thread</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/globals.html b/miosix/_doc/doxygen/html/globals.html
new file mode 100644
index 0000000000000000000000000000000000000000..e598fba365dccfa188bb619b599cc59a1cece3b9
--- /dev/null
+++ b/miosix/_doc/doxygen/html/globals.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+Here is a list of all documented file members with links to the documentation:<ul>
+<li>JTAG_DISABLE_SLEEP
+: <a class="el" href="group___settings.html#gae8275208fa2c8f8bc833fa8bc78ff350">miosix_settings.h</a>
+</li>
+<li>SCHED_TYPE_CONTROL_BASED
+: <a class="el" href="group___settings.html#ga18c8e73660707ad40a2ee8590f35db68">miosix_settings.h</a>
+</li>
+<li>SCHED_TYPE_EDF
+: <a class="el" href="group___settings.html#gaca4195a7b3efe86d766d5fbf6db64aa0">miosix_settings.h</a>
+</li>
+<li>SCHED_TYPE_PRIORITY
+: <a class="el" href="group___settings.html#ga2acdc2f0df96cf6cbc35f7fd78ddb70d">miosix_settings.h</a>
+</li>
+<li>swapBytes16()
+: <a class="el" href="group___interfaces.html#gaac144bf3451c95e74bdd34327f019344">endianness.h</a>
+</li>
+<li>swapBytes32()
+: <a class="el" href="group___interfaces.html#gae45d4bbe8a807a780b0033850c143a81">endianness.h</a>
+</li>
+<li>swapBytes64()
+: <a class="el" href="group___interfaces.html#ga74d39ebb52b05eda594e47f0d90e7ad2">endianness.h</a>
+</li>
+<li>SYNC_AFTER_WRITE
+: <a class="el" href="group___settings.html#ga7f95cdeac372c6633422b100d6b15bba">miosix_settings.h</a>
+</li>
+<li>toBigEndian16
+: <a class="el" href="group___interfaces.html#ga3d118b2a14e2880a0439c9bf9a06c6e5">endianness.h</a>
+</li>
+<li>toBigEndian32
+: <a class="el" href="group___interfaces.html#gaa6c617366016f8aade26bc9dea6cc26b">endianness.h</a>
+</li>
+<li>toBigEndian64
+: <a class="el" href="group___interfaces.html#ga9e5f305b36b75ad6f89becf211624ce2">endianness.h</a>
+</li>
+<li>toLittleEndian16
+: <a class="el" href="group___interfaces.html#gaf9a5d5c4095f445894e047a624beab1c">endianness.h</a>
+</li>
+<li>toLittleEndian32
+: <a class="el" href="group___interfaces.html#ga81fdb9bbd65db8d3613bcf48b33b6b3c">endianness.h</a>
+</li>
+<li>toLittleEndian64
+: <a class="el" href="group___interfaces.html#ga9854a77efaef5446bd7e14722017df59">endianness.h</a>
+</li>
+<li>WITH_BOOTLOG
+: <a class="el" href="group___settings.html#ga2c6b4dab3da5b7b77fef128e1cd2fa79">miosix_settings.h</a>
+</li>
+<li>WITH_ERRLOG
+: <a class="el" href="group___settings.html#ga77cf94725c645792e686ff791e47d703">miosix_settings.h</a>
+</li>
+<li>WITH_FILESYSTEM
+: <a class="el" href="group___settings.html#ga35c68f7b13770080cccce5baafc24a30">miosix_settings.h</a>
+</li>
+<li>WITH_STDIN_BUFFER
+: <a class="el" href="group___settings.html#gaad46faddaac4a765531e05ab44c52a3e">miosix_settings.h</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/globals_defs.html b/miosix/_doc/doxygen/html/globals_defs.html
new file mode 100644
index 0000000000000000000000000000000000000000..0264e619f1f3b6e249e920f2ea1b32a107aceb49
--- /dev/null
+++ b/miosix/_doc/doxygen/html/globals_defs.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>JTAG_DISABLE_SLEEP
+: <a class="el" href="group___settings.html#gae8275208fa2c8f8bc833fa8bc78ff350">miosix_settings.h</a>
+</li>
+<li>SCHED_TYPE_CONTROL_BASED
+: <a class="el" href="group___settings.html#ga18c8e73660707ad40a2ee8590f35db68">miosix_settings.h</a>
+</li>
+<li>SCHED_TYPE_EDF
+: <a class="el" href="group___settings.html#gaca4195a7b3efe86d766d5fbf6db64aa0">miosix_settings.h</a>
+</li>
+<li>SCHED_TYPE_PRIORITY
+: <a class="el" href="group___settings.html#ga2acdc2f0df96cf6cbc35f7fd78ddb70d">miosix_settings.h</a>
+</li>
+<li>SYNC_AFTER_WRITE
+: <a class="el" href="group___settings.html#ga7f95cdeac372c6633422b100d6b15bba">miosix_settings.h</a>
+</li>
+<li>toBigEndian16
+: <a class="el" href="group___interfaces.html#ga3d118b2a14e2880a0439c9bf9a06c6e5">endianness.h</a>
+</li>
+<li>toBigEndian32
+: <a class="el" href="group___interfaces.html#gaa6c617366016f8aade26bc9dea6cc26b">endianness.h</a>
+</li>
+<li>toBigEndian64
+: <a class="el" href="group___interfaces.html#ga9e5f305b36b75ad6f89becf211624ce2">endianness.h</a>
+</li>
+<li>toLittleEndian16
+: <a class="el" href="group___interfaces.html#gaf9a5d5c4095f445894e047a624beab1c">endianness.h</a>
+</li>
+<li>toLittleEndian32
+: <a class="el" href="group___interfaces.html#ga81fdb9bbd65db8d3613bcf48b33b6b3c">endianness.h</a>
+</li>
+<li>toLittleEndian64
+: <a class="el" href="group___interfaces.html#ga9854a77efaef5446bd7e14722017df59">endianness.h</a>
+</li>
+<li>WITH_BOOTLOG
+: <a class="el" href="group___settings.html#ga2c6b4dab3da5b7b77fef128e1cd2fa79">miosix_settings.h</a>
+</li>
+<li>WITH_ERRLOG
+: <a class="el" href="group___settings.html#ga77cf94725c645792e686ff791e47d703">miosix_settings.h</a>
+</li>
+<li>WITH_FILESYSTEM
+: <a class="el" href="group___settings.html#ga35c68f7b13770080cccce5baafc24a30">miosix_settings.h</a>
+</li>
+<li>WITH_STDIN_BUFFER
+: <a class="el" href="group___settings.html#gaad46faddaac4a765531e05ab44c52a3e">miosix_settings.h</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/globals_func.html b/miosix/_doc/doxygen/html/globals_func.html
new file mode 100644
index 0000000000000000000000000000000000000000..59d16ef3769e13edc91e4ff2e132df8cd9070285
--- /dev/null
+++ b/miosix/_doc/doxygen/html/globals_func.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>swapBytes16()
+: <a class="el" href="group___interfaces.html#gaac144bf3451c95e74bdd34327f019344">endianness.h</a>
+</li>
+<li>swapBytes32()
+: <a class="el" href="group___interfaces.html#gae45d4bbe8a807a780b0033850c143a81">endianness.h</a>
+</li>
+<li>swapBytes64()
+: <a class="el" href="group___interfaces.html#ga74d39ebb52b05eda594e47f0d90e7ad2">endianness.h</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/gpio_8h.html b/miosix/_doc/doxygen/html/gpio_8h.html
new file mode 100644
index 0000000000000000000000000000000000000000..0018ad884f7cc120dda5ab1713cea56f5876d345
--- /dev/null
+++ b/miosix/_doc/doxygen/html/gpio_8h.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: gpio.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>gpio.h File Reference</h1>  </div>
+</div>
+<div class="contents">
+<code>#include &quot;interfaces-impl/gpio_impl.h&quot;</code><br/>
+<table class="memberdecls">
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The interface to gpios provided by Miosix is in the form of templates, therefore this file can only include gpio_impl.h with the architecture dependand code.</p>
+<p>The interface should be as follows: First a class Mode containing an enum Mode_ needs to be defined. Its minimum implementation is this: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">class </span>Mode
+ {
+ <span class="keyword">public</span>:
+     <span class="keyword">enum</span> Mode_
+     {
+         INPUT,
+         OUTPUT
+     };
+ <span class="keyword">private</span>:
+     Mode(); <span class="comment">//Just a wrapper class, disallow creating instances</span>
+ };
+</pre></div><p>This class should define the possible configurations of a gpio pin. The minimum required is INPUT and OUTPUT, but this can be extended to other options to reflect the hardware capabilities of gpios. For example, if gpios can be set as input with pull up, it is possible to add INPUT_PULL_UP to the enum.</p>
+<p>Then a template Gpio class should be provided, with at least the following member functions: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> N&gt;
+ <span class="keyword">class </span>Gpio
+ {
+ <span class="keyword">public</span>:
+     <span class="keyword">static</span> <span class="keywordtype">void</span> mode(Mode::Mode_ m);
+     <span class="keyword">static</span> <span class="keywordtype">void</span> high();
+     <span class="keyword">static</span> <span class="keywordtype">void</span> low();
+     <span class="keyword">static</span> <span class="keywordtype">int</span> value();
+ <span class="keyword">private</span>:
+     Gpio();<span class="comment">//Only static member functions, disallow creating instances</span>
+ };
+</pre></div><p>mode() should take a Mode::Mode_ enum and set the mode of the gpio (input, output or other architecture specific)</p>
+<p>high() should set a gpio configured as output to high logic level</p>
+<p>low() should set a gpio configured as output to low logic level</p>
+<p>value() should return either 1 or 0 to refect the state of a gpio configured as input</p>
+<p>Lastly, a number of constants must be provided to be passed as first template parameter of the Gpio class, usually identifying the gpio port, while the second template parameter should be used to specify a gpio pin within a port.</p>
+<p>The intended use is this: considering an architecture with two ports, PORTA and PORTB each with 8 pins. The header gpio_impl.h should provide two constants, for example named GPIOA_BASE and GPIOB_BASE.</p>
+<p>The user can declare the hardware mapping between gpios and what is connected to them, usually in an header file. If for example PORTA.0 is connected to a button while PORTB.4 to a led, the header file might contain:</p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">typedef</span> Gpio&lt;GPIOA_BASE,0&gt; button;
+ <span class="keyword">typedef</span> Gpio&lt;GPIOB_BASE,4&gt; led;
+</pre></div><p>This allows the rest of the code to be written in terms of leds and buttons, without a reference to which pin they are connected to, something that might change.</p>
+<p>A simple code using these gpios could be: </p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> blinkUntilButtonPressed()
+ {
+     led::mode(Mode::OUTPUT);
+     button::mode(Mode::INPUT);
+     <span class="keywordflow">for</span>(;;)
+     {
+         <span class="keywordflow">if</span>(button::value()==1) <span class="keywordflow">break</span>;
+         led::high();
+         Thread::sleep(250);
+         led::low();
+         Thread::sleep(250);
+     }
+ }
+</pre></div> </div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/group___drivers.html b/miosix/_doc/doxygen/html/group___drivers.html
new file mode 100644
index 0000000000000000000000000000000000000000..b1d23940bce527b444a1d43c833f59fda95d37ef
--- /dev/null
+++ b/miosix/_doc/doxygen/html/group___drivers.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Drivers</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>Drivers</h1>  </div>
+</div>
+<div class="contents">
+<table class="memberdecls">
+</table>
+<p>Miosix drivers API</p>
+<p>Contains functions and macros that can be used to write drivers for hardware peripherals. These functions, plus the IRQ methods of the Queue class provide a way to transfer data between an interrupt routine and user code, and a way to cause preemption inside an interrupt routine to wake a higher priority Thread waiting on some hardware peripheral.</p>
+<p>Also contains the default drivers for each architecture. </p>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/group___filesystem.html b/miosix/_doc/doxygen/html/group___filesystem.html
new file mode 100644
index 0000000000000000000000000000000000000000..34677e1d9701e7725e8b23804174e4eff1484257
--- /dev/null
+++ b/miosix/_doc/doxygen/html/group___filesystem.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Filesystem</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#enum-members">Enumerations</a>  </div>
+  <div class="headertitle">
+<h1>Filesystem</h1>  </div>
+</div>
+<div class="contents">
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_filesystem.html">miosix::Filesystem</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_directory.html">miosix::Directory</a></td></tr>
+<tr><td colspan="2"><h2><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___filesystem.html#ga9fab0d0eb30aba32bb0c6ca21d72c845">miosix::Attrib</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845a12e947f8f047d273e068bde84dc756ae">miosix::READ_ONLY</a> =  0x01, 
+<a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845a18d657bc5127e6fe6d0e3b1ede96ff43">miosix::HIDDEN</a> =  0x02, 
+<a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845aafe01ea46399c95c49849a481b3ac6c9">miosix::SYSTEM</a> =  0x04, 
+<a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845a70a8eaf83cbb7e00925d35382689d59d">miosix::VOLUME_ID</a> =  0x08, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845a1dee5448b32ceee464cfd092b991de86">miosix::DIRECTORY</a> =  0x10, 
+<a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845ab608cfd1ce6c8c0f131a6cfe5edb36d4">miosix::ARCHIVE</a> =  0x20
+<br/>
+ }</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p><a class="el" href="classmiosix_1_1_filesystem.html">Filesystem</a> related functions</p>
+<p>File handling will not be described here since it is done using the C or C++ standard library (fopen, fprintf, istream, remove, mkdir, ...).<br/>
+ All file related function of the C and C++ standard library should work, except rename() and link() which are not implemented.<br/>
+ The maximum number of files that can be opened at the same time is defined in the constant MAX_OPEN_FILES in <a class="el" href="miosix__settings_8h.html">miosix/config/miosix_settings.h</a>, All files are opened in binary mode. Therefore there is no differnce between fopen("file.txt","r") and fopen("file.txt","rb"). For filesystem write access, the SYNC_AFTER_WRITE option in <a class="el" href="miosix__settings_8h.html">miosix_settings.h</a> allows to choose a faster or safer implementation.</p>
+<p><a class="el" href="classmiosix_1_1_directory.html">Directory</a> listing is not done using the standard opendir() and readdir() functions, but using the <a class="el" href="classmiosix_1_1_directory.html">Directory</a> class.</p>
+<p>Mounting and unmounting the filesystem is done through the <a class="el" href="classmiosix_1_1_filesystem.html">Filesystem</a> class. Note that the filesystem is mounted automatically at boot time, except in case of errors (like no uSD card in the socket). </p>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="ga9fab0d0eb30aba32bb0c6ca21d72c845"></a><!-- doxytag: member="miosix::Attrib" ref="ga9fab0d0eb30aba32bb0c6ca21d72c845" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="group___filesystem.html#ga9fab0d0eb30aba32bb0c6ca21d72c845">miosix::Attrib</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>File attribures, as returned by <a class="el" href="classmiosix_1_1_directory.html#ace4d75cdcad650213a294c2fe7a41381">Directory::next()</a>. More flags can be set at the same time </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga9fab0d0eb30aba32bb0c6ca21d72c845a12e947f8f047d273e068bde84dc756ae"></a><!-- doxytag: member="READ_ONLY" ref="gga9fab0d0eb30aba32bb0c6ca21d72c845a12e947f8f047d273e068bde84dc756ae" args="" -->READ_ONLY</em>&nbsp;</td><td>
+<p>Entry is read-only. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9fab0d0eb30aba32bb0c6ca21d72c845a18d657bc5127e6fe6d0e3b1ede96ff43"></a><!-- doxytag: member="HIDDEN" ref="gga9fab0d0eb30aba32bb0c6ca21d72c845a18d657bc5127e6fe6d0e3b1ede96ff43" args="" -->HIDDEN</em>&nbsp;</td><td>
+<p>Entry is hidden. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9fab0d0eb30aba32bb0c6ca21d72c845aafe01ea46399c95c49849a481b3ac6c9"></a><!-- doxytag: member="SYSTEM" ref="gga9fab0d0eb30aba32bb0c6ca21d72c845aafe01ea46399c95c49849a481b3ac6c9" args="" -->SYSTEM</em>&nbsp;</td><td>
+<p>Entry is a system file. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9fab0d0eb30aba32bb0c6ca21d72c845a70a8eaf83cbb7e00925d35382689d59d"></a><!-- doxytag: member="VOLUME_ID" ref="gga9fab0d0eb30aba32bb0c6ca21d72c845a70a8eaf83cbb7e00925d35382689d59d" args="" -->VOLUME_ID</em>&nbsp;</td><td>
+<p>Volume label (?). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9fab0d0eb30aba32bb0c6ca21d72c845a1dee5448b32ceee464cfd092b991de86"></a><!-- doxytag: member="DIRECTORY" ref="gga9fab0d0eb30aba32bb0c6ca21d72c845a1dee5448b32ceee464cfd092b991de86" args="" -->DIRECTORY</em>&nbsp;</td><td>
+<p>If this flag is set, entry is a directory, otherwise it's a file. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga9fab0d0eb30aba32bb0c6ca21d72c845ab608cfd1ce6c8c0f131a6cfe5edb36d4"></a><!-- doxytag: member="ARCHIVE" ref="gga9fab0d0eb30aba32bb0c6ca21d72c845ab608cfd1ce6c8c0f131a6cfe5edb36d4" args="" -->ARCHIVE</em>&nbsp;</td><td>
+<p>Entry is marked as archive. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/group___hardware.html b/miosix/_doc/doxygen/html/group___hardware.html
new file mode 100644
index 0000000000000000000000000000000000000000..77697ac1e60c04e0ecd9a733cb134e023d7cbc9d
--- /dev/null
+++ b/miosix/_doc/doxygen/html/group___hardware.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Hardware</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>Hardware</h1>  </div>
+</div>
+<div class="contents">
+<table class="memberdecls">
+</table>
+<p>Hardware related functions</p>
+<p>Starting from Miosix 1.50 the kernel can be run on multiple platforms. It provides some facilities to access common features such as GPIOs in a platform independent way, and leaves the rest of the underlying hardware available for direct use. Including miosix.h in a source file will automaticaly include the header files with the register definitions of the selected microcontroller, so that it is possible to write code that makes use of its peripherals.</p>
+<p>Some hardware resources, however, are used by the kernel, and must not be used by user code, to avoid conflicts This usually include a serial port, used for redirecting printf, an SPI or SD card hardware controller, for filesystem access, one or more hardware timers, used for preemption, and some interrupt handlers used for context switching. </p>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/group___interfaces.html b/miosix/_doc/doxygen/html/group___interfaces.html
new file mode 100644
index 0000000000000000000000000000000000000000..501e4dc19221bb033a1ba22d3c11dc8b58592b32
--- /dev/null
+++ b/miosix/_doc/doxygen/html/group___interfaces.html
@@ -0,0 +1,405 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Interfaces</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#files">Files</a> &#124;
+<a href="#define-members">Defines</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Interfaces</h1>  </div>
+</div>
+<div class="contents">
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_console.html">miosix::Console</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix__private_1_1_auxiliary_timer.html">miosix_private::AuxiliaryTimer</a></td></tr>
+<tr><td colspan="2"><h2><a name="files"></a>
+Files</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="arch__registers_8h.html">arch_registers.h</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsp_8h.html">bsp.h</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="console_8h.html">console.h</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="delays_8h.html">delays.h</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8h.html">disk.h</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="endianness_8h.html">endianness.h</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gpio_8h.html">gpio.h</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="portability_8h.html">portability.h</a></td></tr>
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaf9a5d5c4095f445894e047a624beab1c">toLittleEndian16</a>(x)&nbsp;&nbsp;&nbsp;(x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga81fdb9bbd65db8d3613bcf48b33b6b3c">toLittleEndian32</a>(x)&nbsp;&nbsp;&nbsp;(x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9854a77efaef5446bd7e14722017df59">toLittleEndian64</a>(x)&nbsp;&nbsp;&nbsp;(x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga3d118b2a14e2880a0439c9bf9a06c6e5">toBigEndian16</a>(x)&nbsp;&nbsp;&nbsp;swapBytes16(x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaa6c617366016f8aade26bc9dea6cc26b">toBigEndian32</a>(x)&nbsp;&nbsp;&nbsp;swapBytes32(x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9e5f305b36b75ad6f89becf211624ce2">toBigEndian64</a>(x)&nbsp;&nbsp;&nbsp;swapBytes64(x)</td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae0495cbfc806a0db0cdf2ff023945516">miosix::shutdown</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga6f70fdbc3b5d6afa41b5dbc5272cc6a0">miosix::reboot</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9d13aceddc0481fd1077e6fdfb31f9a7">miosix::delayMs</a> (unsigned int mseconds)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga244f9474d20ffd5d905855f68aa3114f">miosix::delayUs</a> (unsigned int useconds)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">__MIOSIX_INLINE unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gaac144bf3451c95e74bdd34327f019344">swapBytes16</a> (unsigned short x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">__MIOSIX_INLINE unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae45d4bbe8a807a780b0033850c143a81">swapBytes32</a> (unsigned int x)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">__MIOSIX_INLINE unsigned long long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga74d39ebb52b05eda594e47f0d90e7ad2">swapBytes64</a> (unsigned long long x)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Interfaces between kernel and architecture specific code.</p>
+<p>Starting from Miosix 1.53 all calls from kernel to architecture specific code is done through a set of functions, classes and macros grouped in a set of header files in the miosix/interfaces folder. There are multiple implementations of these functions/classes, one for each architecture supported by Miosix. This eases portability since adding a new architecture is done by implementing a well defined set of interfaces.</p>
+<p>Some of these functions are not designed to be accessed by user code, for example the functions in <a class="el" href="portability_8h.html">portability.h</a> are used by the kernel to create threads and perform context switching, while the Disk class in <a class="el" href="disk_8h.html">disk.h</a> is used by the filesystem module to read and write from disk. Such functions are marked as \internal and therefore are not visible by default in this doxygen documentation, because are useless for application developers. If there is the need to port Miosix to another platform it is always possible to build the doxygen documentation manually including \internal functions. Using functions which are marked as \internal in user code might lead to undefined behaviour. </p>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ga3d118b2a14e2880a0439c9bf9a06c6e5"></a><!-- doxytag: member="endianness.h::toBigEndian16" ref="ga3d118b2a14e2880a0439c9bf9a06c6e5" args="(x)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define toBigEndian16</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">x</td>
+          <td>&nbsp;)&nbsp;</td>
+          <td>&nbsp;&nbsp;&nbsp;swapBytes16(x)</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Convert a (signed or unsigned) short int from the system representation to big endian </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>value to convert </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>value converted to big endian </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa6c617366016f8aade26bc9dea6cc26b"></a><!-- doxytag: member="endianness.h::toBigEndian32" ref="gaa6c617366016f8aade26bc9dea6cc26b" args="(x)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define toBigEndian32</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">x</td>
+          <td>&nbsp;)&nbsp;</td>
+          <td>&nbsp;&nbsp;&nbsp;swapBytes32(x)</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Convert a (signed or unsigned) int from the system representation to big endian </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>value to convert </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>value converted to big endian </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga9e5f305b36b75ad6f89becf211624ce2"></a><!-- doxytag: member="endianness.h::toBigEndian64" ref="ga9e5f305b36b75ad6f89becf211624ce2" args="(x)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define toBigEndian64</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">x</td>
+          <td>&nbsp;)&nbsp;</td>
+          <td>&nbsp;&nbsp;&nbsp;swapBytes64(x)</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Convert a (signed or unsigned) long long from the system representation to big endian </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>value to convert </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>value converted to big endian </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf9a5d5c4095f445894e047a624beab1c"></a><!-- doxytag: member="endianness.h::toLittleEndian16" ref="gaf9a5d5c4095f445894e047a624beab1c" args="(x)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define toLittleEndian16</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">x</td>
+          <td>&nbsp;)&nbsp;</td>
+          <td>&nbsp;&nbsp;&nbsp;(x)</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Convert a (signed or unsigned) short int from the system representation to little endian </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>value to convert </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>value converted to little endian </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga81fdb9bbd65db8d3613bcf48b33b6b3c"></a><!-- doxytag: member="endianness.h::toLittleEndian32" ref="ga81fdb9bbd65db8d3613bcf48b33b6b3c" args="(x)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define toLittleEndian32</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">x</td>
+          <td>&nbsp;)&nbsp;</td>
+          <td>&nbsp;&nbsp;&nbsp;(x)</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Convert a (signed or unsigned) int from the system representation to little endian </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>value to convert </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>value converted to little endian </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga9854a77efaef5446bd7e14722017df59"></a><!-- doxytag: member="endianness.h::toLittleEndian64" ref="ga9854a77efaef5446bd7e14722017df59" args="(x)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define toLittleEndian64</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">x</td>
+          <td>&nbsp;)&nbsp;</td>
+          <td>&nbsp;&nbsp;&nbsp;(x)</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Convert a (signed or unsigned) long long from the system representation to little endian </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>value to convert </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>value converted to little endian </dd></dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga9d13aceddc0481fd1077e6fdfb31f9a7"></a><!-- doxytag: member="miosix::delayMs" ref="ga9d13aceddc0481fd1077e6fdfb31f9a7" args="(unsigned int mseconds)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::delayMs </td>
+          <td>(</td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>mseconds</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Delay function. Accuracy depends on the underlying implementation which is architecture specific.<br/>
+ Delay time can be inaccurate if interrupts are enabled or the kernel is running due to time spent in interrupts and due to preemption.<br/>
+ It is implemented using busy wait, so can be safely used even when the kernel is paused or interrupts are disabled.<br/>
+ If the kernel is running it is *highly* recomended to use <a class="el" href="classmiosix_1_1_thread.html#ad7f738dc69a918960fe814a062696c5c">Thread::sleep</a> since it gives CPU time to other threads and/or it puts the CPU in low power mode. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>mseconds</em>&nbsp;</td><td>milliseconds to wait </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga244f9474d20ffd5d905855f68aa3114f"></a><!-- doxytag: member="miosix::delayUs" ref="ga244f9474d20ffd5d905855f68aa3114f" args="(unsigned int useconds)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::delayUs </td>
+          <td>(</td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>useconds</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Delay function. Accuracy depends on the underlying implementation which is architecture specific.<br/>
+ Delay time can be inaccurate if interrupts are enabled or the kernel is running due to time spent in interrupts and due to preemption.<br/>
+ It is implemented using busy wait, so can be safely used even when the kernel is paused or interrupts are disabled.<br/>
+ </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>useconds</em>&nbsp;</td><td>microseconds to wait. Only values between 1 and 1000 are allowed. For greater delays use <a class="el" href="classmiosix_1_1_thread.html#ad7f738dc69a918960fe814a062696c5c">Thread::sleep()</a> or <a class="el" href="group___interfaces.html#ga9d13aceddc0481fd1077e6fdfb31f9a7">delayMs()</a>. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6f70fdbc3b5d6afa41b5dbc5272cc6a0"></a><!-- doxytag: member="miosix::reboot" ref="ga6f70fdbc3b5d6afa41b5dbc5272cc6a0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::reboot </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>The difference between this function and miosix_private::IRQsystemReboot() is that this function disables filesystem (if enabled), serial port (if enabled) while miosix_private::system_reboot() does not do all these things. miosix_private::IRQsystemReboot() is designed to reboot the system when an unrecoverable error occurs, and is used primarily in kernel code, <a class="el" href="group___interfaces.html#ga6f70fdbc3b5d6afa41b5dbc5272cc6a0">reboot()</a> is designed to reboot the system in normal conditions.<br/>
+ This function does not return.<br/>
+ WARNING: close all files before using this function, since it unmounts the filesystem. </p>
+
+</div>
+</div>
+<a class="anchor" id="gae0495cbfc806a0db0cdf2ff023945516"></a><!-- doxytag: member="miosix::shutdown" ref="gae0495cbfc806a0db0cdf2ff023945516" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::shutdown </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This function disables filesystem (if enabled), serial port (if enabled) and shuts down the system, usually by putting the procesor in a deep sleep state.<br/>
+ The action to start a new boot is system-specific, can be for example a reset, powercycle or a special GPIO configured to wakeup the processor from deep sleep.<br/>
+ This function does not return.<br/>
+ WARNING: close all files before using this function, since it unmounts the filesystem.<br/>
+ </p>
+
+</div>
+</div>
+<a class="anchor" id="gaac144bf3451c95e74bdd34327f019344"></a><!-- doxytag: member="endianness.h::swapBytes16" ref="gaac144bf3451c95e74bdd34327f019344" args="(unsigned short x)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned short swapBytes16 </td>
+          <td>(</td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>x</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>an short int </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the same short with its bytes swapped </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gae45d4bbe8a807a780b0033850c143a81"></a><!-- doxytag: member="endianness.h::swapBytes32" ref="gae45d4bbe8a807a780b0033850c143a81" args="(unsigned int x)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned int swapBytes32 </td>
+          <td>(</td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>x</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>an int </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the same int with its bytes swapped </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga74d39ebb52b05eda594e47f0d90e7ad2"></a><!-- doxytag: member="endianness.h::swapBytes64" ref="ga74d39ebb52b05eda594e47f0d90e7ad2" args="(unsigned long long x)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned long long swapBytes64 </td>
+          <td>(</td>
+          <td class="paramtype">unsigned long long&nbsp;</td>
+          <td class="paramname"> <em>x</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>a long long </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the same long long with its bytes swapped </dd></dl>
+
+</div>
+</div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/group___kernel.html b/miosix/_doc/doxygen/html/group___kernel.html
new file mode 100644
index 0000000000000000000000000000000000000000..f80c61e583b0f1a0d0d00faeddd334a70c7d4f74
--- /dev/null
+++ b/miosix/_doc/doxygen/html/group___kernel.html
@@ -0,0 +1,254 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Kernel</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Kernel</h1>  </div>
+</div>
+<div class="contents">
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_interrupt_disable_lock.html">miosix::InterruptDisableLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_interrupt_enable_lock.html">miosix::InterruptEnableLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html">miosix::FastInterruptDisableLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_fast_interrupt_enable_lock.html">miosix::FastInterruptEnableLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_pause_kernel_lock.html">miosix::PauseKernelLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_restart_kernel_lock.html">miosix::RestartKernelLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html">miosix::Thread</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_lower_priority.html">miosix::LowerPriority</a></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___kernel.html#gacd7ef6e968c5c0b2ff45bf102388ea4d">miosix::disableInterrupts</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___kernel.html#ga36adaaa176d004747d2a01b822c9fea5">miosix::enableInterrupts</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___kernel.html#gaeeacb47660439066bb1d787593da9f4e">miosix::fastDisableInterrupts</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___kernel.html#ga882229b6c936a87454cb154a90751927">miosix::fastEnableInterrupts</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___kernel.html#ga730c9359f8069cb2f785501ea763eb43">miosix::pauseKernel</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___kernel.html#gad3bee49a8dd57a598b7d7aeeeaf8496c">miosix::restartKernel</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___kernel.html#gacabb0637ded36778470fa27eea329d84">miosix::areInterruptsEnabled</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___kernel.html#gaabdbf06e8cf514d3113325a01927ccf5">miosix::isKernelRunning</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">long long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___kernel.html#gad16c495ced6659e8bc0bb371362674ef">miosix::getTick</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Miosix kernel API</p>
+<p>The most useful part of this API is the <a class="el" href="classmiosix_1_1_thread.html">Thread</a> class that allows to create and manage threads.</p>
+<p>A note on IRQ functions/methods:<br/>
+ Functions and methods that do not begin with IRQ cannot be called inside IRQ or when interrupts are disabled.<br/>
+ Functions and methods that begin with IRQ cannot be called outside IRQ or when interrupts are enabled.<br/>
+ When the kernel is paused, you must read the comment of the function to see if it can be called since there is no general rule.<br/>
+ Only recently (starting from Miosix 1.53) some of the functions designed to be called with kernel paused are marked with the PK prefix. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gacabb0637ded36778470fa27eea329d84"></a><!-- doxytag: member="miosix::areInterruptsEnabled" ref="gacabb0637ded36778470fa27eea329d84" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool miosix::areInterruptsEnabled </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if interrupts are enabled </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gacd7ef6e968c5c0b2ff45bf102388ea4d"></a><!-- doxytag: member="miosix::disableInterrupts" ref="gacd7ef6e968c5c0b2ff45bf102388ea4d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::disableInterrupts </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Disable interrupts, if interrupts were enable prior to calling this function.</p>
+<p>Please note that starting from Miosix 1.51 <a class="el" href="group___kernel.html#gacd7ef6e968c5c0b2ff45bf102388ea4d">disableInterrupts()</a> and <a class="el" href="group___kernel.html#ga36adaaa176d004747d2a01b822c9fea5">enableInterrupts()</a> can be nested. You can therefore call <a class="el" href="group___kernel.html#gacd7ef6e968c5c0b2ff45bf102388ea4d">disableInterrupts()</a> multiple times as long as each call is matched by a call to <a class="el" href="group___kernel.html#ga36adaaa176d004747d2a01b822c9fea5">enableInterrupts()</a>.<br/>
+ This replaced disable_and_save_interrupts() and restore_interrupts()</p>
+<p><a class="el" href="group___kernel.html#gacd7ef6e968c5c0b2ff45bf102388ea4d">disableInterrupts()</a> cannot be called within an interrupt routine, but can be called before the kernel is started (and does nothing in this case) </p>
+
+</div>
+</div>
+<a class="anchor" id="ga36adaaa176d004747d2a01b822c9fea5"></a><!-- doxytag: member="miosix::enableInterrupts" ref="ga36adaaa176d004747d2a01b822c9fea5" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::enableInterrupts </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Enable interrupts.<br/>
+ Please note that starting from Miosix 1.51 <a class="el" href="group___kernel.html#gacd7ef6e968c5c0b2ff45bf102388ea4d">disableInterrupts()</a> and <a class="el" href="group___kernel.html#ga36adaaa176d004747d2a01b822c9fea5">enableInterrupts()</a> can be nested. You can therefore call <a class="el" href="group___kernel.html#gacd7ef6e968c5c0b2ff45bf102388ea4d">disableInterrupts()</a> multiple times as long as each call is matched by a call to <a class="el" href="group___kernel.html#ga36adaaa176d004747d2a01b822c9fea5">enableInterrupts()</a>.<br/>
+ This replaced disable_and_save_interrupts() and restore_interrupts()</p>
+<p><a class="el" href="group___kernel.html#ga36adaaa176d004747d2a01b822c9fea5">enableInterrupts()</a> cannot be called within an interrupt routine, but can be called before the kernel is started (and does nothing in this case) </p>
+
+</div>
+</div>
+<a class="anchor" id="gaeeacb47660439066bb1d787593da9f4e"></a><!-- doxytag: member="miosix::fastDisableInterrupts" ref="gaeeacb47660439066bb1d787593da9f4e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::fastDisableInterrupts </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Fast version of <a class="el" href="group___kernel.html#gacd7ef6e968c5c0b2ff45bf102388ea4d">disableInterrupts()</a>.<br/>
+ Despite faster, it has a couple of preconditions:</p>
+<ul>
+<li>calls to <a class="el" href="group___kernel.html#gaeeacb47660439066bb1d787593da9f4e">fastDisableInterrupts()</a> can't be nested</li>
+<li>it can't be used in code that is called before the kernel is started </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga882229b6c936a87454cb154a90751927"></a><!-- doxytag: member="miosix::fastEnableInterrupts" ref="ga882229b6c936a87454cb154a90751927" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::fastEnableInterrupts </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Fast version of <a class="el" href="group___kernel.html#ga36adaaa176d004747d2a01b822c9fea5">enableInterrupts()</a>.<br/>
+ Despite faster, it has a couple of preconditions:</p>
+<ul>
+<li>calls to <a class="el" href="group___kernel.html#gaeeacb47660439066bb1d787593da9f4e">fastDisableInterrupts()</a> can't be nested</li>
+<li>it can't be used in code that is called before the kernel is started, because it will (incorreclty) lead to interrupts being enabled before the kernel is started </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="gad16c495ced6659e8bc0bb371362674ef"></a><!-- doxytag: member="miosix::getTick" ref="gad16c495ced6659e8bc0bb371362674ef" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">long long miosix::getTick </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Returns the current kernel tick.<br/>
+Can be called also with interrupts disabled and/or kernel paused. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>current kernel tick </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaabdbf06e8cf514d3113325a01927ccf5"></a><!-- doxytag: member="miosix::isKernelRunning" ref="gaabdbf06e8cf514d3113325a01927ccf5" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool miosix::isKernelRunning </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Return true if kernel is running, false if it is not started, or paused.<br/>
+ Warning: disabling/enabling interrupts does not affect the result returned by this function. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>true if kernel is running (started &amp;&amp; not paused) </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga730c9359f8069cb2f785501ea763eb43"></a><!-- doxytag: member="miosix::pauseKernel" ref="ga730c9359f8069cb2f785501ea763eb43" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::pauseKernel </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Pause the kernel.<br/>
+Interrupts will continue to occur, but no preemption is possible. Call to this function are cumulative: if you call <a class="el" href="group___kernel.html#ga730c9359f8069cb2f785501ea763eb43">pauseKernel()</a> two times, you need to call <a class="el" href="group___kernel.html#gad3bee49a8dd57a598b7d7aeeeaf8496c">restartKernel()</a> two times.<br/>
+Pausing the kernel must be avoided if possible because it is easy to cause deadlock. Calling file related functions (fopen, <a class="el" href="classmiosix_1_1_directory.html#ab3b8f627404f790ca9e309dd90d4e8a0">Directory::open()</a> ...), serial port related functions (printf ...) or kernel functions that cannot be called when the kernel is paused will cause deadlock. Therefore, if possible, it is better to use a <a class="el" href="classmiosix_1_1_mutex.html">Mutex</a> instead of pausing the kernel<br/>
+This function is safe to be called even before the kernel is started. In this case it has no effect. </p>
+
+</div>
+</div>
+<a class="anchor" id="gad3bee49a8dd57a598b7d7aeeeaf8496c"></a><!-- doxytag: member="miosix::restartKernel" ref="gad3bee49a8dd57a598b7d7aeeeaf8496c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::restartKernel </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Restart the kernel.<br/>
+This function will yield immediately if a tick has been missed. Since calls to <a class="el" href="group___kernel.html#ga730c9359f8069cb2f785501ea763eb43">pauseKernel()</a> are cumulative, if you call <a class="el" href="group___kernel.html#ga730c9359f8069cb2f785501ea763eb43">pauseKernel()</a> two times, you need to call <a class="el" href="group___kernel.html#gad3bee49a8dd57a598b7d7aeeeaf8496c">restartKernel()</a> two times.<br/>
+ This function is safe to be called even before the kernel is started. In this case it has no effect. </p>
+
+</div>
+</div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/group___settings.html b/miosix/_doc/doxygen/html/group___settings.html
new file mode 100644
index 0000000000000000000000000000000000000000..e3275667433ac6af054cbd2ea595090f8de751ea
--- /dev/null
+++ b/miosix/_doc/doxygen/html/group___settings.html
@@ -0,0 +1,235 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Settings</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#define-members">Defines</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<h1>Settings</h1>  </div>
+</div>
+<div class="contents">
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga2acdc2f0df96cf6cbc35f7fd78ddb70d">SCHED_TYPE_PRIORITY</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga18c8e73660707ad40a2ee8590f35db68">SCHED_TYPE_CONTROL_BASED</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#gaca4195a7b3efe86d766d5fbf6db64aa0">SCHED_TYPE_EDF</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga35c68f7b13770080cccce5baafc24a30">WITH_FILESYSTEM</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga7f95cdeac372c6633422b100d6b15bba">SYNC_AFTER_WRITE</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#gaad46faddaac4a765531e05ab44c52a3e">WITH_STDIN_BUFFER</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga2c6b4dab3da5b7b77fef128e1cd2fa79">WITH_BOOTLOG</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga77cf94725c645792e686ff791e47d703">WITH_ERRLOG</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#gae8275208fa2c8f8bc833fa8bc78ff350">JTAG_DISABLE_SLEEP</a></td></tr>
+<tr><td colspan="2"><h2><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0ec1a8ab604e6a08eec2994d436346f7"></a><!-- doxytag: member="Settings::MAX_OPEN_FILES" ref="ga0ec1a8ab604e6a08eec2994d436346f7" args="" -->
+const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga0ec1a8ab604e6a08eec2994d436346f7">miosix::MAX_OPEN_FILES</a> = 8</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum number of open files. Trying to open more will fail. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga26c88a1771bb21a80aa22789d16291d1"></a><!-- doxytag: member="Settings::STACK_MIN" ref="ga26c88a1771bb21a80aa22789d16291d1" args="" -->
+const unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga26c88a1771bb21a80aa22789d16291d1">miosix::STACK_MIN</a> = 256</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Minimum stack size (MUST be divisible by 4). <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga466ea8e233d84803e31f3e9d9d978cfd">miosix::STACK_DEFAULT_FOR_PTHREAD</a> = 2048</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const short int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga8c0365b6cd111f990937319e4499962b">miosix::PRIORITY_MAX</a> = 4</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#gad66abb7a060d94617390e1838e4e3b01">miosix::MAIN_PRIORITY</a> = 1</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>If your application requires it, you can change the default settings for kernel and drivers.</p>
+<p>Kernel settings are in miosix/kernel/kernel_settings.h,<br/>
+ while all other settings are in miosix/miosix_settings.h<br/>
+</p>
+<p>Don't forget to rebuild the kernel if you make modifications to these settings. </p>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="gae8275208fa2c8f8bc833fa8bc78ff350"></a><!-- doxytag: member="miosix_settings.h::JTAG_DISABLE_SLEEP" ref="gae8275208fa2c8f8bc833fa8bc78ff350" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define JTAG_DISABLE_SLEEP</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>JTAG debuggers lose communication with the device if it enters sleep mode, so to use debugging it is necessary to disble sleep in the idle thread. By default it is not defined (idle thread calls sleep). </p>
+
+</div>
+</div>
+<a class="anchor" id="ga18c8e73660707ad40a2ee8590f35db68"></a><!-- doxytag: member="miosix_settings.h::SCHED_TYPE_CONTROL_BASED" ref="ga18c8e73660707ad40a2ee8590f35db68" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define SCHED_TYPE_CONTROL_BASED</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>If uncommented selects the control based scheduler </p>
+
+</div>
+</div>
+<a class="anchor" id="gaca4195a7b3efe86d766d5fbf6db64aa0"></a><!-- doxytag: member="miosix_settings.h::SCHED_TYPE_EDF" ref="gaca4195a7b3efe86d766d5fbf6db64aa0" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define SCHED_TYPE_EDF</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>If uncommented selects the EDF scheduler </p>
+
+</div>
+</div>
+<a class="anchor" id="ga2acdc2f0df96cf6cbc35f7fd78ddb70d"></a><!-- doxytag: member="miosix_settings.h::SCHED_TYPE_PRIORITY" ref="ga2acdc2f0df96cf6cbc35f7fd78ddb70d" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define SCHED_TYPE_PRIORITY</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>If uncommented selects the priority scheduler </p>
+
+</div>
+</div>
+<a class="anchor" id="ga7f95cdeac372c6633422b100d6b15bba"></a><!-- doxytag: member="miosix_settings.h::SYNC_AFTER_WRITE" ref="ga7f95cdeac372c6633422b100d6b15bba" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define SYNC_AFTER_WRITE</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Increases filesystem write robustness. After each write operation the filesystem is synced so that a power failure happens data is not lost (unless power failure happens exactly between the write and the sync) Unfortunately write latency and throughput becomes twice as worse By default it is defined (slow but safe) </p>
+
+</div>
+</div>
+<a class="anchor" id="ga2c6b4dab3da5b7b77fef128e1cd2fa79"></a><!-- doxytag: member="miosix_settings.h::WITH_BOOTLOG" ref="ga2c6b4dab3da5b7b77fef128e1cd2fa79" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define WITH_BOOTLOG</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Uncomment to print bootlogs on stdout. By default it is defined (bootlogs are printed) </p>
+
+</div>
+</div>
+<a class="anchor" id="ga77cf94725c645792e686ff791e47d703"></a><!-- doxytag: member="miosix_settings.h::WITH_ERRLOG" ref="ga77cf94725c645792e686ff791e47d703" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define WITH_ERRLOG</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Uncomment for debug information on stdout. By default it is defined (error information is printed) </p>
+
+</div>
+</div>
+<a class="anchor" id="ga35c68f7b13770080cccce5baafc24a30"></a><!-- doxytag: member="miosix_settings.h::WITH_FILESYSTEM" ref="ga35c68f7b13770080cccce5baafc24a30" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define WITH_FILESYSTEM</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Allows to enable/disable filesystem support. By default it is defined (filesystem support is enabled) </p>
+
+</div>
+</div>
+<a class="anchor" id="gaad46faddaac4a765531e05ab44c52a3e"></a><!-- doxytag: member="miosix_settings.h::WITH_STDIN_BUFFER" ref="gaad46faddaac4a765531e05ab44c52a3e" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define WITH_STDIN_BUFFER</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>If defined, incoming data fron the serial port will be buffered prior to being delivered to stdin related functions (scanf, fgets, cin...). Buffer is flushed on newline or when full. This has a behaviour more similar to desktop operating systems but requires 1KB of RAM for the buffer. Despite counterintuitive, if you never use stdin related functions defining WITH_STDIN_BUFFER will reduce code size. By default it is defined (stdin is buffered) </p>
+
+</div>
+</div>
+<hr/><h2>Variable Documentation</h2>
+<a class="anchor" id="gad66abb7a060d94617390e1838e4e3b01"></a><!-- doxytag: member="miosix::MAIN_PRIORITY" ref="gad66abb7a060d94617390e1838e4e3b01" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const unsigned char <a class="el" href="group___settings.html#gad66abb7a060d94617390e1838e4e3b01">miosix::MAIN_PRIORITY</a> = 1</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Priority of main() The meaning of a thread's priority depends on the chosen scheduler. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga8c0365b6cd111f990937319e4499962b"></a><!-- doxytag: member="miosix::PRIORITY_MAX" ref="ga8c0365b6cd111f990937319e4499962b" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const short int <a class="el" href="group___settings.html#ga8c0365b6cd111f990937319e4499962b">miosix::PRIORITY_MAX</a> = 4</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Number of priorities (MUST be &gt;1) PRIORITY_MAX-1 is the highest priority, 0 is the lowest. -1 is reserved as the priority of the idle thread. The meaning of a thread's priority depends on the chosen scheduler. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga466ea8e233d84803e31f3e9d9d978cfd"></a><!-- doxytag: member="miosix::STACK_DEFAULT_FOR_PTHREAD" ref="ga466ea8e233d84803e31f3e9d9d978cfd" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const unsigned int <a class="el" href="group___settings.html#ga466ea8e233d84803e31f3e9d9d978cfd">miosix::STACK_DEFAULT_FOR_PTHREAD</a> = 2048</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Default stack size for pthread_create. The chosen value is enough to call C standard library functions such as printf/fopen which are stack-heavy </p>
+
+</div>
+</div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/group___sync.html b/miosix/_doc/doxygen/html/group___sync.html
new file mode 100644
index 0000000000000000000000000000000000000000..33f68efbece7de6314a6f4cbe9b486eab74f60a9
--- /dev/null
+++ b/miosix/_doc/doxygen/html/group___sync.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Syncronization</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a>  </div>
+  <div class="headertitle">
+<h1>Syncronization</h1>  </div>
+</div>
+<div class="contents">
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_fast_mutex.html">miosix::FastMutex</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_mutex.html">miosix::Mutex</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_lock.html">miosix::Lock&lt; T &gt;</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_unlock.html">miosix::Unlock&lt; T &gt;</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_condition_variable.html">miosix::ConditionVariable</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_timer.html">miosix::Timer</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_queue.html">miosix::Queue&lt; T, len &gt;</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Miosix syncronization API</p>
+<p>Miosix provides the <a class="el" href="classmiosix_1_1_mutex.html">Mutex</a> class to guard critical sections,<br/>
+ the <a class="el" href="classmiosix_1_1_condition_variable.html">ConditionVariable</a> class for thread synchronization,<br/>
+ the <a class="el" href="classmiosix_1_1_queue.html">Queue</a> class to transfer data between threads,<br/>
+ and the <a class="el" href="classmiosix_1_1_timer.html">Timer</a> class to measure time intervals. </p>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/group___util.html b/miosix/_doc/doxygen/html/group___util.html
new file mode 100644
index 0000000000000000000000000000000000000000..03b808a8735717f6b8720b5dc987909fb9c747c2
--- /dev/null
+++ b/miosix/_doc/doxygen/html/group___util.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Utilities</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Utilities</h1>  </div>
+</div>
+<div class="contents">
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_memory_profiling.html">miosix::MemoryProfiling</a></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___util.html#gaa01c92389801f7962a0bd9f0bfc03a66">miosix::memDump</a> (char *start, int len)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___util.html#gadc3015d9be3c5eb12fe691ca0ca9251b">miosix::getMiosixVersion</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Some utilities functions.</p>
+<p>The most notable ones are the utilities for memory profiling, grouped in the <a class="el" href="classmiosix_1_1_memory_profiling.html">MemoryProfiling</a> class. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gadc3015d9be3c5eb12fe691ca0ca9251b"></a><!-- doxytag: member="miosix::getMiosixVersion" ref="gadc3015d9be3c5eb12fe691ca0ca9251b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char * miosix::getMiosixVersion </td>
+          <td>(</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Allows to know the version of the kernel at runtime. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>a string with the kernel version. The format is "Miosix vX.XX (board, builddate, compiler)" where vX.XX is the kernel version number, like "v1.59" board is the board name, like "stm32f103ze_stm3210e-eval" builddate is the date the kernel was built, like "Oct 30 2011 00:58:10" compiler is the compiler version, like "gcc 4.5.2" </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa01c92389801f7962a0bd9f0bfc03a66"></a><!-- doxytag: member="miosix::memDump" ref="gaa01c92389801f7962a0bd9f0bfc03a66" args="(char *start, int len)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::memDump </td>
+          <td>(</td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>start</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>dump a memory area in this format 0x00000000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>start</em>&nbsp;</td><td>pointer to beginning of memory block to dump </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>length of memory block to dump </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/index.html b/miosix/_doc/doxygen/html/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..2d10eb62960a1c2533f375896206234e35e91c50
--- /dev/null
+++ b/miosix/_doc/doxygen/html/index.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix</title>
+</head>
+<frameset cols="250,*">
+  <frame src="tree.html" name="treefrm"/>
+  <frame src="main.html" name="basefrm"/>
+  <noframes>
+    <body>
+    <a href="main.html">Frames are disabled. Click here to go to the main page.</a>
+    </body>
+  </noframes>
+</frameset>
+</html>
diff --git a/miosix/_doc/doxygen/html/main.html b/miosix/_doc/doxygen/html/main.html
new file mode 100644
index 0000000000000000000000000000000000000000..27a16ab8191c8b5e97bff77a1e55cb20a12f1dce
--- /dev/null
+++ b/miosix/_doc/doxygen/html/main.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Miosix embedded OS</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li class="current"><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>Miosix embedded OS </h1>  </div>
+</div>
+<div class="contents">
+<h3 class="version">1.59 </h3><dl class="author"><dt><b>Author:</b></dt><dd>Terraneo Federico</dd></dl>
+<p>This is the documentation of Miosix, a kernel designed for embedded systems. </p>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/miosix__settings_8h.html b/miosix/_doc/doxygen/html/miosix__settings_8h.html
new file mode 100644
index 0000000000000000000000000000000000000000..1e47b3d3c253de2c48c419a567cc7453450b10c6
--- /dev/null
+++ b/miosix/_doc/doxygen/html/miosix__settings_8h.html
@@ -0,0 +1,73 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix_settings.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#define-members">Defines</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<h1>miosix_settings.h File Reference</h1>  </div>
+</div>
+<div class="contents">
+<code>#include &quot;arch_settings.h&quot;</code><br/>
+<code>#include &quot;board_settings.h&quot;</code><br/>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemiosix.html">miosix</a></td></tr>
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga2acdc2f0df96cf6cbc35f7fd78ddb70d">SCHED_TYPE_PRIORITY</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga18c8e73660707ad40a2ee8590f35db68">SCHED_TYPE_CONTROL_BASED</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#gaca4195a7b3efe86d766d5fbf6db64aa0">SCHED_TYPE_EDF</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga35c68f7b13770080cccce5baafc24a30">WITH_FILESYSTEM</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga7f95cdeac372c6633422b100d6b15bba">SYNC_AFTER_WRITE</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#gaad46faddaac4a765531e05ab44c52a3e">WITH_STDIN_BUFFER</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga2c6b4dab3da5b7b77fef128e1cd2fa79">WITH_BOOTLOG</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga77cf94725c645792e686ff791e47d703">WITH_ERRLOG</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#gae8275208fa2c8f8bc833fa8bc78ff350">JTAG_DISABLE_SLEEP</a></td></tr>
+<tr><td colspan="2"><h2><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0ec1a8ab604e6a08eec2994d436346f7"></a><!-- doxytag: member="miosix_settings.h::MAX_OPEN_FILES" ref="ga0ec1a8ab604e6a08eec2994d436346f7" args="" -->
+const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga0ec1a8ab604e6a08eec2994d436346f7">miosix::MAX_OPEN_FILES</a> = 8</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum number of open files. Trying to open more will fail. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga26c88a1771bb21a80aa22789d16291d1"></a><!-- doxytag: member="miosix_settings.h::STACK_MIN" ref="ga26c88a1771bb21a80aa22789d16291d1" args="" -->
+const unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga26c88a1771bb21a80aa22789d16291d1">miosix::STACK_MIN</a> = 256</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Minimum stack size (MUST be divisible by 4). <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga466ea8e233d84803e31f3e9d9d978cfd">miosix::STACK_DEFAULT_FOR_PTHREAD</a> = 2048</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const short int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga8c0365b6cd111f990937319e4499962b">miosix::PRIORITY_MAX</a> = 4</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#gad66abb7a060d94617390e1838e4e3b01">miosix::MAIN_PRIORITY</a> = 1</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>NOTE: this file contains ONLY configuration options that are not dependent on architecture specific details. The other options are in the following files which are included here: miosix/arch/architecture name/common/arch_settings.h miosix/arch/architecture name/board name/board_settings.h </p>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/modules.html b/miosix/_doc/doxygen/html/modules.html
new file mode 100644
index 0000000000000000000000000000000000000000..a6c0f989bde98d99274edf4d511d403496240e9a
--- /dev/null
+++ b/miosix/_doc/doxygen/html/modules.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Module Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li class="current"><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>Modules</h1>  </div>
+</div>
+<div class="contents">
+Here is a list of all modules:<ul>
+<li><a class="el" href="group___kernel.html">Kernel</a></li>
+<li><a class="el" href="group___sync.html">Syncronization</a></li>
+<li><a class="el" href="group___interfaces.html">Interfaces</a></li>
+<li><a class="el" href="group___hardware.html">Hardware</a></li>
+<li><a class="el" href="group___filesystem.html">Filesystem</a></li>
+<li><a class="el" href="group___drivers.html">Drivers</a></li>
+<li><a class="el" href="group___util.html">Utilities</a></li>
+<li><a class="el" href="group___settings.html">Settings</a></li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/namespacemembers.html b/miosix/_doc/doxygen/html/namespacemembers.html
new file mode 100644
index 0000000000000000000000000000000000000000..87b8c5934439f9156faa6c87ec7c8dfa7d91f21f
--- /dev/null
+++ b/miosix/_doc/doxygen/html/namespacemembers.html
@@ -0,0 +1,278 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
+      <li class="current"><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="namespacemembers.html"><span>All</span></a></li>
+      <li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
+      <li><a href="namespacemembers_vars.html"><span>Variables</span></a></li>
+      <li><a href="namespacemembers_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index_a"><span>a</span></a></li>
+      <li><a href="#index_b"><span>b</span></a></li>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_d"><span>d</span></a></li>
+      <li><a href="#index_e"><span>e</span></a></li>
+      <li><a href="#index_f"><span>f</span></a></li>
+      <li><a href="#index_g"><span>g</span></a></li>
+      <li><a href="#index_h"><span>h</span></a></li>
+      <li><a href="#index_i"><span>i</span></a></li>
+      <li><a href="#index_k"><span>k</span></a></li>
+      <li><a href="#index_m"><span>m</span></a></li>
+      <li><a href="#index_n"><span>n</span></a></li>
+      <li><a href="#index_o"><span>o</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+      <li><a href="#index_u"><span>u</span></a></li>
+      <li><a href="#index_v"><span>v</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+Here is a list of all documented namespace members with links to the namespaces they belong to:
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>ARCHIVE
+: <a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845ab608cfd1ce6c8c0f131a6cfe5edb36d4">miosix</a>
+</li>
+<li>areInterruptsEnabled()
+: <a class="el" href="group___kernel.html#gacabb0637ded36778470fa27eea329d84">miosix</a>
+</li>
+<li>Attrib
+: <a class="el" href="group___filesystem.html#ga9fab0d0eb30aba32bb0c6ca21d72c845">miosix</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>bootlog()
+: <a class="el" href="namespacemiosix.html#a0e2bf0d427fe1eb214692830e46fb209">miosix</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>crc16()
+: <a class="el" href="namespacemiosix.html#a9e8a0090904ff275d38d22f26919ff69">miosix</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>delayMs()
+: <a class="el" href="group___interfaces.html#ga9d13aceddc0481fd1077e6fdfb31f9a7">miosix</a>
+</li>
+<li>delayUs()
+: <a class="el" href="group___interfaces.html#ga244f9474d20ffd5d905855f68aa3114f">miosix</a>
+</li>
+<li>DIRECTORY
+: <a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845a1dee5448b32ceee464cfd092b991de86">miosix</a>
+</li>
+<li>DISABLE_INTERRUPTS_NESTING
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a7b868b4e1fd949857af27acacd2f9cbb">miosix</a>
+</li>
+<li>disableInterrupts()
+: <a class="el" href="group___kernel.html#gacd7ef6e968c5c0b2ff45bf102388ea4d">miosix</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>enableInterrupts()
+: <a class="el" href="group___kernel.html#ga36adaaa176d004747d2a01b822c9fea5">miosix</a>
+</li>
+<li>Error
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8">miosix</a>
+</li>
+<li>errorHandler()
+: <a class="el" href="namespacemiosix.html#aecda173e5927720cd233599817c5da23">miosix</a>
+</li>
+<li>errorLog()
+: <a class="el" href="namespacemiosix.html#ac57cb5a3e83dc0c859161bc4aa04d591">miosix</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>fastDisableInterrupts()
+: <a class="el" href="group___kernel.html#gaeeacb47660439066bb1d787593da9f4e">miosix</a>
+</li>
+<li>fastEnableInterrupts()
+: <a class="el" href="group___kernel.html#ga882229b6c936a87454cb154a90751927">miosix</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
+<li>getMiosixVersion()
+: <a class="el" href="group___util.html#gadc3015d9be3c5eb12fe691ca0ca9251b">miosix</a>
+</li>
+<li>getTick()
+: <a class="el" href="group___kernel.html#gad16c495ced6659e8bc0bb371362674ef">miosix</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
+<li>HIDDEN
+: <a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845a18d657bc5127e6fe6d0e3b1ede96ff43">miosix</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>INTERRUPTS_ENABLED_AT_BOOT
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8ac5c5ef56383e34096e518226d8898f53">miosix</a>
+</li>
+<li>INVALID_PARAMETERS
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8af0fb70dd25fac18136ea28f9c0286b65">miosix</a>
+</li>
+<li>IRQbootlog()
+: <a class="el" href="namespacemiosix.html#a77703dfc8874c826975fa54f79e7a3e5">miosix</a>
+</li>
+<li>IRQerrorLog()
+: <a class="el" href="namespacemiosix.html#afa3e31f3fb49abc777a10380ca9ffe19">miosix</a>
+</li>
+<li>isKernelRunning()
+: <a class="el" href="group___kernel.html#gaabdbf06e8cf514d3113325a01927ccf5">miosix</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
+<li>kpi
+: <a class="el" href="namespacemiosix.html#ab26854f238450057e4b1eb3687ac4f88">miosix</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>MAIN_PRIORITY
+: <a class="el" href="group___settings.html#gad66abb7a060d94617390e1838e4e3b01">miosix</a>
+</li>
+<li>MAX_OPEN_FILES
+: <a class="el" href="group___settings.html#ga0ec1a8ab604e6a08eec2994d436346f7">miosix</a>
+</li>
+<li>memDump()
+: <a class="el" href="group___util.html#gaa01c92389801f7962a0bd9f0bfc03a66">miosix</a>
+</li>
+<li>multFactor
+: <a class="el" href="namespacemiosix.html#ac4774f319395e90899e2aa549444495b">miosix</a>
+</li>
+<li>MUTEX_DEADLOCK
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a19d15bb3cd3dd524578bc258113a95ea">miosix</a>
+</li>
+<li>MUTEX_UNLOCK_NOT_OWNER
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a9bb07c35ec33e49234a73ea04f49e5e8">miosix</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>NESTING_OVERFLOW
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8acfa2dba3f5a797e00a49aecb3385dcd6">miosix</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>OUT_OF_MEMORY
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a4a9ecbff543a923809f4a669f5a2ff18">miosix</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>PAUSE_KERNEL_NESTING
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8aba75de60056149f80f47ed9b2249fdf2">miosix</a>
+</li>
+<li>pauseKernel()
+: <a class="el" href="group___kernel.html#ga730c9359f8069cb2f785501ea763eb43">miosix</a>
+</li>
+<li>PRIORITY_MAX
+: <a class="el" href="group___settings.html#ga8c0365b6cd111f990937319e4499962b">miosix</a>
+</li>
+<li>PROPAGATED_EXCEPTION
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a05e4098f64c514996a071e09d3f030ec">miosix</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>READ_ONLY
+: <a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845a12e947f8f047d273e068bde84dc756ae">miosix</a>
+</li>
+<li>reboot()
+: <a class="el" href="group___interfaces.html#ga6f70fdbc3b5d6afa41b5dbc5272cc6a0">miosix</a>
+</li>
+<li>restartKernel()
+: <a class="el" href="group___kernel.html#gad3bee49a8dd57a598b7d7aeeeaf8496c">miosix</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>shutdown()
+: <a class="el" href="group___interfaces.html#gae0495cbfc806a0db0cdf2ff023945516">miosix</a>
+</li>
+<li>STACK_DEFAULT_FOR_PTHREAD
+: <a class="el" href="group___settings.html#ga466ea8e233d84803e31f3e9d9d978cfd">miosix</a>
+</li>
+<li>STACK_MIN
+: <a class="el" href="group___settings.html#ga26c88a1771bb21a80aa22789d16291d1">miosix</a>
+</li>
+<li>STACK_OVERFLOW
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a772bd51dfe3b2db17e618c589e55e3b8">miosix</a>
+</li>
+<li>SYSTEM
+: <a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845aafe01ea46399c95c49849a481b3ac6c9">miosix</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
+<li>UNEXPECTED
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a047868d81b859f0eda3d4a172900e4d6">miosix</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
+<li>VOLUME_ID
+: <a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845a70a8eaf83cbb7e00925d35382689d59d">miosix</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/namespacemembers_enum.html b/miosix/_doc/doxygen/html/namespacemembers_enum.html
new file mode 100644
index 0000000000000000000000000000000000000000..2d95f329819f4bbc412cbacc5fab555ecba78883
--- /dev/null
+++ b/miosix/_doc/doxygen/html/namespacemembers_enum.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
+      <li class="current"><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespacemembers.html"><span>All</span></a></li>
+      <li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
+      <li><a href="namespacemembers_vars.html"><span>Variables</span></a></li>
+      <li class="current"><a href="namespacemembers_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>Attrib
+: <a class="el" href="group___filesystem.html#ga9fab0d0eb30aba32bb0c6ca21d72c845">miosix</a>
+</li>
+<li>Error
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8">miosix</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/namespacemembers_eval.html b/miosix/_doc/doxygen/html/namespacemembers_eval.html
new file mode 100644
index 0000000000000000000000000000000000000000..2acef3036e2cb9f1e77d6ba919976728e45bbb6f
--- /dev/null
+++ b/miosix/_doc/doxygen/html/namespacemembers_eval.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
+      <li class="current"><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespacemembers.html"><span>All</span></a></li>
+      <li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
+      <li><a href="namespacemembers_vars.html"><span>Variables</span></a></li>
+      <li><a href="namespacemembers_enum.html"><span>Enumerations</span></a></li>
+      <li class="current"><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>ARCHIVE
+: <a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845ab608cfd1ce6c8c0f131a6cfe5edb36d4">miosix</a>
+</li>
+<li>DIRECTORY
+: <a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845a1dee5448b32ceee464cfd092b991de86">miosix</a>
+</li>
+<li>DISABLE_INTERRUPTS_NESTING
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a7b868b4e1fd949857af27acacd2f9cbb">miosix</a>
+</li>
+<li>HIDDEN
+: <a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845a18d657bc5127e6fe6d0e3b1ede96ff43">miosix</a>
+</li>
+<li>INTERRUPTS_ENABLED_AT_BOOT
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8ac5c5ef56383e34096e518226d8898f53">miosix</a>
+</li>
+<li>INVALID_PARAMETERS
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8af0fb70dd25fac18136ea28f9c0286b65">miosix</a>
+</li>
+<li>MUTEX_DEADLOCK
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a19d15bb3cd3dd524578bc258113a95ea">miosix</a>
+</li>
+<li>MUTEX_UNLOCK_NOT_OWNER
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a9bb07c35ec33e49234a73ea04f49e5e8">miosix</a>
+</li>
+<li>NESTING_OVERFLOW
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8acfa2dba3f5a797e00a49aecb3385dcd6">miosix</a>
+</li>
+<li>OUT_OF_MEMORY
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a4a9ecbff543a923809f4a669f5a2ff18">miosix</a>
+</li>
+<li>PAUSE_KERNEL_NESTING
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8aba75de60056149f80f47ed9b2249fdf2">miosix</a>
+</li>
+<li>PROPAGATED_EXCEPTION
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a05e4098f64c514996a071e09d3f030ec">miosix</a>
+</li>
+<li>READ_ONLY
+: <a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845a12e947f8f047d273e068bde84dc756ae">miosix</a>
+</li>
+<li>STACK_OVERFLOW
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a772bd51dfe3b2db17e618c589e55e3b8">miosix</a>
+</li>
+<li>SYSTEM
+: <a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845aafe01ea46399c95c49849a481b3ac6c9">miosix</a>
+</li>
+<li>UNEXPECTED
+: <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a047868d81b859f0eda3d4a172900e4d6">miosix</a>
+</li>
+<li>VOLUME_ID
+: <a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845a70a8eaf83cbb7e00925d35382689d59d">miosix</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/namespacemembers_func.html b/miosix/_doc/doxygen/html/namespacemembers_func.html
new file mode 100644
index 0000000000000000000000000000000000000000..aab245622be647c5ce037c23e9e527aa1ad67757
--- /dev/null
+++ b/miosix/_doc/doxygen/html/namespacemembers_func.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
+      <li class="current"><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespacemembers.html"><span>All</span></a></li>
+      <li class="current"><a href="namespacemembers_func.html"><span>Functions</span></a></li>
+      <li><a href="namespacemembers_vars.html"><span>Variables</span></a></li>
+      <li><a href="namespacemembers_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>areInterruptsEnabled()
+: <a class="el" href="group___kernel.html#gacabb0637ded36778470fa27eea329d84">miosix</a>
+</li>
+<li>bootlog()
+: <a class="el" href="namespacemiosix.html#a0e2bf0d427fe1eb214692830e46fb209">miosix</a>
+</li>
+<li>crc16()
+: <a class="el" href="namespacemiosix.html#a9e8a0090904ff275d38d22f26919ff69">miosix</a>
+</li>
+<li>delayMs()
+: <a class="el" href="group___interfaces.html#ga9d13aceddc0481fd1077e6fdfb31f9a7">miosix</a>
+</li>
+<li>delayUs()
+: <a class="el" href="group___interfaces.html#ga244f9474d20ffd5d905855f68aa3114f">miosix</a>
+</li>
+<li>disableInterrupts()
+: <a class="el" href="group___kernel.html#gacd7ef6e968c5c0b2ff45bf102388ea4d">miosix</a>
+</li>
+<li>enableInterrupts()
+: <a class="el" href="group___kernel.html#ga36adaaa176d004747d2a01b822c9fea5">miosix</a>
+</li>
+<li>errorHandler()
+: <a class="el" href="namespacemiosix.html#aecda173e5927720cd233599817c5da23">miosix</a>
+</li>
+<li>errorLog()
+: <a class="el" href="namespacemiosix.html#ac57cb5a3e83dc0c859161bc4aa04d591">miosix</a>
+</li>
+<li>fastDisableInterrupts()
+: <a class="el" href="group___kernel.html#gaeeacb47660439066bb1d787593da9f4e">miosix</a>
+</li>
+<li>fastEnableInterrupts()
+: <a class="el" href="group___kernel.html#ga882229b6c936a87454cb154a90751927">miosix</a>
+</li>
+<li>getMiosixVersion()
+: <a class="el" href="group___util.html#gadc3015d9be3c5eb12fe691ca0ca9251b">miosix</a>
+</li>
+<li>getTick()
+: <a class="el" href="group___kernel.html#gad16c495ced6659e8bc0bb371362674ef">miosix</a>
+</li>
+<li>IRQbootlog()
+: <a class="el" href="namespacemiosix.html#a77703dfc8874c826975fa54f79e7a3e5">miosix</a>
+</li>
+<li>IRQerrorLog()
+: <a class="el" href="namespacemiosix.html#afa3e31f3fb49abc777a10380ca9ffe19">miosix</a>
+</li>
+<li>isKernelRunning()
+: <a class="el" href="group___kernel.html#gaabdbf06e8cf514d3113325a01927ccf5">miosix</a>
+</li>
+<li>memDump()
+: <a class="el" href="group___util.html#gaa01c92389801f7962a0bd9f0bfc03a66">miosix</a>
+</li>
+<li>pauseKernel()
+: <a class="el" href="group___kernel.html#ga730c9359f8069cb2f785501ea763eb43">miosix</a>
+</li>
+<li>reboot()
+: <a class="el" href="group___interfaces.html#ga6f70fdbc3b5d6afa41b5dbc5272cc6a0">miosix</a>
+</li>
+<li>restartKernel()
+: <a class="el" href="group___kernel.html#gad3bee49a8dd57a598b7d7aeeeaf8496c">miosix</a>
+</li>
+<li>shutdown()
+: <a class="el" href="group___interfaces.html#gae0495cbfc806a0db0cdf2ff023945516">miosix</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/namespacemembers_vars.html b/miosix/_doc/doxygen/html/namespacemembers_vars.html
new file mode 100644
index 0000000000000000000000000000000000000000..4e56b3fd6dba014892b5aa00f4381cf72efcc022
--- /dev/null
+++ b/miosix/_doc/doxygen/html/namespacemembers_vars.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
+      <li class="current"><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespacemembers.html"><span>All</span></a></li>
+      <li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
+      <li class="current"><a href="namespacemembers_vars.html"><span>Variables</span></a></li>
+      <li><a href="namespacemembers_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>kpi
+: <a class="el" href="namespacemiosix.html#ab26854f238450057e4b1eb3687ac4f88">miosix</a>
+</li>
+<li>MAIN_PRIORITY
+: <a class="el" href="group___settings.html#gad66abb7a060d94617390e1838e4e3b01">miosix</a>
+</li>
+<li>MAX_OPEN_FILES
+: <a class="el" href="group___settings.html#ga0ec1a8ab604e6a08eec2994d436346f7">miosix</a>
+</li>
+<li>multFactor
+: <a class="el" href="namespacemiosix.html#ac4774f319395e90899e2aa549444495b">miosix</a>
+</li>
+<li>PRIORITY_MAX
+: <a class="el" href="group___settings.html#ga8c0365b6cd111f990937319e4499962b">miosix</a>
+</li>
+<li>STACK_DEFAULT_FOR_PTHREAD
+: <a class="el" href="group___settings.html#ga466ea8e233d84803e31f3e9d9d978cfd">miosix</a>
+</li>
+<li>STACK_MIN
+: <a class="el" href="group___settings.html#ga26c88a1771bb21a80aa22789d16291d1">miosix</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/namespacemiosix.html b/miosix/_doc/doxygen/html/namespacemiosix.html
new file mode 100644
index 0000000000000000000000000000000000000000..0620bf31f785b9c8d2508920db56689c7d0c0b0d
--- /dev/null
+++ b/miosix/_doc/doxygen/html/namespacemiosix.html
@@ -0,0 +1,389 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix Namespace Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
+      <li><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<h1>miosix Namespace Reference</h1>  </div>
+</div>
+<div class="contents">
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_console.html">Console</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_filesystem.html">Filesystem</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_directory.html">Directory</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_interrupt_disable_lock.html">InterruptDisableLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_interrupt_enable_lock.html">InterruptEnableLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html">FastInterruptDisableLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_fast_interrupt_enable_lock.html">FastInterruptEnableLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_pause_kernel_lock.html">PauseKernelLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_restart_kernel_lock.html">RestartKernelLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_thread.html">Thread</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_lower_priority.html">LowerPriority</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_control_scheduler_priority.html">ControlSchedulerPriority</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html">EDFSchedulerPriority</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html">PrioritySchedulerPriority</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_fast_mutex.html">FastMutex</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_mutex.html">Mutex</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_lock.html">Lock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_unlock.html">Unlock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_condition_variable.html">ConditionVariable</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_timer.html">Timer</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_queue.html">Queue</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_exception_handling_data.html">ExceptionHandlingData</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_software_i2_c.html">SoftwareI2C</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_software_s_p_i.html">SoftwareSPI</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix_1_1_memory_profiling.html">MemoryProfiling</a></td></tr>
+<tr><td colspan="2"><h2><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8">Error</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8af0fb70dd25fac18136ea28f9c0286b65">INVALID_PARAMETERS</a>, 
+<a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a4a9ecbff543a923809f4a669f5a2ff18">OUT_OF_MEMORY</a>, 
+<a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a772bd51dfe3b2db17e618c589e55e3b8">STACK_OVERFLOW</a>, 
+<a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a047868d81b859f0eda3d4a172900e4d6">UNEXPECTED</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8aba75de60056149f80f47ed9b2249fdf2">PAUSE_KERNEL_NESTING</a>, 
+<a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a7b868b4e1fd949857af27acacd2f9cbb">DISABLE_INTERRUPTS_NESTING</a>, 
+<a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a19d15bb3cd3dd524578bc258113a95ea">MUTEX_DEADLOCK</a>, 
+<a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a9bb07c35ec33e49234a73ea04f49e5e8">MUTEX_UNLOCK_NOT_OWNER</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8acfa2dba3f5a797e00a49aecb3385dcd6">NESTING_OVERFLOW</a>, 
+<a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8a05e4098f64c514996a071e09d3f030ec">PROPAGATED_EXCEPTION</a>, 
+<a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8ac5c5ef56383e34096e518226d8898f53">INTERRUPTS_ENABLED_AT_BOOT</a>
+<br/>
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___filesystem.html#ga9fab0d0eb30aba32bb0c6ca21d72c845">Attrib</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845a12e947f8f047d273e068bde84dc756ae">READ_ONLY</a> =  0x01, 
+<a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845a18d657bc5127e6fe6d0e3b1ede96ff43">HIDDEN</a> =  0x02, 
+<a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845aafe01ea46399c95c49849a481b3ac6c9">SYSTEM</a> =  0x04, 
+<a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845a70a8eaf83cbb7e00925d35382689d59d">VOLUME_ID</a> =  0x08, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845a1dee5448b32ceee464cfd092b991de86">DIRECTORY</a> =  0x10, 
+<a class="el" href="group___filesystem.html#gga9fab0d0eb30aba32bb0c6ca21d72c845ab608cfd1ce6c8c0f131a6cfe5edb36d4">ARCHIVE</a> =  0x20
+<br/>
+ }</td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#gae0495cbfc806a0db0cdf2ff023945516">shutdown</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga6f70fdbc3b5d6afa41b5dbc5272cc6a0">reboot</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga9d13aceddc0481fd1077e6fdfb31f9a7">delayMs</a> (unsigned int mseconds)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___interfaces.html#ga244f9474d20ffd5d905855f68aa3114f">delayUs</a> (unsigned int useconds)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemiosix.html#aecda173e5927720cd233599817c5da23">errorHandler</a> (<a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8">Error</a> e)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___kernel.html#gacd7ef6e968c5c0b2ff45bf102388ea4d">disableInterrupts</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___kernel.html#ga36adaaa176d004747d2a01b822c9fea5">enableInterrupts</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___kernel.html#ga730c9359f8069cb2f785501ea763eb43">pauseKernel</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___kernel.html#gad3bee49a8dd57a598b7d7aeeeaf8496c">restartKernel</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___kernel.html#gacabb0637ded36778470fa27eea329d84">areInterruptsEnabled</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___kernel.html#gaabdbf06e8cf514d3113325a01927ccf5">isKernelRunning</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">long long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___kernel.html#gad16c495ced6659e8bc0bb371362674ef">getTick</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___kernel.html#gaeeacb47660439066bb1d787593da9f4e">fastDisableInterrupts</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___kernel.html#ga882229b6c936a87454cb154a90751927">fastEnableInterrupts</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemiosix.html#a0e2bf0d427fe1eb214692830e46fb209">bootlog</a> (const char *string)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemiosix.html#a77703dfc8874c826975fa54f79e7a3e5">IRQbootlog</a> (const char *string)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemiosix.html#ac57cb5a3e83dc0c859161bc4aa04d591">errorLog</a> (const char *string)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemiosix.html#afa3e31f3fb49abc777a10380ca9ffe19">IRQerrorLog</a> (const char *string)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemiosix.html#a9e8a0090904ff275d38d22f26919ff69">crc16</a> (unsigned char *message, unsigned int length)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___util.html#gaa01c92389801f7962a0bd9f0bfc03a66">memDump</a> (char *start, int len)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___util.html#gadc3015d9be3c5eb12fe691ca0ca9251b">getMiosixVersion</a> ()</td></tr>
+<tr><td colspan="2"><h2><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0ec1a8ab604e6a08eec2994d436346f7"></a><!-- doxytag: member="miosix::MAX_OPEN_FILES" ref="ga0ec1a8ab604e6a08eec2994d436346f7" args="" -->
+const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga0ec1a8ab604e6a08eec2994d436346f7">MAX_OPEN_FILES</a> = 8</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum number of open files. Trying to open more will fail. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga26c88a1771bb21a80aa22789d16291d1"></a><!-- doxytag: member="miosix::STACK_MIN" ref="ga26c88a1771bb21a80aa22789d16291d1" args="" -->
+const unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga26c88a1771bb21a80aa22789d16291d1">STACK_MIN</a> = 256</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Minimum stack size (MUST be divisible by 4). <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga466ea8e233d84803e31f3e9d9d978cfd">STACK_DEFAULT_FOR_PTHREAD</a> = 2048</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const short int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#ga8c0365b6cd111f990937319e4499962b">PRIORITY_MAX</a> = 4</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___settings.html#gad66abb7a060d94617390e1838e4e3b01">MAIN_PRIORITY</a> = 1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemiosix.html#ab26854f238450057e4b1eb3687ac4f88">kpi</a> = 0.5</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemiosix.html#ac4774f319395e90899e2aa549444495b">multFactor</a> = static_cast&lt;int&gt;(1.0f/kpi)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>All user available kernel functions, classes are inside this namespace. </p>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="ac0146189e7df18439dc2f4103f07cfe8"></a><!-- doxytag: member="miosix::Error" ref="ac0146189e7df18439dc2f4103f07cfe8" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="namespacemiosix.html#ac0146189e7df18439dc2f4103f07cfe8">miosix::Error</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>This enum will be passed as argument to the error handler.<br/>
+ If the error is marked UNRECOVERABLE, then the error handler will not return. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ac0146189e7df18439dc2f4103f07cfe8af0fb70dd25fac18136ea28f9c0286b65"></a><!-- doxytag: member="INVALID_PARAMETERS" ref="ac0146189e7df18439dc2f4103f07cfe8af0fb70dd25fac18136ea28f9c0286b65" args="" -->INVALID_PARAMETERS</em>&nbsp;</td><td>
+<p>A function/method was called with invalid parameters.<br/>
+ Error is recoverable. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac0146189e7df18439dc2f4103f07cfe8a4a9ecbff543a923809f4a669f5a2ff18"></a><!-- doxytag: member="OUT_OF_MEMORY" ref="ac0146189e7df18439dc2f4103f07cfe8a4a9ecbff543a923809f4a669f5a2ff18" args="" -->OUT_OF_MEMORY</em>&nbsp;</td><td>
+<p>The heap is full, malloc/new returned NULL.<br/>
+ Whether error is recoverable is architecture specific. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac0146189e7df18439dc2f4103f07cfe8a772bd51dfe3b2db17e618c589e55e3b8"></a><!-- doxytag: member="STACK_OVERFLOW" ref="ac0146189e7df18439dc2f4103f07cfe8a772bd51dfe3b2db17e618c589e55e3b8" args="" -->STACK_OVERFLOW</em>&nbsp;</td><td>
+<p>The stack of a thread overflowed.<br/>
+Error is UNRECOVERABLE. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac0146189e7df18439dc2f4103f07cfe8a047868d81b859f0eda3d4a172900e4d6"></a><!-- doxytag: member="UNEXPECTED" ref="ac0146189e7df18439dc2f4103f07cfe8a047868d81b859f0eda3d4a172900e4d6" args="" -->UNEXPECTED</em>&nbsp;</td><td>
+<p>Unexpected error occurred.<br/>
+Error is UNRECOVERABLE. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac0146189e7df18439dc2f4103f07cfe8aba75de60056149f80f47ed9b2249fdf2"></a><!-- doxytag: member="PAUSE_KERNEL_NESTING" ref="ac0146189e7df18439dc2f4103f07cfe8aba75de60056149f80f47ed9b2249fdf2" args="" -->PAUSE_KERNEL_NESTING</em>&nbsp;</td><td>
+<p>A call to restartKernel that does not match a previous call to pauseKernel<br/>
+Error is UNRECOVERABLE </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac0146189e7df18439dc2f4103f07cfe8a7b868b4e1fd949857af27acacd2f9cbb"></a><!-- doxytag: member="DISABLE_INTERRUPTS_NESTING" ref="ac0146189e7df18439dc2f4103f07cfe8a7b868b4e1fd949857af27acacd2f9cbb" args="" -->DISABLE_INTERRUPTS_NESTING</em>&nbsp;</td><td>
+<p>A call to enableInterrupts that does not match a previous call to disableInterrupts<br/>
+Error is UNRECOVERABLE </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac0146189e7df18439dc2f4103f07cfe8a19d15bb3cd3dd524578bc258113a95ea"></a><!-- doxytag: member="MUTEX_DEADLOCK" ref="ac0146189e7df18439dc2f4103f07cfe8a19d15bb3cd3dd524578bc258113a95ea" args="" -->MUTEX_DEADLOCK</em>&nbsp;</td><td>
+<p>An attempt to lock twice a non recursive mutex happened.<br/>
+ Error is UNRECOVERABLE </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac0146189e7df18439dc2f4103f07cfe8a9bb07c35ec33e49234a73ea04f49e5e8"></a><!-- doxytag: member="MUTEX_UNLOCK_NOT_OWNER" ref="ac0146189e7df18439dc2f4103f07cfe8a9bb07c35ec33e49234a73ea04f49e5e8" args="" -->MUTEX_UNLOCK_NOT_OWNER</em>&nbsp;</td><td>
+<p>An attempt to call unlock() on a mutex without first calling lock has been detected. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac0146189e7df18439dc2f4103f07cfe8acfa2dba3f5a797e00a49aecb3385dcd6"></a><!-- doxytag: member="NESTING_OVERFLOW" ref="ac0146189e7df18439dc2f4103f07cfe8acfa2dba3f5a797e00a49aecb3385dcd6" args="" -->NESTING_OVERFLOW</em>&nbsp;</td><td>
+<p>The calls to pauseKernel or disableInterrupts were nested too much. Error is UNRECOVERABLE </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac0146189e7df18439dc2f4103f07cfe8a05e4098f64c514996a071e09d3f030ec"></a><!-- doxytag: member="PROPAGATED_EXCEPTION" ref="ac0146189e7df18439dc2f4103f07cfe8a05e4098f64c514996a071e09d3f030ec" args="" -->PROPAGATED_EXCEPTION</em>&nbsp;</td><td>
+<p>An uncaught exception propagated throug a thread's entry point. Error is recoverable. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac0146189e7df18439dc2f4103f07cfe8ac5c5ef56383e34096e518226d8898f53"></a><!-- doxytag: member="INTERRUPTS_ENABLED_AT_BOOT" ref="ac0146189e7df18439dc2f4103f07cfe8ac5c5ef56383e34096e518226d8898f53" args="" -->INTERRUPTS_ENABLED_AT_BOOT</em>&nbsp;</td><td>
+<p>Interrupts are wrongly enabled during boot Error is unrecoverable </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a0e2bf0d427fe1eb214692830e46fb209"></a><!-- doxytag: member="miosix::bootlog" ref="a0e2bf0d427fe1eb214692830e46fb209" args="(const char *string)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::bootlog </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>string</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Print boot logs on the <a class="el" href="classmiosix_1_1_console.html">Console</a>. Can only be called when the kernel is running. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td>to print </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a9e8a0090904ff275d38d22f26919ff69"></a><!-- doxytag: member="miosix::crc16" ref="a9e8a0090904ff275d38d22f26919ff69" args="(unsigned char *message, unsigned int length)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned short miosix::crc16 </td>
+          <td>(</td>
+          <td class="paramtype">unsigned char *&nbsp;</td>
+          <td class="paramname"> <em>message</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Calculate the ccitt crc16 on a string of bytes </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>message</em>&nbsp;</td><td>string of bytes </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>message length </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the crc16 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aecda173e5927720cd233599817c5da23"></a><!-- doxytag: member="miosix::errorHandler" ref="aecda173e5927720cd233599817c5da23" args="(Error e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::errorHandler </td>
+          <td>(</td>
+          <td class="paramtype">Error&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Handles errors generated by kernel. Prints an error message on the <a class="el" href="classmiosix_1_1_console.html">Console</a> (only if WITH_ERRLOG is defined in miosix_config.h). For information about possible errors, see the enum Error Can be called with the kernel not started, started, paused, with interrupts disabled and within an interrupt routine. </p>
+
+</div>
+</div>
+<a class="anchor" id="ac57cb5a3e83dc0c859161bc4aa04d591"></a><!-- doxytag: member="miosix::errorLog" ref="ac57cb5a3e83dc0c859161bc4aa04d591" args="(const char *string)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::errorLog </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>string</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Print eror logs on the <a class="el" href="classmiosix_1_1_console.html">Console</a>. Can only be called when the kernel is running. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td>to print </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a77703dfc8874c826975fa54f79e7a3e5"></a><!-- doxytag: member="miosix::IRQbootlog" ref="a77703dfc8874c826975fa54f79e7a3e5" args="(const char *string)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::IRQbootlog </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>string</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Print boot logs on the <a class="el" href="classmiosix_1_1_console.html">Console</a>. Can only be called when the kernel is not yet running or paused, or within an IRQ. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td>to print </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="afa3e31f3fb49abc777a10380ca9ffe19"></a><!-- doxytag: member="miosix::IRQerrorLog" ref="afa3e31f3fb49abc777a10380ca9ffe19" args="(const char *string)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void miosix::IRQerrorLog </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>string</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Print error logs on the <a class="el" href="classmiosix_1_1_console.html">Console</a>. Can only be called when the kernel is not yet running or paused, or within an IRQ. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td>to print </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Variable Documentation</h2>
+<a class="anchor" id="ab26854f238450057e4b1eb3687ac4f88"></a><!-- doxytag: member="miosix::kpi" ref="ab26854f238450057e4b1eb3687ac4f88" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const float <a class="el" href="namespacemiosix.html#ab26854f238450057e4b1eb3687ac4f88">miosix::kpi</a> = 0.5</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Run the scheduler using fixed point math only. Faster but less precise. Note that the inner integral regulators are always fixed point, this affects round partitioning and the external PI regulator. Also note this imposes a number of limits:</p>
+<ul>
+<li>the number of threads has a maximum of 64 (this constrain is enforced in PKaddThread()</li>
+<li>the max "priority" is limited to 63 (this constraint is enforced by priority valdation, as usual)</li>
+<li>both krr and zrr must be less than 1.99f (this constraint is not enforced, if a wrong value is set strange things may happen)</li>
+<li>the maximum average burst must be less than 8192. Individual bursts may exceed this, but the su of all bursts in the Tr variable can't exceed 64 (max # threads) * 8191 = ~524287 (this constraint is enforced by clamping Tr to that value) </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ac4774f319395e90899e2aa549444495b"></a><!-- doxytag: member="miosix::multFactor" ref="ac4774f319395e90899e2aa549444495b" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const int <a class="el" href="namespacemiosix.html#ac4774f319395e90899e2aa549444495b">miosix::multFactor</a> = static_cast&lt;int&gt;(1.0f/kpi)</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Implementation detail resulting from a fixed point implementation of the inner integral regulators. Never change this, change kpi instead. </p>
+
+</div>
+</div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/namespacemiosix__pivate.html b/miosix/_doc/doxygen/html/namespacemiosix__pivate.html
new file mode 100644
index 0000000000000000000000000000000000000000..3bca6981699f1e649b5549ce634e10841139f281
--- /dev/null
+++ b/miosix/_doc/doxygen/html/namespacemiosix__pivate.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: miosix_pivate Namespace Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
+      <li><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>miosix_pivate Namespace Reference</h1>  </div>
+</div>
+<div class="contents">
+<table class="memberdecls">
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>contains architecture-specific functions. These functions are separated from the functions in kernel.h because:<br/>
+</p>
+<ul>
+<li>to port the kernel to another processor you only need to rewrite these functions.</li>
+<li>these functions are only useful for writing hardare drivers, most user code does not need them. </li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/namespaces.html b/miosix/_doc/doxygen/html/namespaces.html
new file mode 100644
index 0000000000000000000000000000000000000000..b2229537643b438ce53439d39bdd5d168d65517b
--- /dev/null
+++ b/miosix/_doc/doxygen/html/namespaces.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: Namespace Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
+      <li><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<h1>Namespace List</h1>  </div>
+</div>
+<div class="contents">
+Here is a list of all documented namespaces with brief descriptions:<table>
+  <tr><td class="indexkey"><a class="el" href="namespacemiosix.html">miosix</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey"><a class="el" href="namespacemiosix__pivate.html">miosix_pivate</a></td><td class="indexvalue"></td></tr>
+</table>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/nav_f.png b/miosix/_doc/doxygen/html/nav_f.png
new file mode 100644
index 0000000000000000000000000000000000000000..1b07a16207e67c95fe2ee17e7016e6d08ac7ac99
Binary files /dev/null and b/miosix/_doc/doxygen/html/nav_f.png differ
diff --git a/miosix/_doc/doxygen/html/nav_h.png b/miosix/_doc/doxygen/html/nav_h.png
new file mode 100644
index 0000000000000000000000000000000000000000..01f5fa6a596e36bd12c2d6ceff1b0169fda7e699
Binary files /dev/null and b/miosix/_doc/doxygen/html/nav_h.png differ
diff --git a/miosix/_doc/doxygen/html/open.png b/miosix/_doc/doxygen/html/open.png
new file mode 100644
index 0000000000000000000000000000000000000000..7b35d2c2c389743089632fe24c3104f2173d97af
Binary files /dev/null and b/miosix/_doc/doxygen/html/open.png differ
diff --git a/miosix/_doc/doxygen/html/portability_8h.html b/miosix/_doc/doxygen/html/portability_8h.html
new file mode 100644
index 0000000000000000000000000000000000000000..46b18cc256435781dc7b5bcf86be03b006e6ea0f
--- /dev/null
+++ b/miosix/_doc/doxygen/html/portability_8h.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Miosix: portability.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul class="tablist">
+      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<h1>portability.h File Reference</h1>  </div>
+</div>
+<div class="contents">
+<code>#include &quot;<a class="el" href="miosix__settings_8h.html">config/miosix_settings.h</a>&quot;</code><br/>
+<code>#include &quot;interfaces-impl/portability_impl.h&quot;</code><br/>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmiosix__private_1_1_auxiliary_timer.html">miosix_private::AuxiliaryTimer</a></td></tr>
+<tr><td colspan="2"><h2><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemiosix__pivate.html">miosix_pivate</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This file is the interface from the Miosix kernel to the hardware. It ccontains what is required to perform a context switch, disable interrupts, set up the stack frame and registers of a newly created thread, and contains iterrupt handlers for preemption and yield.</p>
+<p>Since some of the functions in this file must be inline for speed reasons, and context switch code must be macros, at the end of this file the file portability_impl.h is included. This file should contain the implementation of those inline functions. </p>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Sat Nov 12 2011 for Miosix by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
+</body>
+</html>
diff --git a/miosix/_doc/doxygen/html/tab_a.png b/miosix/_doc/doxygen/html/tab_a.png
new file mode 100644
index 0000000000000000000000000000000000000000..2d99ef23fed78c7683f0b5aa803d937060d288c4
Binary files /dev/null and b/miosix/_doc/doxygen/html/tab_a.png differ
diff --git a/miosix/_doc/doxygen/html/tab_b.png b/miosix/_doc/doxygen/html/tab_b.png
new file mode 100644
index 0000000000000000000000000000000000000000..b2c3d2be3c7e518fbca6bb30f571882e72fc506d
Binary files /dev/null and b/miosix/_doc/doxygen/html/tab_b.png differ
diff --git a/miosix/_doc/doxygen/html/tab_h.png b/miosix/_doc/doxygen/html/tab_h.png
new file mode 100644
index 0000000000000000000000000000000000000000..c11f48f19bbe1f178d95397b98075bdd6d989328
Binary files /dev/null and b/miosix/_doc/doxygen/html/tab_h.png differ
diff --git a/miosix/_doc/doxygen/html/tab_s.png b/miosix/_doc/doxygen/html/tab_s.png
new file mode 100644
index 0000000000000000000000000000000000000000..978943ac807718de0e69e5a585a8f0a1e5999285
Binary files /dev/null and b/miosix/_doc/doxygen/html/tab_s.png differ
diff --git a/miosix/_doc/doxygen/html/tabs.css b/miosix/_doc/doxygen/html/tabs.css
new file mode 100644
index 0000000000000000000000000000000000000000..21920562a831f80ad5df7d913b1d3d64db994510
--- /dev/null
+++ b/miosix/_doc/doxygen/html/tabs.css
@@ -0,0 +1,59 @@
+.tabs, .tabs2, .tabs3 {
+    background-image: url('tab_b.png');
+    width: 100%;
+    z-index: 101;
+    font-size: 13px;
+}
+
+.tabs2 {
+    font-size: 10px;
+}
+.tabs3 {
+    font-size: 9px;
+}
+
+.tablist {
+    margin: 0;
+    padding: 0;
+    display: table;
+}
+
+.tablist li {
+    float: left;
+    display: table-cell;
+    background-image: url('tab_b.png');
+    line-height: 36px;
+    list-style: none;
+}
+
+.tablist a {
+    display: block;
+    padding: 0 20px;
+    font-weight: bold;
+    background-image:url('tab_s.png');
+    background-repeat:no-repeat;
+    background-position:right;
+    color: #283A5D;
+    text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+    text-decoration: none;
+    outline: none;
+}
+
+.tabs3 .tablist a {
+    padding: 0 10px;
+}
+
+.tablist a:hover {
+    background-image: url('tab_h.png');
+    background-repeat:repeat-x;
+    color: #fff;
+    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+    text-decoration: none;
+}
+
+.tablist li.current a {
+    background-image: url('tab_a.png');
+    background-repeat:repeat-x;
+    color: #fff;
+    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}
diff --git a/miosix/_doc/doxygen/html/tree.html b/miosix/_doc/doxygen/html/tree.html
new file mode 100644
index 0000000000000000000000000000000000000000..dc51f3f1c52dd3641a4bae4568ee0110003be8fe
--- /dev/null
+++ b/miosix/_doc/doxygen/html/tree.html
@@ -0,0 +1,131 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+    <meta http-equiv="Content-Style-Type" content="text/css" />
+    <meta http-equiv="Content-Language" content="en" />
+    <link rel="stylesheet" href="doxygen.css"/>
+    <title>TreeView</title>
+    <script type="text/javascript">
+    <!-- // Hide script from old browsers
+    
+    function toggleFolder(id, imageNode) 
+    {
+      var folder = document.getElementById(id);
+      var l = imageNode.src.length;
+      if (imageNode.src.substring(l-20,l)=="ftv2folderclosed.png" || 
+          imageNode.src.substring(l-18,l)=="ftv2folderopen.png")
+      {
+        imageNode = imageNode.previousSibling;
+        l = imageNode.src.length;
+      }
+      if (folder == null) 
+      {
+      } 
+      else if (folder.style.display == "block") 
+      {
+        if (imageNode != null) 
+        {
+          imageNode.nextSibling.src = "ftv2folderclosed.png";
+          if (imageNode.src.substring(l-13,l) == "ftv2mnode.png")
+          {
+            imageNode.src = "ftv2pnode.png";
+          }
+          else if (imageNode.src.substring(l-17,l) == "ftv2mlastnode.png")
+          {
+            imageNode.src = "ftv2plastnode.png";
+          }
+        }
+        folder.style.display = "none";
+      } 
+      else 
+      {
+        if (imageNode != null) 
+        {
+          imageNode.nextSibling.src = "ftv2folderopen.png";
+          if (imageNode.src.substring(l-13,l) == "ftv2pnode.png")
+          {
+            imageNode.src = "ftv2mnode.png";
+          }
+          else if (imageNode.src.substring(l-17,l) == "ftv2plastnode.png")
+          {
+            imageNode.src = "ftv2mlastnode.png";
+          }
+        }
+        folder.style.display = "block";
+      }
+    }
+
+    // End script hiding -->        
+    </script>
+  </head>
+
+  <body class="ftvtree">
+    <div class="directory">
+      <h3 class="swap"><span>Miosix</span></h3>
+      <div style="display: block;">
+        <p><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="main.html" target="basefrm">Miosix embedded OS</a></p>
+        <p><img src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('folder1', this)"/><img src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('folder1', this)"/><a class="el" href="modules.html" target="basefrm">Modules</a></p>
+        <div id="folder1">
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group___kernel.html" target="basefrm">Kernel</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group___sync.html" target="basefrm">Syncronization</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group___interfaces.html" target="basefrm">Interfaces</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group___hardware.html" target="basefrm">Hardware</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group___filesystem.html" target="basefrm">Filesystem</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group___drivers.html" target="basefrm">Drivers</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group___util.html" target="basefrm">Utilities</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group___settings.html" target="basefrm">Settings</a></p>
+        </div>
+        <p><img src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('folder2', this)"/><img src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('folder2', this)"/><a class="el" href="annotated.html" target="basefrm">Class List</a></p>
+        <div id="folder2">
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix__private_1_1_auxiliary_timer.html" target="basefrm">miosix_private::AuxiliaryTimer</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_condition_variable.html" target="basefrm">miosix::ConditionVariable</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_console.html" target="basefrm">miosix::Console</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_control_scheduler_priority.html" target="basefrm">miosix::ControlSchedulerPriority</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_directory.html" target="basefrm">miosix::Directory</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_e_d_f_scheduler_priority.html" target="basefrm">miosix::EDFSchedulerPriority</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_exception_handling_data.html" target="basefrm">miosix::ExceptionHandlingData</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_fast_interrupt_disable_lock.html" target="basefrm">miosix::FastInterruptDisableLock</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_fast_interrupt_enable_lock.html" target="basefrm">miosix::FastInterruptEnableLock</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_fast_mutex.html" target="basefrm">miosix::FastMutex</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_filesystem.html" target="basefrm">miosix::Filesystem</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_interrupt_disable_lock.html" target="basefrm">miosix::InterruptDisableLock</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_interrupt_enable_lock.html" target="basefrm">miosix::InterruptEnableLock</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_lock.html" target="basefrm">miosix::Lock&lt; T &gt;</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_lower_priority.html" target="basefrm">miosix::LowerPriority</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_memory_profiling.html" target="basefrm">miosix::MemoryProfiling</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_mutex.html" target="basefrm">miosix::Mutex</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_pause_kernel_lock.html" target="basefrm">miosix::PauseKernelLock</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_priority_scheduler_priority.html" target="basefrm">miosix::PrioritySchedulerPriority</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_queue.html" target="basefrm">miosix::Queue&lt; T, len &gt;</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_restart_kernel_lock.html" target="basefrm">miosix::RestartKernelLock</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_software_i2_c.html" target="basefrm">miosix::SoftwareI2C&lt; SDA, SCL &gt;</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_software_s_p_i.html" target="basefrm">miosix::SoftwareSPI&lt; SI, SO, SCK, CE, numNops &gt;</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_thread.html" target="basefrm">miosix::Thread</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_timer.html" target="basefrm">miosix::Timer</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classmiosix_1_1_unlock.html" target="basefrm">miosix::Unlock&lt; T &gt;</a></p>
+        </div>
+        <p><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="functions.html" target="basefrm">Class Members</a></p>
+        <p><img src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('folder3', this)"/><img src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('folder3', this)"/><a class="el" href="namespaces.html" target="basefrm">Namespace List</a></p>
+        <div id="folder3">
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="namespacemiosix.html" target="basefrm">miosix</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="namespacemiosix__pivate.html" target="basefrm">miosix_pivate</a></p>
+        </div>
+        <p><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="namespacemembers.html" target="basefrm">Namespace Members</a></p>
+        <p><img src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('folder4', this)"/><img src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('folder4', this)"/><a class="el" href="files.html" target="basefrm">File List</a></p>
+        <div id="folder4">
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="arch__registers_8h.html" target="basefrm">arch_registers.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="bsp_8h.html" target="basefrm">bsp.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="console_8h.html" target="basefrm">console.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="delays_8h.html" target="basefrm">delays.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="disk_8h.html" target="basefrm">disk.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="endianness_8h.html" target="basefrm">endianness.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="gpio_8h.html" target="basefrm">gpio.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="miosix__settings_8h.html" target="basefrm">miosix_settings.h</a></p>
+          <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="portability_8h.html" target="basefrm">portability.h</a></p>
+        </div>
+        <p><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="globals.html" target="basefrm">File Members</a></p>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/miosix/doc/doxygen/index.html b/miosix/_doc/doxygen/index.html
similarity index 100%
rename from miosix/doc/doxygen/index.html
rename to miosix/_doc/doxygen/index.html
diff --git a/miosix/doc/pdfdoc/features/Miosix features.odt b/miosix/_doc/pdfdoc/features/Miosix features.odt
similarity index 100%
rename from miosix/doc/pdfdoc/features/Miosix features.odt
rename to miosix/_doc/pdfdoc/features/Miosix features.odt
diff --git a/miosix/doc/pdfdoc/features/Miosix features.pdf b/miosix/_doc/pdfdoc/features/Miosix features.pdf
similarity index 100%
rename from miosix/doc/pdfdoc/features/Miosix features.pdf
rename to miosix/_doc/pdfdoc/features/Miosix features.pdf
diff --git a/miosix/doc/textdoc/Changelog.txt b/miosix/_doc/textdoc/Changelog.txt
similarity index 98%
rename from miosix/doc/textdoc/Changelog.txt
rename to miosix/_doc/textdoc/Changelog.txt
index 28df29e33ff3ee31b0d3a052090a54ea9ccf8c1f..a180804d88dae40179ef9d81f584a94b8519faec 100644
--- a/miosix/doc/textdoc/Changelog.txt
+++ b/miosix/_doc/textdoc/Changelog.txt
@@ -1,5 +1,13 @@
 Changelog for Miosix np embedded OS
 
+- Moved the bootloaders, compiler and testsuite directories inside miosix/_tools
+- Reorganized directory structure, all subdirectories of the miosix directory
+  that do not contain code that is compiled into the Miosix kernel now start
+  with an underscore, to be easily recognizable. These are: the _doc directory
+  containing documentation, the _examples directory containing examples, and
+  the _tools directory.
+- Added first (non working) inplementation of the new file abstraction
+  layer.
 - Improved pauseKernel() and restartKernel() implementation using atomic
   operations. Tests show a +20% to +40% performance improvement for
   pauseKernel() and restartKernel(), and a +15% performance improvement
diff --git a/miosix/doc/textdoc/Directories.txt b/miosix/_doc/textdoc/Directories.txt
similarity index 100%
rename from miosix/doc/textdoc/Directories.txt
rename to miosix/_doc/textdoc/Directories.txt
diff --git a/miosix/doc/textdoc/Disable exceptions.txt b/miosix/_doc/textdoc/Disable exceptions.txt
similarity index 100%
rename from miosix/doc/textdoc/Disable exceptions.txt
rename to miosix/_doc/textdoc/Disable exceptions.txt
diff --git a/miosix/doc/textdoc/Error debug.txt b/miosix/_doc/textdoc/Error debug.txt
similarity index 100%
rename from miosix/doc/textdoc/Error debug.txt
rename to miosix/_doc/textdoc/Error debug.txt
diff --git a/miosix/doc/textdoc/Filesystem benchmarks.txt b/miosix/_doc/textdoc/Filesystem benchmarks.txt
similarity index 100%
rename from miosix/doc/textdoc/Filesystem benchmarks.txt
rename to miosix/_doc/textdoc/Filesystem benchmarks.txt
diff --git a/miosix/doc/textdoc/Todo.txt b/miosix/_doc/textdoc/Todo.txt
similarity index 100%
rename from miosix/doc/textdoc/Todo.txt
rename to miosix/_doc/textdoc/Todo.txt
diff --git a/miosix/doc/textdoc/gcc threadsafety.txt b/miosix/_doc/textdoc/gcc threadsafety.txt
similarity index 100%
rename from miosix/doc/textdoc/gcc threadsafety.txt
rename to miosix/_doc/textdoc/gcc threadsafety.txt
diff --git a/miosix/doc/textdoc/newlib threadsafety.txt b/miosix/_doc/textdoc/newlib threadsafety.txt
similarity index 100%
rename from miosix/doc/textdoc/newlib threadsafety.txt
rename to miosix/_doc/textdoc/newlib threadsafety.txt
diff --git a/miosix/doc/textdoc/stm32-bootloader.txt b/miosix/_doc/textdoc/stm32-bootloader.txt
similarity index 100%
rename from miosix/doc/textdoc/stm32-bootloader.txt
rename to miosix/_doc/textdoc/stm32-bootloader.txt
diff --git a/miosix/examples/asm/Readme.txt b/miosix/_examples/asm/Readme.txt
similarity index 100%
rename from miosix/examples/asm/Readme.txt
rename to miosix/_examples/asm/Readme.txt
diff --git a/miosix/examples/asm/main.s b/miosix/_examples/asm/main.s
similarity index 100%
rename from miosix/examples/asm/main.s
rename to miosix/_examples/asm/main.s
diff --git a/miosix/examples/sad_trombone/Makefile b/miosix/_examples/sad_trombone/Makefile
similarity index 100%
rename from miosix/examples/sad_trombone/Makefile
rename to miosix/_examples/sad_trombone/Makefile
diff --git a/miosix/examples/sad_trombone/Readme.txt b/miosix/_examples/sad_trombone/Readme.txt
similarity index 100%
rename from miosix/examples/sad_trombone/Readme.txt
rename to miosix/_examples/sad_trombone/Readme.txt
diff --git a/miosix/examples/sad_trombone/adpcm.c b/miosix/_examples/sad_trombone/adpcm.c
similarity index 100%
rename from miosix/examples/sad_trombone/adpcm.c
rename to miosix/_examples/sad_trombone/adpcm.c
diff --git a/miosix/examples/sad_trombone/adpcm.h b/miosix/_examples/sad_trombone/adpcm.h
similarity index 100%
rename from miosix/examples/sad_trombone/adpcm.h
rename to miosix/_examples/sad_trombone/adpcm.h
diff --git a/miosix/examples/sad_trombone/circuit.jpeg b/miosix/_examples/sad_trombone/circuit.jpeg
similarity index 100%
rename from miosix/examples/sad_trombone/circuit.jpeg
rename to miosix/_examples/sad_trombone/circuit.jpeg
diff --git a/miosix/examples/sad_trombone/convert.cpp b/miosix/_examples/sad_trombone/convert.cpp
similarity index 100%
rename from miosix/examples/sad_trombone/convert.cpp
rename to miosix/_examples/sad_trombone/convert.cpp
diff --git a/miosix/examples/sad_trombone/main.cpp b/miosix/_examples/sad_trombone/main.cpp
similarity index 100%
rename from miosix/examples/sad_trombone/main.cpp
rename to miosix/_examples/sad_trombone/main.cpp
diff --git a/miosix/examples/sad_trombone/player.cpp b/miosix/_examples/sad_trombone/player.cpp
similarity index 100%
rename from miosix/examples/sad_trombone/player.cpp
rename to miosix/_examples/sad_trombone/player.cpp
diff --git a/miosix/examples/sad_trombone/player.h b/miosix/_examples/sad_trombone/player.h
similarity index 100%
rename from miosix/examples/sad_trombone/player.h
rename to miosix/_examples/sad_trombone/player.h
diff --git a/miosix/examples/sad_trombone/sad_trombone.h b/miosix/_examples/sad_trombone/sad_trombone.h
similarity index 100%
rename from miosix/examples/sad_trombone/sad_trombone.h
rename to miosix/_examples/sad_trombone/sad_trombone.h
diff --git a/miosix/examples/sad_trombone/sad_trombone.wav b/miosix/_examples/sad_trombone/sad_trombone.wav
similarity index 100%
rename from miosix/examples/sad_trombone/sad_trombone.wav
rename to miosix/_examples/sad_trombone/sad_trombone.wav
diff --git a/miosix/examples/thread_native/Readme.txt b/miosix/_examples/thread_native/Readme.txt
similarity index 100%
rename from miosix/examples/thread_native/Readme.txt
rename to miosix/_examples/thread_native/Readme.txt
diff --git a/miosix/examples/thread_native/native_thread_example.cpp b/miosix/_examples/thread_native/native_thread_example.cpp
similarity index 100%
rename from miosix/examples/thread_native/native_thread_example.cpp
rename to miosix/_examples/thread_native/native_thread_example.cpp
diff --git a/miosix/examples/thread_pthread/Readme.txt b/miosix/_examples/thread_pthread/Readme.txt
similarity index 100%
rename from miosix/examples/thread_pthread/Readme.txt
rename to miosix/_examples/thread_pthread/Readme.txt
diff --git a/miosix/examples/thread_pthread/pthread_example.cpp b/miosix/_examples/thread_pthread/pthread_example.cpp
similarity index 100%
rename from miosix/examples/thread_pthread/pthread_example.cpp
rename to miosix/_examples/thread_pthread/pthread_example.cpp
diff --git a/miosix/bootloaders/stm32/Readme.txt b/miosix/_tools/bootloaders/stm32/Readme.txt
similarity index 100%
rename from miosix/bootloaders/stm32/Readme.txt
rename to miosix/_tools/bootloaders/stm32/Readme.txt
diff --git a/miosix/bootloaders/stm32/pc_loader/CMakeLists.txt b/miosix/_tools/bootloaders/stm32/pc_loader/CMakeLists.txt
similarity index 100%
rename from miosix/bootloaders/stm32/pc_loader/CMakeLists.txt
rename to miosix/_tools/bootloaders/stm32/pc_loader/CMakeLists.txt
diff --git a/miosix/bootloaders/stm32/pc_loader/main.cpp b/miosix/_tools/bootloaders/stm32/pc_loader/main.cpp
similarity index 100%
rename from miosix/bootloaders/stm32/pc_loader/main.cpp
rename to miosix/_tools/bootloaders/stm32/pc_loader/main.cpp
diff --git a/miosix/bootloaders/stm32/pc_loader/pc_loader b/miosix/_tools/bootloaders/stm32/pc_loader/pc_loader
similarity index 100%
rename from miosix/bootloaders/stm32/pc_loader/pc_loader
rename to miosix/_tools/bootloaders/stm32/pc_loader/pc_loader
diff --git a/miosix/bootloaders/stm32/pc_loader/serialstream.cpp b/miosix/_tools/bootloaders/stm32/pc_loader/serialstream.cpp
similarity index 100%
rename from miosix/bootloaders/stm32/pc_loader/serialstream.cpp
rename to miosix/_tools/bootloaders/stm32/pc_loader/serialstream.cpp
diff --git a/miosix/bootloaders/stm32/pc_loader/serialstream.h b/miosix/_tools/bootloaders/stm32/pc_loader/serialstream.h
similarity index 100%
rename from miosix/bootloaders/stm32/pc_loader/serialstream.h
rename to miosix/_tools/bootloaders/stm32/pc_loader/serialstream.h
diff --git a/miosix/bootloaders/stm32/uc_loader_ethboardv2/bootloader.bin b/miosix/_tools/bootloaders/stm32/uc_loader_ethboardv2/bootloader.bin
similarity index 100%
rename from miosix/bootloaders/stm32/uc_loader_ethboardv2/bootloader.bin
rename to miosix/_tools/bootloaders/stm32/uc_loader_ethboardv2/bootloader.bin
diff --git a/miosix/bootloaders/stm32/uc_loader_ethboardv2/bootloader.hex b/miosix/_tools/bootloaders/stm32/uc_loader_ethboardv2/bootloader.hex
similarity index 100%
rename from miosix/bootloaders/stm32/uc_loader_ethboardv2/bootloader.hex
rename to miosix/_tools/bootloaders/stm32/uc_loader_ethboardv2/bootloader.hex
diff --git a/miosix/bootloaders/stm32/uc_loader_stm3210e-eval/bootloader.bin b/miosix/_tools/bootloaders/stm32/uc_loader_stm3210e-eval/bootloader.bin
similarity index 100%
rename from miosix/bootloaders/stm32/uc_loader_stm3210e-eval/bootloader.bin
rename to miosix/_tools/bootloaders/stm32/uc_loader_stm3210e-eval/bootloader.bin
diff --git a/miosix/bootloaders/stm32/uc_loader_stm3210e-eval/bootloader.hex b/miosix/_tools/bootloaders/stm32/uc_loader_stm3210e-eval/bootloader.hex
similarity index 100%
rename from miosix/bootloaders/stm32/uc_loader_stm3210e-eval/bootloader.hex
rename to miosix/_tools/bootloaders/stm32/uc_loader_stm3210e-eval/bootloader.hex
diff --git a/miosix/bootloaders/stm32/uc_loader_stm3220g-eval/bootloader.bin b/miosix/_tools/bootloaders/stm32/uc_loader_stm3220g-eval/bootloader.bin
similarity index 100%
rename from miosix/bootloaders/stm32/uc_loader_stm3220g-eval/bootloader.bin
rename to miosix/_tools/bootloaders/stm32/uc_loader_stm3220g-eval/bootloader.bin
diff --git a/miosix/bootloaders/stm32/uc_loader_stm3220g-eval/bootloader.hex b/miosix/_tools/bootloaders/stm32/uc_loader_stm3220g-eval/bootloader.hex
similarity index 100%
rename from miosix/bootloaders/stm32/uc_loader_stm3220g-eval/bootloader.hex
rename to miosix/_tools/bootloaders/stm32/uc_loader_stm3220g-eval/bootloader.hex
diff --git a/miosix/check_global_objects.pl b/miosix/_tools/check_global_objects.pl
similarity index 100%
rename from miosix/check_global_objects.pl
rename to miosix/_tools/check_global_objects.pl
diff --git a/miosix/compiler/Readme.txt b/miosix/_tools/compiler/Readme.txt
similarity index 100%
rename from miosix/compiler/Readme.txt
rename to miosix/_tools/compiler/Readme.txt
diff --git a/miosix/compiler/cleanup.sh b/miosix/_tools/compiler/cleanup.sh
similarity index 100%
rename from miosix/compiler/cleanup.sh
rename to miosix/_tools/compiler/cleanup.sh
diff --git a/miosix/compiler/download.sh b/miosix/_tools/compiler/download.sh
similarity index 100%
rename from miosix/compiler/download.sh
rename to miosix/_tools/compiler/download.sh
diff --git a/miosix/compiler/install-script.sh b/miosix/_tools/compiler/install-script.sh
similarity index 100%
rename from miosix/compiler/install-script.sh
rename to miosix/_tools/compiler/install-script.sh
diff --git a/miosix/compiler/lpc21isp_148_src.zip b/miosix/_tools/compiler/lpc21isp_148_src.zip
similarity index 100%
rename from miosix/compiler/lpc21isp_148_src.zip
rename to miosix/_tools/compiler/lpc21isp_148_src.zip
diff --git a/miosix/compiler/patches/gcc.patch b/miosix/_tools/compiler/patches/gcc.patch
similarity index 100%
rename from miosix/compiler/patches/gcc.patch
rename to miosix/_tools/compiler/patches/gcc.patch
diff --git a/miosix/compiler/patches/gcc.txt b/miosix/_tools/compiler/patches/gcc.txt
similarity index 100%
rename from miosix/compiler/patches/gcc.txt
rename to miosix/_tools/compiler/patches/gcc.txt
diff --git a/miosix/compiler/patches/newlib.patch b/miosix/_tools/compiler/patches/newlib.patch
similarity index 100%
rename from miosix/compiler/patches/newlib.patch
rename to miosix/_tools/compiler/patches/newlib.patch
diff --git a/miosix/compiler/patches/newlib.txt b/miosix/_tools/compiler/patches/newlib.txt
similarity index 100%
rename from miosix/compiler/patches/newlib.txt
rename to miosix/_tools/compiler/patches/newlib.txt
diff --git a/miosix/compiler/uninstall.sh b/miosix/_tools/compiler/uninstall.sh
similarity index 100%
rename from miosix/compiler/uninstall.sh
rename to miosix/_tools/compiler/uninstall.sh
diff --git a/miosix/temp/delay_test/delay_test.cpp b/miosix/_tools/delay_test/delay_test.cpp
similarity index 100%
rename from miosix/temp/delay_test/delay_test.cpp
rename to miosix/_tools/delay_test/delay_test.cpp
diff --git a/miosix/temp/feedforward_profiling/CMakeLists.txt b/miosix/_tools/feedforward_profiling/CMakeLists.txt
similarity index 100%
rename from miosix/temp/feedforward_profiling/CMakeLists.txt
rename to miosix/_tools/feedforward_profiling/CMakeLists.txt
diff --git a/miosix/temp/feedforward_profiling/Readme.txt b/miosix/_tools/feedforward_profiling/Readme.txt
similarity index 100%
rename from miosix/temp/feedforward_profiling/Readme.txt
rename to miosix/_tools/feedforward_profiling/Readme.txt
diff --git a/miosix/temp/feedforward_profiling/fdstream.h b/miosix/_tools/feedforward_profiling/fdstream.h
similarity index 100%
rename from miosix/temp/feedforward_profiling/fdstream.h
rename to miosix/_tools/feedforward_profiling/fdstream.h
diff --git a/miosix/temp/feedforward_profiling/fdstream.tcc b/miosix/_tools/feedforward_profiling/fdstream.tcc
similarity index 100%
rename from miosix/temp/feedforward_profiling/fdstream.tcc
rename to miosix/_tools/feedforward_profiling/fdstream.tcc
diff --git a/miosix/temp/feedforward_profiling/feedforward.png b/miosix/_tools/feedforward_profiling/feedforward.png
similarity index 100%
rename from miosix/temp/feedforward_profiling/feedforward.png
rename to miosix/_tools/feedforward_profiling/feedforward.png
diff --git a/miosix/temp/feedforward_profiling/ff_off.txt b/miosix/_tools/feedforward_profiling/ff_off.txt
similarity index 100%
rename from miosix/temp/feedforward_profiling/ff_off.txt
rename to miosix/_tools/feedforward_profiling/ff_off.txt
diff --git a/miosix/temp/feedforward_profiling/ff_on.txt b/miosix/_tools/feedforward_profiling/ff_on.txt
similarity index 100%
rename from miosix/temp/feedforward_profiling/ff_on.txt
rename to miosix/_tools/feedforward_profiling/ff_on.txt
diff --git a/miosix/temp/feedforward_profiling/ff_reinit.txt b/miosix/_tools/feedforward_profiling/ff_reinit.txt
similarity index 100%
rename from miosix/temp/feedforward_profiling/ff_reinit.txt
rename to miosix/_tools/feedforward_profiling/ff_reinit.txt
diff --git a/miosix/temp/feedforward_profiling/gdb_init.script b/miosix/_tools/feedforward_profiling/gdb_init.script
similarity index 100%
rename from miosix/temp/feedforward_profiling/gdb_init.script
rename to miosix/_tools/feedforward_profiling/gdb_init.script
diff --git a/miosix/temp/feedforward_profiling/jtag_profiler.cpp b/miosix/_tools/feedforward_profiling/jtag_profiler.cpp
similarity index 100%
rename from miosix/temp/feedforward_profiling/jtag_profiler.cpp
rename to miosix/_tools/feedforward_profiling/jtag_profiler.cpp
diff --git a/miosix/temp/feedforward_profiling/plot.sci b/miosix/_tools/feedforward_profiling/plot.sci
similarity index 100%
rename from miosix/temp/feedforward_profiling/plot.sci
rename to miosix/_tools/feedforward_profiling/plot.sci
diff --git a/miosix/temp/feedforward_profiling/plot.sh b/miosix/_tools/feedforward_profiling/plot.sh
similarity index 100%
rename from miosix/temp/feedforward_profiling/plot.sh
rename to miosix/_tools/feedforward_profiling/plot.sh
diff --git a/miosix/temp/feedforward_profiling/test.cpp b/miosix/_tools/feedforward_profiling/test.cpp
similarity index 100%
rename from miosix/temp/feedforward_profiling/test.cpp
rename to miosix/_tools/feedforward_profiling/test.cpp
diff --git a/miosix/temp/loc_counter.sh b/miosix/_tools/loc_counter.sh
similarity index 100%
rename from miosix/temp/loc_counter.sh
rename to miosix/_tools/loc_counter.sh
diff --git a/miosix/temp/ram_test/main.cpp b/miosix/_tools/ram_test/main.cpp
similarity index 100%
rename from miosix/temp/ram_test/main.cpp
rename to miosix/_tools/ram_test/main.cpp
diff --git a/miosix/temp/ram_test/sha1.cpp b/miosix/_tools/ram_test/sha1.cpp
similarity index 100%
rename from miosix/temp/ram_test/sha1.cpp
rename to miosix/_tools/ram_test/sha1.cpp
diff --git a/miosix/temp/ram_test/sha1.h b/miosix/_tools/ram_test/sha1.h
similarity index 100%
rename from miosix/temp/ram_test/sha1.h
rename to miosix/_tools/ram_test/sha1.h
diff --git a/miosix/testsuite/Readme.txt b/miosix/_tools/testsuite/Readme.txt
similarity index 80%
rename from miosix/testsuite/Readme.txt
rename to miosix/_tools/testsuite/Readme.txt
index 2291905ad1917d5eb49ba2e51690a646cb738902..e3305737b84bf0ba8ce7521de3db6b051e22f70a 100644
--- a/miosix/testsuite/Readme.txt
+++ b/miosix/_tools/testsuite/Readme.txt
@@ -7,4 +7,4 @@ main.cpp
 to
 
 SRC :=                                  \
-miosix/testsuite/testsuite.cpp
\ No newline at end of file
+miosix/_tools/testsuite/testsuite.cpp
\ No newline at end of file
diff --git a/miosix/testsuite/testsuite.cpp b/miosix/_tools/testsuite/testsuite.cpp
similarity index 100%
rename from miosix/testsuite/testsuite.cpp
rename to miosix/_tools/testsuite/testsuite.cpp
diff --git a/miosix/temp/conflict_table.cpp b/miosix/_tools/unused/conflict_table.cpp
similarity index 100%
rename from miosix/temp/conflict_table.cpp
rename to miosix/_tools/unused/conflict_table.cpp
diff --git a/miosix/temp/conflict_table.h b/miosix/_tools/unused/conflict_table.h
similarity index 100%
rename from miosix/temp/conflict_table.h
rename to miosix/_tools/unused/conflict_table.h
diff --git a/miosix/temp/pthread_key.cpp b/miosix/_tools/unused/pthread_key.cpp
similarity index 100%
rename from miosix/temp/pthread_key.cpp
rename to miosix/_tools/unused/pthread_key.cpp
diff --git a/miosix/doc/pdfdoc/suspend/Suspend to FLASH.odt b/miosix/doc/pdfdoc/suspend/Suspend to FLASH.odt
deleted file mode 100644
index 222673635ea3daabe70eea5bcc79ffeb6e65736d..0000000000000000000000000000000000000000
Binary files a/miosix/doc/pdfdoc/suspend/Suspend to FLASH.odt and /dev/null differ
diff --git a/miosix/doc/pdfdoc/suspend/Suspend to FLASH.pdf b/miosix/doc/pdfdoc/suspend/Suspend to FLASH.pdf
deleted file mode 100644
index d94c43f9e2aead2fe04d2f46bbc01189799effc3..0000000000000000000000000000000000000000
Binary files a/miosix/doc/pdfdoc/suspend/Suspend to FLASH.pdf and /dev/null differ
diff --git a/miosix/temp/simulation.sci b/miosix/temp/simulation.sci
deleted file mode 100644
index d71c5733fdb11dbc0bfc38c5f164b6f5f6089278..0000000000000000000000000000000000000000
--- a/miosix/temp/simulation.sci
+++ /dev/null
@@ -1,236 +0,0 @@
-clear
-global SkedData
-SkedData = struct('SP_Tr',0,'alfa',0,'alfaBlock',0,...
-                  'krr',0,'zrr',0,'kpi',0,'bmin',0,'bmax',0,...
-                  'SP_Tp',0,...
-                  'eTp',0,'eTr',0,'eTro',0,'bc',0,'bco',0,'b',0,'bo',0,...
-                  'Tp',0,'Tr',0,'t',0,...
-                  'dmod',0,'dmodo',0);
-global SimRes
-SimRes   = struct('Ntot',0,...
-                  'NfirstCur',0,....
-                  'mt',[],...
-                  'mSP_Tr',[],'mTr',[],...
-                  'mSP_Tp',[],'mTp',[],...
-                  'mb',[],'mbc',[]);
-                  
-function s=step(t)
-         if t>=0 s=1; else s=0; end;
-endfunction    
-
-function r=ramp(t)
-         r=t*step(t);
-endfunction  
-
-function ExecSkedRegulators()
-         global SkedData;
-         // External PI (round duration)
-         SkedData.eTr   = SkedData.SP_Tr-SkedData.Tr;
-
-         SkedData.bc    = SkedData.bco+SkedData.krr*SkedData.eTr-SkedData.krr*SkedData.zrr*SkedData.eTro;
-         
-         SkedData.bco   = SkedData.bc;
-         
-         SkedData.eTro  = SkedData.eTr;
-         SkedData.SP_Tp = SkedData.alfa*(SkedData.bc+SkedData.Tr);
-         // Internal I with AW (CPU usage within round)
-         SkedData.eTp   = SkedData.SP_Tp-SkedData.Tp;
-         SkedData.b     = SkedData.bo+SkedData.kpi*SkedData.eTp;     
-         SkedData.b     = min(max(SkedData.b,SkedData.bmin),SkedData.bmax);
-         SkedData.bo    = SkedData.b;
-endfunction
-
-function ExecProcPool()
-         global SkedData;
-         // Generate burst disturbances (use multiplicative)
-         x              = max(1.1,1+0.8*(rand()-0.5));
-         SkedData.dmod  = 1;//0.9*SkedData.dmodo+0.1*x;
-         SkedData.dmodo = SkedData.dmod;
-         // Compute processes and round times
-         SkedData.Tp    = max(SkedData.b.*SkedData.dmod.*(ones(SkedData.b)-SkedData.alfaBlock),0);
-         SkedData.Tr    = sum(SkedData.Tp);
-         SkedData.t     = SkedData.t+SkedData.Tr;
-endfunction
-
-function AddProcessAtBottom()
-         global SkedData;
-         SkedData.alfa      = [SkedData.alfa;0];
-         SkedData.alfaBlock = [SkedData.alfaBlock;0];
-         SkedData.Tp        = [SkedData.Tp;0];
-         SkedData.bo        = [SkedData.bo;0];
-endfunction
-
-function RemProcessFromTop()
-         global SkedData;
-         global SimRes;
-         N                  = length(SkedData.alfa);
-         SkedData.alfa      = [SkedData.alfa(2:N)];
-         SkedData.alfaBlock = [SkedData.alfaBlock(2:N)];
-         SkedData.Tp        = [SkedData.Tp(2:N)];
-         SkedData.bo        = [SkedData.bo(2:N)];
-         SimRes.NfirstCur   = SimRes.NfirstCur+1;
-endfunction
-
-function RemProcessFromBottom()
-         global SkedData;
-         global SimRes;
-         N                  = length(SkedData.alfa);
-         SkedData.alfa      = [SkedData.alfa(1:N-1)];
-         SkedData.alfaBlock = [SkedData.alfaBlock(1:N-1)];
-         SkedData.Tp        = [SkedData.Tp(1:N-1)];
-         SkedData.bo        = [SkedData.bo(1:N-1)];
-         SimRes.NfirstCur   = SimRes.NfirstCur;
-endfunction
-
-function GetSimRes()
-        global SkedData;
-        global SimRes;
-        SimRes.mt     = [SimRes.mt,SkedData.t];
-        SimRes.mSP_Tr = [SimRes.mSP_Tr,SkedData.SP_Tr];
-        SimRes.mTr    = [SimRes.mTr,SkedData.Tr];
-        SimRes.mbc    = [SimRes.mbc,SkedData.bc];
-        N             = length(SkedData.alfa);
-        dex           = SimRes.NfirstCur:SimRes.NfirstCur+N-1;
-        cnan          = zeros(SimRes.Ntot,1);//%nan*ones(SimRes.Ntot,1);
-        vSP_Tp        = cnan;
-        vSP_Tp(dex)   = SkedData.alfa*(SkedData.Tr+SkedData.bc);
-        SimRes.mSP_Tp = [SimRes.mSP_Tp,vSP_Tp];
-        vTp           = cnan;
-        vTp(dex)      = SkedData.Tp;
-        SimRes.mTp    = [SimRes.mTp,vTp];
-        vb            = cnan;
-        vb(dex)       = SkedData.b;
-        SimRes.mb     = [SimRes.mb,vb];
-endfunction
-
-
-//--------------------------------------------
-
-
-SimRes.Ntot        = 12;             // Total number of processes entering/exiting the test
-SimRes.NfirstCur   = 1;              // Index of the first process of running set
-SkedData.alfa      = [0.2 0.3 0.5]'; // which consists of three processes
-SkedData.alfaBlock = [0   0   0 ]';  // 1 blocks the process, 0 makes it run
-
-// Controller parameters
-SkedData.kpi     = 0.25;
-SkedData.krr     = 1.4;
-SkedData.zrr     = 0.88;
-SkedData.bmin    = 0;
-SkedData.bmax    = 1.5;
-
-// Simulation duration
-Nrounds          = 8000; // 8000
-
-
-for i=1:Nrounds //SkedData.t
-    SkedData.SP_Tr = 1+0.005*ramp(i-0200)-0.005*ramp(i-400)...
-                      -0.010*ramp(i-1200)+0.010*ramp(i-1300)...
-                      +0.002*ramp(i-2200)-0.002*ramp(i-2600)...
-                      -0.004*ramp(i-3200)+0.004*ramp(i-3400)...
-                      -0.800*step(i-3800)+1.300*step(i-4500)...
-                      +0.025*ramp(i-5500)-0.025*ramp(i-5600)...
-                      -0.025*ramp(i-6200)+0.025*ramp(i-6300);
-                      
-    //if i==0030
-    //   SkedData.alfaBlock = [0   1   0 ]';
-    //end;    
-    //if i==0100
-    //   SkedData.alfaBlock = [0   0   0 ]';
-    //end;   
-    if i==0500
-       AddProcessAtBottom();
-       SkedData.alfa    = [0.2 0.25 0.4 0.15]';
-    end;   
-    if i==1000
-       SkedData.alfa    = [0.1 0.15 0.2 0.55]';
-    end;
-    if i==2000
-       AddProcessAtBottom();
-       AddProcessAtBottom();
-       AddProcessAtBottom();
-       AddProcessAtBottom();
-       SkedData.alfa=[0.06 0.08 0.10 0.12 0.14 0.15 0.17 0.18]';
-    end;
-    //if i==2100
-    //   SkedData.alfaBlock = [0 0 1 0 0 1 0 1]';
-    //end;    
-    //if i==2450
-    //   SkedData.alfaBlock = [0 0 0 0 0 0 0 0]';
-    //end;  
-    if i==2500
-       RemProcessFromBottom();
-       RemProcessFromBottom();
-       SkedData.alfa=[0.05 0.05 0.05 0.10 0.10 0.65]';
-    end;
-    if i==3000
-       AddProcessAtBottom();    
-       SkedData.alfa=[0.60 0.05 0.05 0.10 0.10 0.05 0.05]';
-    end;
-    if i==4000
-       RemProcessFromBottom();
-       RemProcessFromBottom();
-       SkedData.alfa=[0.8 0.05 0.05 0.05 0.05]';
-    end;
-    if i==4500
-       AddProcessAtBottom();
-       SkedData.alfa=[0.1 0.1 0.2 0.2 0.2 0.2]';
-    end;
-    if i==4800
-       RemProcessFromBottom();
-       AddProcessAtBottom();
-       AddProcessAtBottom();
-       SkedData.alfa=[0.30 0.05 0.06 0.07 0.10 0.15 0.27]';
-    end;
-    ExecSkedRegulators();
-    ExecProcPool();
-    GetSimRes();
-end
-
-//SimRes.mt = 1:length(SimRes.mt);
-
-hf=scf(0); clf;
-hf.figure_size = [1100,700];
-drawlater();
-subplot(221); //SimRes.mt
-   plot([1:1:8000],SimRes.mSP_Tr,'r');
-   plot([1:1:8000],SimRes.mTr,'k');
-   plot([1:1:8000],SimRes.mbc,'g');   
-   title('Round duration (black) vs set point (red) and burst correction (green)');
-   ax = get("current_axes");
-   ax.data_bounds = [0,0;8000,4.5]; // [0,0;max(SimRes.mt),4.5]
-   ax.tight_limits = "on";
-   ylabel("time units");
-subplot(222);
-   plot([1:1:8000],SimRes.mSP_Tp,'r');
-   plot([1:1:8000],SimRes.mTp,'k');
-   title('Processes CPU use (black) vs set point (red)');
-   ax = get("current_axes");
-   ax.data_bounds = [0,0;8000,1.5]; // [0,0;max(SimRes.mt),1.5];
-   ax.tight_limits = "on";
-subplot(223);
-   for i = 0:SimRes.Ntot-1
-        //plot([0,max(SimRes.mt)],[1.5*i,1.5*i],'y');
-        plot([1:1:8000],SimRes.mSP_Tp(i+1,:)+1.5*i,'r');
-        plot([1:1:8000],SimRes.mTp(i+1,:)+1.5*i,'k');
-        //plot([0,max(SimRes.mt)],[1.5*i,1.5*i]+1,'g');
-   end
-   title('Individual processes CPU use');
-   ax = get("current_axes");
-   ax.data_bounds = [0,0;8000,12]; // [0,0;max(SimRes.mt),18];
-   ax.tight_limits = "on";
-   xlabel("time units");
-subplot(224);
-   for i = 0:SimRes.Ntot-1
-        plot([0,max(SimRes.mt)],[1.5*i,1.5*i],'y');
-        plot([1:1:8000],(SimRes.mb(i+1,:)...
-             -SkedData.bmin)/(SkedData.bmax-SkedData.bmin)+1.5*i,'k');
-        plot([0,max(SimRes.mt)],[1.5*i,1.5*i]+1,'g');
-   end
-   title('Normalised bursts');
-   ax = get("current_axes");
-   ax.data_bounds = [0,0;8000,12]; // [0,0;max(SimRes.mt),18];
-   ax.tight_limits = "on";
-   xlabel("time units");
-drawnow();
-