git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2839 35acf78f-673a-0410-8e92-d51de3d6d3f4

master
gdisirio 2011-03-23 13:12:41 +00:00
parent 9d812b5db3
commit 506212845d
22 changed files with 2315 additions and 1942 deletions

File diff suppressed because it is too large Load Diff

View File

@ -6,9 +6,9 @@ order to access directly the doxigen documentation.
*** Documentation build procedure ***
The following software must be installed:
- Doxygen 1.6.3 or later.
- Graphviz 2.21 or later. The ./bin directory must be specified in the path in
order to make Graphviz accessible by Doxygen.
- Doxygen 1.7.3 or later.
- Graphviz 2.26.3 or later. The ./bin directory must be specified in the path
in order to make Graphviz accessible by Doxygen.
Build procedure:
- Run Doxywizard.

View File

@ -1,3 +1,5 @@
/* The standard CSS for doxygen */
body, table, div, p, dl {
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
font-size: 12px;
@ -6,7 +8,6 @@ body, table, div, p, dl {
/* @group Heading Levels */
h1 {
text-align: center;
font-size: 150%;
}
@ -18,15 +19,52 @@ 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;
}
div.qindex, div.navpath, div.navtab{
background-color: #e8eef2;
border: 1px solid #84b0c7;
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;
@ -44,13 +82,13 @@ div.navtab {
/* @group Link Styling */
a {
color: #153788;
color: #3D578C;
font-weight: normal;
text-decoration: none;
}
.contents a:visited {
color: #1b77c5;
color: #4665A2;
}
a:hover {
@ -63,9 +101,13 @@ a.qindex {
a.qindexHL {
font-weight: bold;
background-color: #6666cc;
background-color: #9CAFD4;
color: #ffffff;
border: 1px double #9295C2;
border: 1px double #869DCA;
}
.contents a.qindexHL:visited {
color: #ffffff;
}
a.el {
@ -76,9 +118,11 @@ a.elRef {
}
a.code {
color: #4665A2;
}
a.codeRef {
color: #4665A2;
}
/* @end */
@ -93,10 +137,14 @@ dl.el {
}
pre.fragment {
border: 1px solid #CCCCCC;
background-color: #f5f5f5;
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 {
@ -104,13 +152,22 @@ div.ah {
font-weight: bold;
color: #ffffff;
margin-bottom: 3px;
margin-top: 3px
margin-top: 3px;
padding: 0.2em;
border: solid thin #333;
border-radius: 0.5em;
-webkit-border-radius: .5em;
-moz-border-radius: .5em;
box-shadow: 2px 2px 3px #999;
-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;
}
@ -122,27 +179,32 @@ div.groupText {
body {
background: white;
color: black;
margin-right: 20px;
margin-left: 20px;
margin: 0;
}
div.contents {
margin-top: 10px;
margin-left: 10px;
margin-right: 10px;
}
td.indexkey {
background-color: #e8eef2;
background-color: #EBEFF6;
font-weight: bold;
border: 1px solid #CCCCCC;
border: 1px solid #C4CFE5;
margin: 2px 0px 2px 0;
padding: 2px 10px;
}
td.indexvalue {
background-color: #e8eef2;
border: 1px solid #CCCCCC;
background-color: #EBEFF6;
border: 1px solid #C4CFE5;
padding: 2px 10px;
margin: 2px 0px;
}
tr.memlist {
background-color: #f0f0f0;
background-color: #EEF1F7;
}
p.formulaDsp {
@ -157,6 +219,27 @@ 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 {
@ -205,6 +288,7 @@ span.vhdllogic {
/* @end */
/*
.search {
color: #003399;
font-weight: bold;
@ -221,6 +305,7 @@ input.search {
font-weight: normal;
background-color: #e8eef2;
}
*/
td.tiny {
font-size: 75%;
@ -229,26 +314,35 @@ td.tiny {
.dirtab {
padding: 4px;
border-collapse: collapse;
border: 1px solid #84b0c7;
border: 1px solid #A3B4D7;
}
th.dirtab {
background: #e8eef2;
background: #EBEFF6;
font-weight: bold;
}
hr {
height: 0;
height: 0px;
border: none;
border-top: 1px solid #666;
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: #FAFAFA;
background-color: #F9FAFC;
border: none;
margin: 4px;
padding: 1px 0 0 8px;
@ -260,11 +354,16 @@ hr {
}
.memItemLeft, .memItemRight, .memTemplParams {
border-top: 1px solid #ccc;
border-top: 1px solid #C4CFE5;
}
.memItemLeft, .memTemplItemLeft {
white-space: nowrap;
}
.memTemplParams {
color: #606060;
color: #4665A2;
white-space: nowrap;
}
/* @end */
@ -275,14 +374,14 @@ hr {
.memtemplate {
font-size: 80%;
color: #606060;
color: #4665A2;
font-weight: normal;
margin-left: 3px;
margin-left: 9px;
}
.memnav {
background-color: #e8eef2;
border: 1px solid #84b0c7;
background-color: #EBEFF6;
border: 1px solid #A3B4D7;
text-align: center;
margin: 2px;
margin-right: 15px;
@ -291,39 +390,62 @@ hr {
.memitem {
padding: 0;
margin-bottom: 10px;
}
.memname {
white-space: nowrap;
font-weight: bold;
}
.memproto, .memdoc {
border: 1px solid #84b0c7;
white-space: nowrap;
font-weight: bold;
margin-left: 6px;
}
.memproto {
padding: 0;
background-color: #d5e1e8;
font-weight: bold;
-webkit-border-top-left-radius: 8px;
-webkit-border-top-right-radius: 8px;
-moz-border-radius-topleft: 8px;
-moz-border-radius-topright: 8px;
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);
/* opera specific markup */
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
border-top-right-radius: 8px;
border-top-left-radius: 8px;
/* 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 {
padding: 2px 5px;
background-color: #eef3f5;
border-top-width: 0;
-webkit-border-bottom-left-radius: 8px;
-webkit-border-bottom-right-radius: 8px;
-moz-border-radius-bottomleft: 8px;
-moz-border-radius-bottomright: 8px;
}
.memdoc p, .memdoc dl, .memdoc ul {
margin: 6px 0;
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;
/* opera specific markup */
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
/* 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 {
@ -342,6 +464,28 @@ hr {
font-style: normal;
}
.params, .retval, .exception, .tparams {
border-spacing: 6px 2px;
}
.params .paramname, .retval .paramname {
font-weight: bold;
vertical-align: top;
}
.params .paramtype {
font-style: italic;
vertical-align: top;
}
.params .paramdir {
font-family: "courier new",courier,monospace;
vertical-align: top;
}
/* @end */
/* @group Directory (tree) */
@ -350,7 +494,7 @@ hr {
.ftvtree {
font-family: sans-serif;
margin: 0.5em;
margin: 0px;
}
/* these are for tree view when used as main index */
@ -358,6 +502,7 @@ hr {
.directory {
font-size: 9pt;
font-weight: bold;
margin: 5px;
}
.directory h3 {
@ -435,7 +580,221 @@ proper pixel height of your image.
/* @end */
div.dynheader {
margin-top: 8px;
}
address {
font-style: normal;
color: #333;
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 li.navelem a
{
height:32px;
display:block;
text-decoration: none;
outline: none;
}
.navpath li.navelem a:hover
{
color:#6884BD;
}
.navpath li.footer
{
list-style-type:none;
float:right;
padding-left:10px;
padding-right:15px;
background-image:none;
background-repeat:no-repeat;
background-position:right;
color:#364D7C;
font-size: 8pt;
}
div.summary
{
float: right;
font-size: 8pt;
padding-right: 5px;
width: 50%;
text-align: right;
}
div.summary a
{
white-space: nowrap;
}
div.ingroups
{
font-size: 8pt;
padding-left: 5px;
width: 50%;
text-align: left;
}
div.ingroups 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;
}
dl
{
padding: 0 0 0 10px;
}
dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug
{
border-left:4px solid;
padding: 0 0 0 6px;
}
dl.note
{
border-color: #D0D000;
}
dl.warning, dl.attention
{
border-color: #FF0000;
}
dl.pre, dl.post, dl.invariant
{
border-color: #00D000;
}
dl.deprecated
{
border-color: #505050;
}
dl.todo
{
border-color: #00C0E0;
}
dl.test
{
border-color: #3030E0;
}
dl.bug
{
border-color: #C08050;
}
#projectlogo
{
text-align: center;
vertical-align: bottom;
border-collapse: separate;
}
#projectlogo img
{
border: 0px none;
}
#projectname
{
font: 300% arial,sans-serif;
margin: 0px;
padding: 0px;
}
#projectbrief
{
font: 120% arial,sans-serif;
margin: 0px;
padding: 0px;
}
#projectnumber
{
font: 50% arial,sans-serif;
margin: 0px;
padding: 0px;
}
#titlearea
{
padding: 0px;
margin: 0px;
width: 100%;
border-bottom: 1px solid #5373B4;
}

View File

@ -1,4 +1,7 @@
<hr size="1"><address style="text-align: right;"><small>
Generated on $datetime for $projectname by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> $doxygenversion</small></address>
<li class="footer">Generated on $datetime for $projectname by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> $doxygenversion </li>
</ul>
</div>
</body>
</html>

View File

@ -1,17 +1,28 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<!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>$title</title>
<link href="custom.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<table style="text-align: center; width: 100%;" border="0"
cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="width: 80px;"><img alt="ChibiOS/RT Logo" src="logo_small.png"></td>
<td><big><big>ChibiOS/RT</big></big><br><br>Architecture - Reference Manual - Guides</td>
<td style="width: 80px;"></td>
</tr>
</tbody>
<link href="$relpath$tabs.css" rel="stylesheet" type="text/css"/>
<link href="$relpath$navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="$relpath$jquery.js"></script>
<script type="text/javascript" src="$relpath$navtree.js"></script>
<script type="text/javascript" src="$relpath$resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="$relpath$doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">ChibiOS/RT&#160;<span id="projectnumber">2.3.1</span></div>
</td>
</tr>
</tbody>
</table>
<hr size="1">
</div>

View File

@ -2,24 +2,24 @@
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="mainpage" visible="yes" title=""/>
<tab type="pages" visible="yes" title=""/>
<tab type="modules" visible="yes" title=""/>
<tab type="pages" visible="yes" title="" intro=""/>
<tab type="modules" visible="yes" title="" intro=""/>
<tab type="namespaces" visible="yes" title="">
<tab type="namespaces" visible="yes" title=""/>
<tab type="namespacemembers" visible="yes" title=""/>
<tab type="namespaces" visible="yes" title="" intro=""/>
<tab type="namespacemembers" visible="yes" title="" intro=""/>
</tab>
<tab type="classes" visible="yes" title="">
<tab type="classes" visible="yes" title=""/>
<tab type="classes" visible="yes" title="" intro=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="hierarchy" visible="yes" title=""/>
<tab type="classmembers" visible="yes" title=""/>
<tab type="hierarchy" visible="yes" title="" intro=""/>
<tab type="classmembers" visible="yes" title="" intro=""/>
</tab>
<tab type="files" visible="yes" title="">
<tab type="files" visible="yes" title=""/>
<tab type="globals" visible="yes" title=""/>
<tab type="files" visible="yes" title="" intro=""/>
<tab type="globals" visible="yes" title="" intro=""/>
</tab>
<tab type="dirs" visible="yes" title=""/>
<tab type="examples" visible="yes" title=""/>
<tab type="dirs" visible="yes" title="" intro=""/>
<tab type="examples" visible="yes" title="" intro=""/>
</navindex>
<!-- Layout definition for a class page -->
@ -108,20 +108,20 @@
<memberdecl>
<classes visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<functions title=""/>
<variables title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<functions title=""/>
<variables title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
</memberdef>
<authorsection/>
</file>
@ -130,15 +130,14 @@
<group>
<briefdescription visible="yes"/>
<groupgraph visible="$GROUP_GRAPHS"/>
<detaileddescription title="Description"/>
<memberdecl>
<classes visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<dirs visible="yes" title=""/>
<nestedgroups visible="yes" title=""/>
<files visible="yes" title=""/>
<variables title=""/>
<functions title=""/>
<variables title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
@ -152,10 +151,11 @@
<friends title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<pagedocs/>
<variables title=""/>
<functions title=""/>
<variables title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>

View File

@ -1,102 +0,0 @@
/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
DIV.tabs
{
float : left;
width : 100%;
background : url("tab_b.gif") repeat-x bottom;
margin-bottom : 4px;
}
DIV.tabs UL
{
margin : 0px;
padding-left : 10px;
list-style : none;
}
DIV.tabs LI, DIV.tabs FORM
{
display : inline;
margin : 0px;
padding : 0px;
}
DIV.tabs FORM
{
float : right;
}
DIV.tabs A
{
float : left;
background : url("tab_r.gif") no-repeat right top;
border-bottom : 1px solid #84B0C7;
font-size : 8px;
font-weight : bold;
text-decoration : none;
}
DIV.tabs A:hover
{
background-position: 100% -150px;
}
DIV.tabs A:link, DIV.tabs A:visited,
DIV.tabs A:active, DIV.tabs A:hover
{
color: #1A419D;
}
DIV.tabs SPAN
{
float : left;
display : block;
background : url("tab_l.gif") no-repeat left top;
padding : 5px 9px;
white-space : nowrap;
}
DIV.tabs INPUT
{
float : right;
display : inline;
font-size : 1em;
}
DIV.tabs TD
{
font-size : 8px;
font-weight : bold;
text-decoration : none;
}
/* Commented Backslash Hack hides rule from IE5-Mac \*/
DIV.tabs SPAN {float : none;}
/* End IE5-Mac hack */
DIV.tabs A:hover SPAN
{
background-position: 0% -150px;
}
DIV.tabs LI.current A
{
background-position: 100% -150px;
border-width : 0px;
}
DIV.tabs LI.current SPAN
{
background-position: 0% -150px;
padding-bottom : 6px;
}
DIV.navpath
{
background : none;
border : none;
border-bottom : 1px solid #84B0C7;
}

View File

@ -416,7 +416,7 @@ typedef const USBDescriptor * (*usbgetdescriptor_t)(USBDriver *usbp,
* @brief Common ISR code, usb event callback.
*
* @param[in] usbp pointer to the @p USBDriver object
* @param[in] ep endpoint number
* @param[in] evt USB event code
*
* @notapi
*/
@ -429,7 +429,6 @@ typedef const USBDescriptor * (*usbgetdescriptor_t)(USBDriver *usbp,
* @brief Common ISR code, SOF callback.
*
* @param[in] usbp pointer to the @p USBDriver object
* @param[in] ep endpoint number
*
* @notapi
*/

View File

@ -111,7 +111,7 @@ static void serve_interrupt(PWMDriver *pwmp) {
sr = pwmp->tim->SR;
sr &= pwmp->tim->DIER;
pwmp->tim->SR = ~(TIM_SR_CC1IF | TIM_SR_CC2IF | TIM_SR_CC3IF |
TIM_SR_CC4IF | TIM_SR_UIF);
TIM_SR_CC4IF | TIM_SR_UIF);
if ((sr & TIM_SR_CC1IF) != 0)
pwmp->config->channels[0].callback(pwmp);
if ((sr & TIM_SR_CC2IF) != 0)
@ -354,13 +354,13 @@ void pwm_lld_start(PWMDriver *pwmp) {
/* All channels configured in PWM1 mode with preload enabled and will
stay that way until the driver is stopped.*/
pwmp->tim->CCMR1 = TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2 |
TIM_CCMR1_OC1PE |
TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2M_2 |
TIM_CCMR1_OC2PE;
TIM_CCMR1_OC1PE |
TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2M_2 |
TIM_CCMR1_OC2PE;
pwmp->tim->CCMR2 = TIM_CCMR2_OC3M_1 | TIM_CCMR2_OC3M_2 |
TIM_CCMR2_OC3PE |
TIM_CCMR2_OC4M_1 | TIM_CCMR2_OC4M_2 |
TIM_CCMR2_OC4PE;
TIM_CCMR2_OC3PE |
TIM_CCMR2_OC4M_1 | TIM_CCMR2_OC4M_2 |
TIM_CCMR2_OC4PE;
}
else {
/* Driver re-configuration scenario, it must be stopped first.*/
@ -444,7 +444,7 @@ void pwm_lld_stop(PWMDriver *pwmp) {
pwmp->tim->BDTR = 0;
pwmp->tim->DIER = 0;
pwmp->tim->SR = 0;
pwmp->tim->EGR = TIM_EGR_UG; /* Update event. */
pwmp->tim->EGR = TIM_EGR_UG; /* Update event. */
#if STM32_PWM_USE_TIM1
if (&PWMD1 == pwmp) {

View File

@ -299,3 +299,5 @@ stall_both:
chSysUnlockFromIsr();
return;
}
/** @} */

View File

@ -93,6 +93,11 @@
as default.
- CHANGE: Removed all the prefixes from the structure/union field names
in the HAL subsystem.
- CHANGE: Updated the documentation to use Doxygen 1.7.3 which produces a much
more readable output. Also modified the documentation layout to put functions
and variables ahead of everything else in the group pages.
Doxygen version below 1.7.3 cannot be used anymore because differences in
templates.
*** 2.3.0 ***
- FIX: Fixed race condition in CM0 ports, the fix also improves the

View File

@ -61,7 +61,7 @@
*/
static Semaphore sem1;
#if CH_USE_MUTEXES
#if CH_USE_MUTEXES || defined(__DOXYGEN__)
static Mutex mtx1;
#endif
@ -577,7 +577,7 @@ ROMCONST struct testcase testbmk11 = {
bmk11_execute
};
#if CH_USE_MUTEXES
#if CH_USE_MUTEXES || defined(__DOXYGEN__)
/**
* @page test_benchmarks_012 Mutexes lock/unlock performance
*
@ -648,7 +648,7 @@ static void bmk13_execute(void) {
test_print("--- Semaph: ");
test_printn(sizeof(Semaphore));
test_println(" bytes");
#if CH_USE_EVENTS
#if CH_USE_EVENTS || defined(__DOXYGEN__)
test_print("--- EventS: ");
test_printn(sizeof(EventSource));
test_println(" bytes");
@ -656,22 +656,22 @@ static void bmk13_execute(void) {
test_printn(sizeof(EventListener));
test_println(" bytes");
#endif
#if CH_USE_MUTEXES
#if CH_USE_MUTEXES || defined(__DOXYGEN__)
test_print("--- Mutex : ");
test_printn(sizeof(Mutex));
test_println(" bytes");
#endif
#if CH_USE_CONDVARS
#if CH_USE_CONDVARS || defined(__DOXYGEN__)
test_print("--- CondV.: ");
test_printn(sizeof(CondVar));
test_println(" bytes");
#endif
#if CH_USE_QUEUES
#if CH_USE_QUEUES || defined(__DOXYGEN__)
test_print("--- Queue : ");
test_printn(sizeof(GenericQueue));
test_println(" bytes");
#endif
#if CH_USE_MAILBOXES
#if CH_USE_MAILBOXES || defined(__DOXYGEN__)
test_print("--- MailB.: ");
test_printn(sizeof(Mailbox));
test_println(" bytes");
@ -701,7 +701,7 @@ ROMCONST struct testcase * ROMCONST patternbmk[] = {
&testbmk9,
&testbmk10,
&testbmk11,
#if CH_USE_MUTEXES
#if CH_USE_MUTEXES || defined(__DOXYGEN__)
&testbmk12,
#endif
&testbmk13,

View File

@ -53,11 +53,11 @@
* @brief Dynamic thread APIs test header file
*/
#if CH_USE_DYNAMIC
#if CH_USE_HEAP
#if CH_USE_DYNAMIC || defined(__DOXYGEN__)
#if CH_USE_HEAP || defined(__DOXYGEN__)
static MemoryHeap heap1;
#endif
#if CH_USE_MEMPOOLS
#if CH_USE_MEMPOOLS || defined(__DOXYGEN__)
static MemoryPool mp1;
#endif
@ -78,7 +78,7 @@ static msg_t thread(void *p) {
return 0;
}
#if CH_USE_HEAP
#if CH_USE_HEAP || defined(__DOXYGEN__)
static void dyn1_setup(void) {
chHeapInit(&heap1, test.buffer, sizeof(union test_buffers));
@ -126,7 +126,7 @@ ROMCONST struct testcase testdyn1 = {
};
#endif /* CH_USE_HEAP */
#if CH_USE_MEMPOOLS
#if CH_USE_MEMPOOLS || defined(__DOXYGEN__)
/**
* @page test_dynamic_002 Threads creation from Memory Pool
*
@ -182,7 +182,7 @@ ROMCONST struct testcase testdyn2 = {
};
#endif /* CH_USE_MEMPOOLS */
#if CH_USE_HEAP && CH_USE_REGISTRY
#if (CH_USE_HEAP && CH_USE_REGISTRY) || defined(__DOXYGEN__)
/**
* @page test_dynamic_003 Registry and References test
*
@ -251,14 +251,14 @@ ROMCONST struct testcase testdyn3 = {
* @brief Test sequence for dynamic APIs.
*/
ROMCONST struct testcase * ROMCONST patterndyn[] = {
#if CH_USE_DYNAMIC
#if CH_USE_HEAP
#if CH_USE_DYNAMIC || defined(__DOXYGEN__)
#if CH_USE_HEAP || defined(__DOXYGEN__)
&testdyn1,
#endif
#if CH_USE_MEMPOOLS
#if CH_USE_MEMPOOLS || defined(__DOXYGEN__)
&testdyn2,
#endif
#if CH_USE_HEAP && CH_USE_REGISTRY
#if (CH_USE_HEAP && CH_USE_REGISTRY) || defined(__DOXYGEN__)
&testdyn3,
#endif
#endif

View File

@ -51,7 +51,7 @@
* @brief Events test header file
*/
#if CH_USE_EVENTS
#if CH_USE_EVENTS || defined(__DOXYGEN__)
#define ALLOWED_DELAY MS2ST(5)
@ -232,7 +232,7 @@ ROMCONST struct testcase testevt2 = {
evt2_execute
};
#if CH_USE_EVENTS_TIMEOUT
#if CH_USE_EVENTS_TIMEOUT || defined(__DOXYGEN__)
/**
* @page test_events_003 Events timeout
*
@ -285,10 +285,10 @@ ROMCONST struct testcase testevt3 = {
* @brief Test sequence for events.
*/
ROMCONST struct testcase * ROMCONST patternevt[] = {
#if CH_USE_EVENTS
#if CH_USE_EVENTS || defined(__DOXYGEN__)
&testevt1,
&testevt2,
#if CH_USE_EVENTS_TIMEOUT
#if CH_USE_EVENTS_TIMEOUT || defined(__DOXYGEN__)
&testevt3,
#endif
#endif

View File

@ -48,7 +48,7 @@
* @brief Heap header file
*/
#if CH_USE_HEAP
#if CH_USE_HEAP || defined(__DOXYGEN__)
#define SIZE 16
@ -156,7 +156,7 @@ ROMCONST struct testcase testheap1 = {
* @brief Test sequence for heap.
*/
ROMCONST struct testcase * ROMCONST patternheap[] = {
#if CH_USE_HEAP
#if CH_USE_HEAP || defined(__DOXYGEN__)
&testheap1,
#endif
NULL

View File

@ -51,7 +51,7 @@
* @brief Mailboxes header file
*/
#if CH_USE_MAILBOXES
#if CH_USE_MAILBOXES || defined(__DOXYGEN__)
#define ALLOWED_DELAY MS2ST(5)
#define MB_SIZE 5
@ -218,7 +218,7 @@ ROMCONST struct testcase testmbox1 = {
* @brief Test sequence for mailboxes.
*/
ROMCONST struct testcase * ROMCONST patternmbox[] = {
#if CH_USE_MAILBOXES
#if CH_USE_MAILBOXES || defined(__DOXYGEN__)
&testmbox1,
#endif
NULL

View File

@ -49,7 +49,7 @@
* @brief Messages header file
*/
#if CH_USE_MESSAGES
#if CH_USE_MESSAGES || defined(__DOXYGEN__)
/**
* @page test_msg_001 Messages Server loop
@ -105,7 +105,7 @@ ROMCONST struct testcase testmsg1 = {
* @brief Test sequence for messages.
*/
ROMCONST struct testcase * ROMCONST patternmsg[] = {
#if CH_USE_MESSAGES
#if CH_USE_MESSAGES || defined(__DOXYGEN__)
&testmsg1,
#endif
NULL

View File

@ -60,7 +60,7 @@
* @brief Mutexes and CondVars test header file
*/
#if CH_USE_MUTEXES
#if CH_USE_MUTEXES || defined(__DOXYGEN__)
#define ALLOWED_DELAY 5
@ -71,7 +71,7 @@
*/
static MUTEX_DECL(m1);
static MUTEX_DECL(m2);
#if CH_USE_CONDVARS
#if CH_USE_CONDVARS || defined(__DOXYGEN__)
static CONDVAR_DECL(c1);
#endif
@ -120,7 +120,7 @@ ROMCONST struct testcase testmtx1 = {
mtx1_execute
};
#if CH_DBG_THREADS_PROFILING
#if CH_DBG_THREADS_PROFILING || defined(__DOXYGEN__)
/**
* @page test_mtx_002 Priority inheritance, simple case
*
@ -467,7 +467,7 @@ ROMCONST struct testcase testmtx5 = {
mtx5_execute
};
#if CH_USE_CONDVARS
#if CH_USE_CONDVARS || defined(__DOXYGEN__)
/**
* @page test_mtx_006 Condition Variable signal test
*
@ -578,7 +578,7 @@ static msg_t thread11(void *p) {
chMtxLock(&m2);
chMtxLock(&m1);
#if CH_USE_CONDVARS_TIMEOUT
#if CH_USE_CONDVARS_TIMEOUT || defined(__DOXYGEN__)
chCondWaitTimeout(&c1, TIME_INFINITE);
#else
chCondWait(&c1);
@ -622,15 +622,15 @@ ROMCONST struct testcase testmtx8 = {
* @brief Test sequence for mutexes.
*/
ROMCONST struct testcase * ROMCONST patternmtx[] = {
#if CH_USE_MUTEXES
#if CH_USE_MUTEXES || defined(__DOXYGEN__)
&testmtx1,
#if CH_DBG_THREADS_PROFILING
#if CH_DBG_THREADS_PROFILING || defined(__DOXYGEN__)
&testmtx2,
&testmtx3,
#endif
&testmtx4,
&testmtx5,
#if CH_USE_CONDVARS
#if CH_USE_CONDVARS || defined(__DOXYGEN__)
&testmtx6,
&testmtx7,
&testmtx8,

View File

@ -48,7 +48,7 @@
* @brief Memory Pools test header file
*/
#if CH_USE_MEMPOOLS
#if CH_USE_MEMPOOLS || defined(__DOXYGEN__)
static MEMORYPOOL_DECL(mp1, THD_WA_SIZE(THREADS_STACK_SIZE), NULL);
@ -104,7 +104,7 @@ ROMCONST struct testcase testpools1 = {
* @brief Test sequence for pools.
*/
ROMCONST struct testcase * ROMCONST patternpools[] = {
#if CH_USE_MEMPOOLS
#if CH_USE_MEMPOOLS || defined(__DOXYGEN__)
&testpools1,
#endif
NULL

View File

@ -54,7 +54,7 @@
* @brief I/O Queues test header file
*/
#if CH_USE_QUEUES
#if CH_USE_QUEUES || defined(__DOXYGEN__)
#define TEST_QUEUES_SIZE 4
@ -224,7 +224,7 @@ ROMCONST struct testcase testqueues2 = {
* @brief Test sequence for queues.
*/
ROMCONST struct testcase * ROMCONST patternqueues[] = {
#if CH_USE_QUEUES
#if CH_USE_QUEUES || defined(__DOXYGEN__)
&testqueues1,
&testqueues2,
#endif

View File

@ -51,7 +51,7 @@
* @brief Semaphores test header file
*/
#if CH_USE_SEMAPHORES
#if CH_USE_SEMAPHORES || defined(__DOXYGEN__)
#define ALLOWED_DELAY MS2ST(5)
@ -190,7 +190,7 @@ ROMCONST struct testcase testsem2 = {
sem2_execute
};
#if CH_USE_SEMSW
#if CH_USE_SEMSW || defined(__DOXYGEN__)
/**
* @page test_sem_003 Atomic signal-wait test
*
@ -292,10 +292,10 @@ ROMCONST struct testcase testsem4 = {
* @brief Test sequence for semaphores.
*/
ROMCONST struct testcase * ROMCONST patternsem[] = {
#if CH_USE_SEMAPHORES
#if CH_USE_SEMAPHORES || defined(__DOXYGEN__)
&testsem1,
&testsem2,
#if CH_USE_SEMSW
#if CH_USE_SEMSW || defined(__DOXYGEN__)
&testsem3,
#endif
&testsem4,

View File

@ -142,7 +142,7 @@ static void thd3_execute(void) {
test_assert(4, chThdGetPriority() == prio,
"unexpected priority level");
#if CH_USE_MUTEXES
#if CH_USE_MUTEXES || defined(__DOXYGEN__)
/* Simulates a priority boost situation (p_prio > p_realprio).*/
chSysLock();
chThdSelf()->p_prio += 2;