Add new doxygen generated documents

gh-pages
nirenjan 2020-05-31 08:47:56 -07:00
parent 02d742a607
commit 7c48858b6f
111 changed files with 8862 additions and 0 deletions

BIN
bc_s.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 B

BIN
bdwn.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

BIN
closed.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

85
deprecated.html 100644
View File

@ -0,0 +1,85 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: Deprecated List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">Deprecated List </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><dl class="reflist">
<dt>Global <a class="el" href="group__libx52init.html#gaf9ae27c6e505bce8c4415a638033a4bd">libx52_init</a> (libx52_device **dev)</dt>
<dd><a class="anchor" id="_deprecated000001"></a> Connection to a supported joystick is no longer a goal of this function. It will continue to attempt to connect to the joystick during initialization so that existing clients don't break, but it is highly recommended that all clients use <a class="el" href="group__libx52init.html#ga65998f1155fb093f45babfd0c2c138d9">libx52_connect</a> to explicitly connect to the joystick. <br />
<br />
A future release will remove the automatic connection.</dd>
</dl>
</div></div><!-- contents -->
</div><!-- PageDoc -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,78 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: /home/nirenjan/project/x52pro-linux/utils/cli -&gt; lib Relation</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html">utils</a></li><li class="navelem"><a class="el" href="dir_c802a52f71a9867085062b6c590fa632.html">cli</a></li> </ul>
</div>
</div><!-- top -->
<div class="contents">
<h3>cli &rarr; lib Relation</h3><table class="dirtab"><tr class="dirtab"><th class="dirtab">File in utils/cli</th><th class="dirtab">Includes file in lib</th></tr><tr class="dirtab"><td class="dirtab"><b>x52_cli.c</b></td><td class="dirtab"><a class="el" href="dir_c4264133ce0ceb85bd09aca42f7150c0.html">libx52</a>&#160;/&#160;<a class="el" href="libx52_8h.html">libx52.h</a></td></tr></table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,89 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: /home/nirenjan/project/x52pro-linux/lib/libx52util Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="dir_0354751298007beb2a3261692ff9cc9e.html">libx52util</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">libx52util Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:libx52util_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libx52util_8h.html">libx52util.h</a> <a href="libx52util_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:libx52util_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility functions for the Saitek X52 MFD &amp; LED driver library. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,82 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: /home/nirenjan/project/x52pro-linux/lib/libx52/doc Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="dir_c4264133ce0ceb85bd09aca42f7150c0.html">libx52</a></li><li class="navelem"><a class="el" href="dir_645212cc8010c2417e5956d1676a2316.html">doc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">doc Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,86 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: /home/nirenjan/project/x52pro-linux/lib Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">lib Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
Directories</h2></td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,89 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: /home/nirenjan/project/x52pro-linux/lib/libx52 Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="dir_c4264133ce0ceb85bd09aca42f7150c0.html">libx52</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">libx52 Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:libx52_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libx52_8h.html">libx52.h</a> <a href="libx52_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:libx52_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions, structures and enumerations for the Saitek X52 MFD &amp; LED driver library. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,93 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: /home/nirenjan/project/x52pro-linux/utils/cli Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html">utils</a></li><li class="navelem"><a class="el" href="dir_c802a52f71a9867085062b6c590fa632.html">cli</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">cli Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Directory dependency graph for cli:</div>
<div class="dyncontent">
<div class="center"><img src="dir_c802a52f71a9867085062b6c590fa632_dep.png" border="0" usemap="#dir__c802a52f71a9867085062b6c590fa632__dep" alt="/home/nirenjan/project/x52pro-linux/utils/cli"/></div>
<map name="dir__c802a52f71a9867085062b6c590fa632__dep" id="dir__c802a52f71a9867085062b6c590fa632__dep">
<area shape="rect" href="dir_c802a52f71a9867085062b6c590fa632.html" title="cli" alt="" coords="27,52,99,100"/>
<area shape="rect" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html" title="lib" alt="" coords="27,148,99,196"/>
<area shape="rect" href="dir_000005_000000.html" title="1" alt="" coords="66,122,76,137"/>
<area shape="rect" href="dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html" title="utils" alt="" coords="16,16,109,111"/>
</map>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,6 @@
<map id="/home/nirenjan/project/x52pro&#45;linux/utils/cli" name="/home/nirenjan/project/x52pro&#45;linux/utils/cli">
<area shape="rect" id="node1" href="dir_c802a52f71a9867085062b6c590fa632.html" title="cli" alt="" coords="27,52,99,100"/>
<area shape="rect" id="node2" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html" title="lib" alt="" coords="27,148,99,196"/>
<area shape="rect" id="edge1-headlabel" href="dir_000005_000000.html" title="1" alt="" coords="66,122,76,137"/>
<area shape="rect" id="clust1" href="dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html" title="utils" alt="" coords="16,16,109,111"/>
</map>

View File

@ -0,0 +1 @@
cb5451c33082a99e3b33ddb207a5db5a

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,97 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: /home/nirenjan/project/x52pro-linux/utils Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html">utils</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">utils Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Directory dependency graph for utils:</div>
<div class="dyncontent">
<div class="center"><img src="dir_cbdb8362360e11eafe2fa3bc74cf0ffd_dep.png" border="0" usemap="#dir__cbdb8362360e11eafe2fa3bc74cf0ffd__dep" alt="/home/nirenjan/project/x52pro-linux/utils"/></div>
<map name="dir__cbdb8362360e11eafe2fa3bc74cf0ffd__dep" id="dir__cbdb8362360e11eafe2fa3bc74cf0ffd__dep">
<area shape="rect" href="dir_c802a52f71a9867085062b6c590fa632.html" title="cli" alt="" coords="27,27,99,75"/>
<area shape="rect" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html" title="lib" alt="" coords="27,123,99,171"/>
<area shape="rect" href="dir_000005_000000.html" title="1" alt="" coords="66,97,76,112"/>
<area shape="rect" href="dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html" alt="" coords="16,16,205,85"/>
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
Directories</h2></td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,6 @@
<map id="/home/nirenjan/project/x52pro&#45;linux/utils" name="/home/nirenjan/project/x52pro&#45;linux/utils">
<area shape="rect" id="node2" href="dir_c802a52f71a9867085062b6c590fa632.html" title="cli" alt="" coords="27,27,99,75"/>
<area shape="rect" id="node3" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html" title="lib" alt="" coords="27,123,99,171"/>
<area shape="rect" id="edge1-headlabel" href="dir_000005_000000.html" title="1" alt="" coords="66,97,76,112"/>
<area shape="rect" id="clust1" href="dir_cbdb8362360e11eafe2fa3bc74cf0ffd.html" alt="" coords="16,16,205,85"/>
</map>

View File

@ -0,0 +1 @@
c11cd7eb7c14bfeaff0cfa7c8da7efa2

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
doc.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

1771
doxygen.css 100644

File diff suppressed because it is too large Load Diff

BIN
doxygen.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

120
dynsections.js 100644
View File

@ -0,0 +1,120 @@
/*
@licstart The following is the entire license notice for the
JavaScript code in this file.
Copyright (C) 1997-2017 by Dimitri van Heesch
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
@licend The above is the entire license notice
for the JavaScript code in this file
*/
function toggleVisibility(linkObj)
{
var base = $(linkObj).attr('id');
var summary = $('#'+base+'-summary');
var content = $('#'+base+'-content');
var trigger = $('#'+base+'-trigger');
var src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
}
function updateStripes()
{
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
}
function toggleLevel(level)
{
$('table.directory tr').each(function() {
var l = this.id.split('_').length-1;
var i = $('#img'+this.id.substring(3));
var a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
a.html('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(this).show();
} else {
$(this).hide();
}
});
updateStripes();
}
function toggleFolder(id)
{
// the clicked row
var currentRow = $('#row_'+id);
// all rows after the clicked row
var rows = currentRow.nextAll("tr");
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
var childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
currentRowSpans.filter(".arrow").html('&#9658;');
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
currentRowSpans.filter(".arrow").html('&#9660;');
// replace down arrows by right arrows for child rows
var childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
childRowsSpans.filter(".arrow").html('&#9658;');
childRows.show(); //show all children
}
updateStripes();
}
function toggleInherit(id)
{
var rows = $('tr.inherit.'+id);
var img = $('tr.inherit_header.'+id+' img');
var src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}
/* @license-end */

87
files.html 100644
View File

@ -0,0 +1,87 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: File List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">File List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')">&#160;</span><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html" target="_self">lib</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9660;</span><span id="img_0_0_" class="iconfopen" onclick="toggleFolder('0_0_')">&#160;</span><a class="el" href="dir_c4264133ce0ceb85bd09aca42f7150c0.html" target="_self">libx52</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="libx52_8h_source.html"><span class="icondoc"></span></a><a class="el" href="libx52_8h.html" target="_self">libx52.h</a></td><td class="desc">Functions, structures and enumerations for the Saitek X52 MFD &amp; LED driver library </td></tr>
<tr id="row_0_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">&#9660;</span><span id="img_0_1_" class="iconfopen" onclick="toggleFolder('0_1_')">&#160;</span><a class="el" href="dir_0354751298007beb2a3261692ff9cc9e.html" target="_self">libx52util</a></td><td class="desc"></td></tr>
<tr id="row_0_1_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="libx52util_8h_source.html"><span class="icondoc"></span></a><a class="el" href="libx52util_8h.html" target="_self">libx52util.h</a></td><td class="desc">Utility functions for the Saitek X52 MFD &amp; LED driver library </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

BIN
folderclosed.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

BIN
folderopen.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

288
globals.html 100644
View File

@ -0,0 +1,288 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:</div>
<h3><a id="index_l"></a>- l -</h3><ul>
<li>libx52_check_feature()
: <a class="el" href="group__libx52misc.html#ga504ed71c3e543da1436ea99465289ceb">libx52.h</a>
</li>
<li>LIBX52_CLOCK_1
: <a class="el" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca85dccae177b78d35e21875772738ac70">libx52.h</a>
</li>
<li>LIBX52_CLOCK_2
: <a class="el" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917cab2d9e9967646a797dfb652d81a964282">libx52.h</a>
</li>
<li>LIBX52_CLOCK_3
: <a class="el" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca422990d812ea1dd9e94a5b3d03565945">libx52.h</a>
</li>
<li>libx52_clock_format
: <a class="el" href="group__libx52clock.html#ga0c9c90bdba150b6e48ddab30aea45268">libx52.h</a>
</li>
<li>LIBX52_CLOCK_FORMAT_12HR
: <a class="el" href="group__libx52clock.html#gga0c9c90bdba150b6e48ddab30aea45268a7e216a257012c9aa2a5b847a4cb96332">libx52.h</a>
</li>
<li>LIBX52_CLOCK_FORMAT_24HR
: <a class="el" href="group__libx52clock.html#gga0c9c90bdba150b6e48ddab30aea45268a1a60fdc6dacbf9a46a93a161d2644908">libx52.h</a>
</li>
<li>libx52_clock_id
: <a class="el" href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">libx52.h</a>
</li>
<li>libx52_connect()
: <a class="el" href="group__libx52init.html#ga65998f1155fb093f45babfd0c2c138d9">libx52.h</a>
</li>
<li>libx52_date_format
: <a class="el" href="group__libx52clock.html#ga0da0bde31d817eaa42465b0dea2ccf5a">libx52.h</a>
</li>
<li>LIBX52_DATE_FORMAT_DDMMYY
: <a class="el" href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aa81d30d59013fcef952c9d10a30942abc">libx52.h</a>
</li>
<li>LIBX52_DATE_FORMAT_MMDDYY
: <a class="el" href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aad91220edc91513325af1def4bcdfc07c">libx52.h</a>
</li>
<li>LIBX52_DATE_FORMAT_YYMMDD
: <a class="el" href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aad2c9819fc5590f542a22c42a3243bd5e">libx52.h</a>
</li>
<li>libx52_device
: <a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52.h</a>
</li>
<li>libx52_disconnect()
: <a class="el" href="group__libx52init.html#ga82f3fb7f750aa5480d23b69875d3ebe8">libx52.h</a>
</li>
<li>LIBX52_ERROR_BUSY
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7afe5cd825cc2c26c9226025dcb5628f9d">libx52.h</a>
</li>
<li>libx52_error_code
: <a class="el" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52.h</a>
</li>
<li>LIBX52_ERROR_INIT_FAILURE
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a22d30938f3a413c16e9ab2e6c183daeb">libx52.h</a>
</li>
<li>LIBX52_ERROR_INTERRUPTED
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a1601986a5a57898997fde902f994b91d">libx52.h</a>
</li>
<li>LIBX52_ERROR_INVALID_PARAM
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b">libx52.h</a>
</li>
<li>LIBX52_ERROR_IO
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a1dd2726f8ffacda63b180c68bdf1838f">libx52.h</a>
</li>
<li>LIBX52_ERROR_NO_DEVICE
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ad3e9a0e2e18b469ddc7135d73942e29a">libx52.h</a>
</li>
<li>LIBX52_ERROR_NOT_FOUND
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a5d77a34c39dfa1757553ecd073913844">libx52.h</a>
</li>
<li>LIBX52_ERROR_NOT_SUPPORTED
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a97af04ffc3130e25c9eb03abaafbbaca">libx52.h</a>
</li>
<li>LIBX52_ERROR_OUT_OF_MEMORY
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7adc972428ef5695848c268f927a0974cc">libx52.h</a>
</li>
<li>LIBX52_ERROR_OUT_OF_RANGE
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac329401de31cc6c50160c1fafcdc5efa">libx52.h</a>
</li>
<li>LIBX52_ERROR_OVERFLOW
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac331268731d911dfb16cd28c3d3abc3d">libx52.h</a>
</li>
<li>LIBX52_ERROR_PERM
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7acc31bdcda400b886e0ed914eb5a1a153">libx52.h</a>
</li>
<li>LIBX52_ERROR_PIPE
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7acf7169c36418a1a43cd8f7bdbdb91325">libx52.h</a>
</li>
<li>LIBX52_ERROR_TIMEOUT
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a691294d6e5876fd371f9e32686c548d4">libx52.h</a>
</li>
<li>LIBX52_ERROR_TRY_AGAIN
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a9e4acff4906865192086c8957047b35f">libx52.h</a>
</li>
<li>LIBX52_ERROR_USB_FAILURE
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a85126a0081a32d7c4bd24738996da531">libx52.h</a>
</li>
<li>libx52_exit()
: <a class="el" href="group__libx52init.html#ga17fe14ab3f67706b2d35c6cce3cd670b">libx52.h</a>
</li>
<li>libx52_feature
: <a class="el" href="group__libx52misc.html#gaa32c12111de45ed00c51fd689fdd6699">libx52.h</a>
</li>
<li>LIBX52_FEATURE_LED
: <a class="el" href="group__libx52misc.html#ggaa32c12111de45ed00c51fd689fdd6699a2ce41c87908ef0b8ff6d76ccf226dfd0">libx52.h</a>
</li>
<li>libx52_init()
: <a class="el" href="group__libx52init.html#gaf9ae27c6e505bce8c4415a638033a4bd">libx52.h</a>
</li>
<li>LIBX52_LED_A
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa455294ce1f2dd6bb89c7f48034e5ddbc">libx52.h</a>
</li>
<li>LIBX52_LED_B
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa614aceacc2f76589f6e89429c7886c69">libx52.h</a>
</li>
<li>LIBX52_LED_CLUTCH
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa3fa42fc0e323348cd453831950e51307">libx52.h</a>
</li>
<li>LIBX52_LED_D
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa29aad41d6d4d2ba9955b76de9559b2d2">libx52.h</a>
</li>
<li>LIBX52_LED_E
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fabb61ccb8aa773f0b1bb44dcf46d91ece">libx52.h</a>
</li>
<li>LIBX52_LED_FIRE
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae89d2ce35f72608d41202764128afd00">libx52.h</a>
</li>
<li>libx52_led_id
: <a class="el" href="group__libx52mfdled.html#gae97e6cb1be0d79960018f2a12ba7047f">libx52.h</a>
</li>
<li>LIBX52_LED_POV
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa18862e04f12337863251f7307e04d3bf">libx52.h</a>
</li>
<li>libx52_led_state
: <a class="el" href="group__libx52mfdled.html#gab1a633a40dcdcfc5cf6fc13a3ed8b68c">libx52.h</a>
</li>
<li>LIBX52_LED_STATE_AMBER
: <a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68cacce900ab6a9325d72e0f084f9271634e">libx52.h</a>
</li>
<li>LIBX52_LED_STATE_GREEN
: <a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca1e8346acab9ad3e4735079273808319c">libx52.h</a>
</li>
<li>LIBX52_LED_STATE_OFF
: <a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca0a25e41783e99046974964aee88f895a">libx52.h</a>
</li>
<li>LIBX52_LED_STATE_ON
: <a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca5a18783f20716411a77e3bfe7195d3d2">libx52.h</a>
</li>
<li>LIBX52_LED_STATE_RED
: <a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca64b1620a9d10dc593660bf30d6c987d9">libx52.h</a>
</li>
<li>LIBX52_LED_T1
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae3d5181cdca7054ea2a44bb6a33736f9">libx52.h</a>
</li>
<li>LIBX52_LED_T2
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa3915d9b34e7cd0270c3c9945ea0366cb">libx52.h</a>
</li>
<li>LIBX52_LED_T3
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa25d249c6a06efbf554928885834376e9">libx52.h</a>
</li>
<li>LIBX52_LED_THROTTLE
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047faede82abd452be7da562c50e89160fcd7">libx52.h</a>
</li>
<li>libx52_set_blink()
: <a class="el" href="group__libx52mfdled.html#ga944e06a76077d240ccea8c342a36a876">libx52.h</a>
</li>
<li>libx52_set_brightness()
: <a class="el" href="group__libx52mfdled.html#ga9bbf5e1ff83201f6124b2d3c75c837c6">libx52.h</a>
</li>
<li>libx52_set_clock()
: <a class="el" href="group__libx52clock.html#ga3ebdd7bf3cd2f419d9a13c46a139922e">libx52.h</a>
</li>
<li>libx52_set_clock_format()
: <a class="el" href="group__libx52clock.html#gacd82a744b1d33e0a9989fca4d8aad42b">libx52.h</a>
</li>
<li>libx52_set_clock_timezone()
: <a class="el" href="group__libx52clock.html#ga04c0429e7fd7d9d5b5b371b88831381e">libx52.h</a>
</li>
<li>libx52_set_date()
: <a class="el" href="group__libx52clock.html#ga4f49341bca8a343931858ff008d2d5ca">libx52.h</a>
</li>
<li>libx52_set_date_format()
: <a class="el" href="group__libx52clock.html#gabfa0aa6cb8742f29b3b8cfbc16fdadb2">libx52.h</a>
</li>
<li>libx52_set_led_state()
: <a class="el" href="group__libx52mfdled.html#ga1a435bb3057aae3307c70fb09912ef18">libx52.h</a>
</li>
<li>libx52_set_shift()
: <a class="el" href="group__libx52mfdled.html#ga4250ce5b06f65c086ef6f279a628f378">libx52.h</a>
</li>
<li>libx52_set_text()
: <a class="el" href="group__libx52mfdled.html#ga4f2b73685a4eb307895e08a02903bb39">libx52.h</a>
</li>
<li>libx52_set_time()
: <a class="el" href="group__libx52clock.html#ga42b5b1f00dea64f0706c31e0b3dd1840">libx52.h</a>
</li>
<li>libx52_strerror()
: <a class="el" href="group__libx52misc.html#gaa29a1022b0c3eb4894ddfd4934c3cf0e">libx52.h</a>
</li>
<li>LIBX52_SUCCESS
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708">libx52.h</a>
</li>
<li>libx52_update()
: <a class="el" href="group__libx52misc.html#ga5d1fdbcab1b1a6cf8a10c206f8e79f73">libx52.h</a>
</li>
<li>libx52_vendor_command()
: <a class="el" href="group__libx52misc.html#gac491f4fb8d37f477d83725cb472de030">libx52.h</a>
</li>
<li>libx52util_convert_utf8_string()
: <a class="el" href="group__libx52util.html#gac5a9279cba660740580e18029e827817">libx52util.h</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

97
globals_enum.html 100644
View File

@ -0,0 +1,97 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;<ul>
<li>libx52_clock_format
: <a class="el" href="group__libx52clock.html#ga0c9c90bdba150b6e48ddab30aea45268">libx52.h</a>
</li>
<li>libx52_clock_id
: <a class="el" href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">libx52.h</a>
</li>
<li>libx52_date_format
: <a class="el" href="group__libx52clock.html#ga0da0bde31d817eaa42465b0dea2ccf5a">libx52.h</a>
</li>
<li>libx52_error_code
: <a class="el" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52.h</a>
</li>
<li>libx52_feature
: <a class="el" href="group__libx52misc.html#gaa32c12111de45ed00c51fd689fdd6699">libx52.h</a>
</li>
<li>libx52_led_id
: <a class="el" href="group__libx52mfdled.html#gae97e6cb1be0d79960018f2a12ba7047f">libx52.h</a>
</li>
<li>libx52_led_state
: <a class="el" href="group__libx52mfdled.html#gab1a633a40dcdcfc5cf6fc13a3ed8b68c">libx52.h</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

204
globals_eval.html 100644
View File

@ -0,0 +1,204 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;
<h3><a id="index_l"></a>- l -</h3><ul>
<li>LIBX52_CLOCK_1
: <a class="el" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca85dccae177b78d35e21875772738ac70">libx52.h</a>
</li>
<li>LIBX52_CLOCK_2
: <a class="el" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917cab2d9e9967646a797dfb652d81a964282">libx52.h</a>
</li>
<li>LIBX52_CLOCK_3
: <a class="el" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca422990d812ea1dd9e94a5b3d03565945">libx52.h</a>
</li>
<li>LIBX52_CLOCK_FORMAT_12HR
: <a class="el" href="group__libx52clock.html#gga0c9c90bdba150b6e48ddab30aea45268a7e216a257012c9aa2a5b847a4cb96332">libx52.h</a>
</li>
<li>LIBX52_CLOCK_FORMAT_24HR
: <a class="el" href="group__libx52clock.html#gga0c9c90bdba150b6e48ddab30aea45268a1a60fdc6dacbf9a46a93a161d2644908">libx52.h</a>
</li>
<li>LIBX52_DATE_FORMAT_DDMMYY
: <a class="el" href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aa81d30d59013fcef952c9d10a30942abc">libx52.h</a>
</li>
<li>LIBX52_DATE_FORMAT_MMDDYY
: <a class="el" href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aad91220edc91513325af1def4bcdfc07c">libx52.h</a>
</li>
<li>LIBX52_DATE_FORMAT_YYMMDD
: <a class="el" href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aad2c9819fc5590f542a22c42a3243bd5e">libx52.h</a>
</li>
<li>LIBX52_ERROR_BUSY
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7afe5cd825cc2c26c9226025dcb5628f9d">libx52.h</a>
</li>
<li>LIBX52_ERROR_INIT_FAILURE
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a22d30938f3a413c16e9ab2e6c183daeb">libx52.h</a>
</li>
<li>LIBX52_ERROR_INTERRUPTED
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a1601986a5a57898997fde902f994b91d">libx52.h</a>
</li>
<li>LIBX52_ERROR_INVALID_PARAM
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b">libx52.h</a>
</li>
<li>LIBX52_ERROR_IO
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a1dd2726f8ffacda63b180c68bdf1838f">libx52.h</a>
</li>
<li>LIBX52_ERROR_NO_DEVICE
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ad3e9a0e2e18b469ddc7135d73942e29a">libx52.h</a>
</li>
<li>LIBX52_ERROR_NOT_FOUND
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a5d77a34c39dfa1757553ecd073913844">libx52.h</a>
</li>
<li>LIBX52_ERROR_NOT_SUPPORTED
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a97af04ffc3130e25c9eb03abaafbbaca">libx52.h</a>
</li>
<li>LIBX52_ERROR_OUT_OF_MEMORY
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7adc972428ef5695848c268f927a0974cc">libx52.h</a>
</li>
<li>LIBX52_ERROR_OUT_OF_RANGE
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac329401de31cc6c50160c1fafcdc5efa">libx52.h</a>
</li>
<li>LIBX52_ERROR_OVERFLOW
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac331268731d911dfb16cd28c3d3abc3d">libx52.h</a>
</li>
<li>LIBX52_ERROR_PERM
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7acc31bdcda400b886e0ed914eb5a1a153">libx52.h</a>
</li>
<li>LIBX52_ERROR_PIPE
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7acf7169c36418a1a43cd8f7bdbdb91325">libx52.h</a>
</li>
<li>LIBX52_ERROR_TIMEOUT
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a691294d6e5876fd371f9e32686c548d4">libx52.h</a>
</li>
<li>LIBX52_ERROR_TRY_AGAIN
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a9e4acff4906865192086c8957047b35f">libx52.h</a>
</li>
<li>LIBX52_ERROR_USB_FAILURE
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a85126a0081a32d7c4bd24738996da531">libx52.h</a>
</li>
<li>LIBX52_FEATURE_LED
: <a class="el" href="group__libx52misc.html#ggaa32c12111de45ed00c51fd689fdd6699a2ce41c87908ef0b8ff6d76ccf226dfd0">libx52.h</a>
</li>
<li>LIBX52_LED_A
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa455294ce1f2dd6bb89c7f48034e5ddbc">libx52.h</a>
</li>
<li>LIBX52_LED_B
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa614aceacc2f76589f6e89429c7886c69">libx52.h</a>
</li>
<li>LIBX52_LED_CLUTCH
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa3fa42fc0e323348cd453831950e51307">libx52.h</a>
</li>
<li>LIBX52_LED_D
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa29aad41d6d4d2ba9955b76de9559b2d2">libx52.h</a>
</li>
<li>LIBX52_LED_E
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fabb61ccb8aa773f0b1bb44dcf46d91ece">libx52.h</a>
</li>
<li>LIBX52_LED_FIRE
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae89d2ce35f72608d41202764128afd00">libx52.h</a>
</li>
<li>LIBX52_LED_POV
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa18862e04f12337863251f7307e04d3bf">libx52.h</a>
</li>
<li>LIBX52_LED_STATE_AMBER
: <a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68cacce900ab6a9325d72e0f084f9271634e">libx52.h</a>
</li>
<li>LIBX52_LED_STATE_GREEN
: <a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca1e8346acab9ad3e4735079273808319c">libx52.h</a>
</li>
<li>LIBX52_LED_STATE_OFF
: <a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca0a25e41783e99046974964aee88f895a">libx52.h</a>
</li>
<li>LIBX52_LED_STATE_ON
: <a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca5a18783f20716411a77e3bfe7195d3d2">libx52.h</a>
</li>
<li>LIBX52_LED_STATE_RED
: <a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca64b1620a9d10dc593660bf30d6c987d9">libx52.h</a>
</li>
<li>LIBX52_LED_T1
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae3d5181cdca7054ea2a44bb6a33736f9">libx52.h</a>
</li>
<li>LIBX52_LED_T2
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa3915d9b34e7cd0270c3c9945ea0366cb">libx52.h</a>
</li>
<li>LIBX52_LED_T3
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa25d249c6a06efbf554928885834376e9">libx52.h</a>
</li>
<li>LIBX52_LED_THROTTLE
: <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047faede82abd452be7da562c50e89160fcd7">libx52.h</a>
</li>
<li>LIBX52_SUCCESS
: <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708">libx52.h</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

136
globals_func.html 100644
View File

@ -0,0 +1,136 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;<ul>
<li>libx52_check_feature()
: <a class="el" href="group__libx52misc.html#ga504ed71c3e543da1436ea99465289ceb">libx52.h</a>
</li>
<li>libx52_connect()
: <a class="el" href="group__libx52init.html#ga65998f1155fb093f45babfd0c2c138d9">libx52.h</a>
</li>
<li>libx52_disconnect()
: <a class="el" href="group__libx52init.html#ga82f3fb7f750aa5480d23b69875d3ebe8">libx52.h</a>
</li>
<li>libx52_exit()
: <a class="el" href="group__libx52init.html#ga17fe14ab3f67706b2d35c6cce3cd670b">libx52.h</a>
</li>
<li>libx52_init()
: <a class="el" href="group__libx52init.html#gaf9ae27c6e505bce8c4415a638033a4bd">libx52.h</a>
</li>
<li>libx52_set_blink()
: <a class="el" href="group__libx52mfdled.html#ga944e06a76077d240ccea8c342a36a876">libx52.h</a>
</li>
<li>libx52_set_brightness()
: <a class="el" href="group__libx52mfdled.html#ga9bbf5e1ff83201f6124b2d3c75c837c6">libx52.h</a>
</li>
<li>libx52_set_clock()
: <a class="el" href="group__libx52clock.html#ga3ebdd7bf3cd2f419d9a13c46a139922e">libx52.h</a>
</li>
<li>libx52_set_clock_format()
: <a class="el" href="group__libx52clock.html#gacd82a744b1d33e0a9989fca4d8aad42b">libx52.h</a>
</li>
<li>libx52_set_clock_timezone()
: <a class="el" href="group__libx52clock.html#ga04c0429e7fd7d9d5b5b371b88831381e">libx52.h</a>
</li>
<li>libx52_set_date()
: <a class="el" href="group__libx52clock.html#ga4f49341bca8a343931858ff008d2d5ca">libx52.h</a>
</li>
<li>libx52_set_date_format()
: <a class="el" href="group__libx52clock.html#gabfa0aa6cb8742f29b3b8cfbc16fdadb2">libx52.h</a>
</li>
<li>libx52_set_led_state()
: <a class="el" href="group__libx52mfdled.html#ga1a435bb3057aae3307c70fb09912ef18">libx52.h</a>
</li>
<li>libx52_set_shift()
: <a class="el" href="group__libx52mfdled.html#ga4250ce5b06f65c086ef6f279a628f378">libx52.h</a>
</li>
<li>libx52_set_text()
: <a class="el" href="group__libx52mfdled.html#ga4f2b73685a4eb307895e08a02903bb39">libx52.h</a>
</li>
<li>libx52_set_time()
: <a class="el" href="group__libx52clock.html#ga42b5b1f00dea64f0706c31e0b3dd1840">libx52.h</a>
</li>
<li>libx52_strerror()
: <a class="el" href="group__libx52misc.html#gaa29a1022b0c3eb4894ddfd4934c3cf0e">libx52.h</a>
</li>
<li>libx52_update()
: <a class="el" href="group__libx52misc.html#ga5d1fdbcab1b1a6cf8a10c206f8e79f73">libx52.h</a>
</li>
<li>libx52_vendor_command()
: <a class="el" href="group__libx52misc.html#gac491f4fb8d37f477d83725cb472de030">libx52.h</a>
</li>
<li>libx52util_convert_utf8_string()
: <a class="el" href="group__libx52util.html#gac5a9279cba660740580e18029e827817">libx52util.h</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

79
globals_type.html 100644
View File

@ -0,0 +1,79 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;<ul>
<li>libx52_device
: <a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52.h</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

138
graph_legend.html 100644
View File

@ -0,0 +1,138 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: Graph Legend</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Graph Legend</div> </div>
</div><!--header-->
<div class="contents">
<p>This page explains how to interpret the graphs that are generated by doxygen.</p>
<p>Consider the following example: </p><div class="fragment"><div class="line"><span class="comment">/*! Invisible class because of truncation */</span></div>
<div class="line"><span class="keyword">class </span>Invisible { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! Truncated class, inheritance relation is hidden */</span></div>
<div class="line"><span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { };</div>
<div class="line"> </div>
<div class="line"><span class="comment">/* Class not documented with doxygen comments */</span></div>
<div class="line"><span class="keyword">class </span>Undocumented { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! Class that is inherited using public inheritance */</span></div>
<div class="line"><span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! A template class */</span></div>
<div class="line"><span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">class </span>Templ { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! Class that is inherited using protected inheritance */</span></div>
<div class="line"><span class="keyword">class </span>ProtectedBase { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! Class that is inherited using private inheritance */</span></div>
<div class="line"><span class="keyword">class </span>PrivateBase { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! Class that is used by the Inherited class */</span></div>
<div class="line"><span class="keyword">class </span>Used { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! Super class that inherits a number of other classes */</span></div>
<div class="line"><span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase,</div>
<div class="line"> <span class="keyword">protected</span> ProtectedBase,</div>
<div class="line"> <span class="keyword">private</span> PrivateBase,</div>
<div class="line"> <span class="keyword">public</span> Undocumented,</div>
<div class="line"> <span class="keyword">public</span> Templ&lt;int&gt;</div>
<div class="line">{</div>
<div class="line"> <span class="keyword">private</span>:</div>
<div class="line"> Used *m_usedClass;</div>
<div class="line">};</div>
</div><!-- fragment --><p> This will result in the following graph:</p>
<center><img src="graph_legend.png" alt="" class="inline"/></center><p>The boxes in the above graph have the following meaning: </p>
<ul>
<li>
A filled gray box represents the struct or class for which the graph is generated. </li>
<li>
A box with a black border denotes a documented struct or class. </li>
<li>
A box with a gray border denotes an undocumented struct or class. </li>
<li>
A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li>
</ul>
<p>The arrows have the following meaning: </p>
<ul>
<li>
A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
<li>
A dark green arrow is used for protected inheritance. </li>
<li>
A dark red arrow is used for private inheritance. </li>
<li>
A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible. </li>
<li>
A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance. </li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

1
graph_legend.md5 100644
View File

@ -0,0 +1 @@
f51bf6e9a10430aafef59831b08dcbfe

BIN
graph_legend.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,513 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: Clock control</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Clock control</div> </div>
</div><!--header-->
<div class="contents">
<p>Control the clocks on the MFD.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga08c48a43f70bebb61b553e0ec12d917c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">libx52_clock_id</a> { <a class="el" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca85dccae177b78d35e21875772738ac70">LIBX52_CLOCK_1</a>,
<a class="el" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917cab2d9e9967646a797dfb652d81a964282">LIBX52_CLOCK_2</a>,
<a class="el" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca422990d812ea1dd9e94a5b3d03565945">LIBX52_CLOCK_3</a>
}</td></tr>
<tr class="memdesc:ga08c48a43f70bebb61b553e0ec12d917c"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of supported clocks on the MFD. <a href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">More...</a><br /></td></tr>
<tr class="separator:ga08c48a43f70bebb61b553e0ec12d917c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c9c90bdba150b6e48ddab30aea45268"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52clock.html#ga0c9c90bdba150b6e48ddab30aea45268">libx52_clock_format</a> { <a class="el" href="group__libx52clock.html#gga0c9c90bdba150b6e48ddab30aea45268a7e216a257012c9aa2a5b847a4cb96332">LIBX52_CLOCK_FORMAT_12HR</a>,
<a class="el" href="group__libx52clock.html#gga0c9c90bdba150b6e48ddab30aea45268a1a60fdc6dacbf9a46a93a161d2644908">LIBX52_CLOCK_FORMAT_24HR</a>
}</td></tr>
<tr class="memdesc:ga0c9c90bdba150b6e48ddab30aea45268"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supported clock formats. <a href="group__libx52clock.html#ga0c9c90bdba150b6e48ddab30aea45268">More...</a><br /></td></tr>
<tr class="separator:ga0c9c90bdba150b6e48ddab30aea45268"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0da0bde31d817eaa42465b0dea2ccf5a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52clock.html#ga0da0bde31d817eaa42465b0dea2ccf5a">libx52_date_format</a> { <a class="el" href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aa81d30d59013fcef952c9d10a30942abc">LIBX52_DATE_FORMAT_DDMMYY</a>,
<a class="el" href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aad91220edc91513325af1def4bcdfc07c">LIBX52_DATE_FORMAT_MMDDYY</a>,
<a class="el" href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aad2c9819fc5590f542a22c42a3243bd5e">LIBX52_DATE_FORMAT_YYMMDD</a>
}</td></tr>
<tr class="memdesc:ga0da0bde31d817eaa42465b0dea2ccf5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supported date formats. <a href="group__libx52clock.html#ga0da0bde31d817eaa42465b0dea2ccf5a">More...</a><br /></td></tr>
<tr class="separator:ga0da0bde31d817eaa42465b0dea2ccf5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga3ebdd7bf3cd2f419d9a13c46a139922e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52clock.html#ga3ebdd7bf3cd2f419d9a13c46a139922e">libx52_set_clock</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, time_t time, int local)</td></tr>
<tr class="memdesc:ga3ebdd7bf3cd2f419d9a13c46a139922e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the clock. <a href="group__libx52clock.html#ga3ebdd7bf3cd2f419d9a13c46a139922e">More...</a><br /></td></tr>
<tr class="separator:ga3ebdd7bf3cd2f419d9a13c46a139922e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04c0429e7fd7d9d5b5b371b88831381e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52clock.html#ga04c0429e7fd7d9d5b5b371b88831381e">libx52_set_clock_timezone</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, <a class="el" href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">libx52_clock_id</a> clock, int offset)</td></tr>
<tr class="memdesc:ga04c0429e7fd7d9d5b5b371b88831381e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the timezone for the secondary and tertiary clocks. <a href="group__libx52clock.html#ga04c0429e7fd7d9d5b5b371b88831381e">More...</a><br /></td></tr>
<tr class="separator:ga04c0429e7fd7d9d5b5b371b88831381e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacd82a744b1d33e0a9989fca4d8aad42b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52clock.html#gacd82a744b1d33e0a9989fca4d8aad42b">libx52_set_clock_format</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, <a class="el" href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">libx52_clock_id</a> clock, <a class="el" href="group__libx52clock.html#ga0c9c90bdba150b6e48ddab30aea45268">libx52_clock_format</a> format)</td></tr>
<tr class="memdesc:gacd82a744b1d33e0a9989fca4d8aad42b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set whether the clock is displayed in 12 hour or 24 hour format. <a href="group__libx52clock.html#gacd82a744b1d33e0a9989fca4d8aad42b">More...</a><br /></td></tr>
<tr class="separator:gacd82a744b1d33e0a9989fca4d8aad42b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga42b5b1f00dea64f0706c31e0b3dd1840"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52clock.html#ga42b5b1f00dea64f0706c31e0b3dd1840">libx52_set_time</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint8_t hour, uint8_t minute)</td></tr>
<tr class="memdesc:ga42b5b1f00dea64f0706c31e0b3dd1840"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the hour and minute on clock 1. <a href="group__libx52clock.html#ga42b5b1f00dea64f0706c31e0b3dd1840">More...</a><br /></td></tr>
<tr class="separator:ga42b5b1f00dea64f0706c31e0b3dd1840"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f49341bca8a343931858ff008d2d5ca"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52clock.html#ga4f49341bca8a343931858ff008d2d5ca">libx52_set_date</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint8_t dd, uint8_t mm, uint8_t yy)</td></tr>
<tr class="memdesc:ga4f49341bca8a343931858ff008d2d5ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the date. <a href="group__libx52clock.html#ga4f49341bca8a343931858ff008d2d5ca">More...</a><br /></td></tr>
<tr class="separator:ga4f49341bca8a343931858ff008d2d5ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabfa0aa6cb8742f29b3b8cfbc16fdadb2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52clock.html#gabfa0aa6cb8742f29b3b8cfbc16fdadb2">libx52_set_date_format</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, <a class="el" href="group__libx52clock.html#ga0da0bde31d817eaa42465b0dea2ccf5a">libx52_date_format</a> format)</td></tr>
<tr class="memdesc:gabfa0aa6cb8742f29b3b8cfbc16fdadb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the date format for the MFD date display. <a href="group__libx52clock.html#gabfa0aa6cb8742f29b3b8cfbc16fdadb2">More...</a><br /></td></tr>
<tr class="separator:gabfa0aa6cb8742f29b3b8cfbc16fdadb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Control the clocks on the MFD. </p>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga0c9c90bdba150b6e48ddab30aea45268"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0c9c90bdba150b6e48ddab30aea45268">&#9670;&nbsp;</a></span>libx52_clock_format</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__libx52clock.html#ga0c9c90bdba150b6e48ddab30aea45268">libx52_clock_format</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Supported clock formats. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga0c9c90bdba150b6e48ddab30aea45268a7e216a257012c9aa2a5b847a4cb96332"></a>LIBX52_CLOCK_FORMAT_12HR&#160;</td><td class="fielddoc"><p>12-hour display on the MFD clock </p>
</td></tr>
<tr><td class="fieldname"><a id="gga0c9c90bdba150b6e48ddab30aea45268a1a60fdc6dacbf9a46a93a161d2644908"></a>LIBX52_CLOCK_FORMAT_24HR&#160;</td><td class="fielddoc"><p>24-hour display on the MFD clock </p>
</td></tr>
</table>
</div>
</div>
<a id="ga08c48a43f70bebb61b553e0ec12d917c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga08c48a43f70bebb61b553e0ec12d917c">&#9670;&nbsp;</a></span>libx52_clock_id</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">libx52_clock_id</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>List of supported clocks on the MFD. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga08c48a43f70bebb61b553e0ec12d917ca85dccae177b78d35e21875772738ac70"></a>LIBX52_CLOCK_1&#160;</td><td class="fielddoc"><p>Primary clock on the MFD, indicated by the number 1 </p>
</td></tr>
<tr><td class="fieldname"><a id="gga08c48a43f70bebb61b553e0ec12d917cab2d9e9967646a797dfb652d81a964282"></a>LIBX52_CLOCK_2&#160;</td><td class="fielddoc"><p>Secondary clock on the MFD, indicated by the number 2 </p>
</td></tr>
<tr><td class="fieldname"><a id="gga08c48a43f70bebb61b553e0ec12d917ca422990d812ea1dd9e94a5b3d03565945"></a>LIBX52_CLOCK_3&#160;</td><td class="fielddoc"><p>Tertiary clock on the MFD, indicated by the number 3 </p>
</td></tr>
</table>
</div>
</div>
<a id="ga0da0bde31d817eaa42465b0dea2ccf5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0da0bde31d817eaa42465b0dea2ccf5a">&#9670;&nbsp;</a></span>libx52_date_format</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__libx52clock.html#ga0da0bde31d817eaa42465b0dea2ccf5a">libx52_date_format</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Supported date formats. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga0da0bde31d817eaa42465b0dea2ccf5aa81d30d59013fcef952c9d10a30942abc"></a>LIBX52_DATE_FORMAT_DDMMYY&#160;</td><td class="fielddoc"><p>Date format DD-MM-YY </p>
</td></tr>
<tr><td class="fieldname"><a id="gga0da0bde31d817eaa42465b0dea2ccf5aad91220edc91513325af1def4bcdfc07c"></a>LIBX52_DATE_FORMAT_MMDDYY&#160;</td><td class="fielddoc"><p>Date format MM-DD-YY </p>
</td></tr>
<tr><td class="fieldname"><a id="gga0da0bde31d817eaa42465b0dea2ccf5aad2c9819fc5590f542a22c42a3243bd5e"></a>LIBX52_DATE_FORMAT_YYMMDD&#160;</td><td class="fielddoc"><p>Date format YY-MM-DD </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga3ebdd7bf3cd2f419d9a13c46a139922e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3ebdd7bf3cd2f419d9a13c46a139922e">&#9670;&nbsp;</a></span>libx52_set_clock()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int libx52_set_clock </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *&#160;</td>
<td class="paramname"><em>x52</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">time_t&#160;</td>
<td class="paramname"><em>time</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>local</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the clock. </p>
<p>This function sets the primary clock's date and time with the specified Unix time value. <code>time</code> can be obtained from <code>time(2)</code>. <code>local</code> controls whether the primary clock displays local time or GMT.</p>
<p>If this function is called again within the same minute as calculated by <code>localtime(3)</code> or <code>gmtime(3)</code>, it will return <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a9e4acff4906865192086c8957047b35f">LIBX52_ERROR_TRY_AGAIN</a>, as it does not require any updates to be written to the joystick. However, if the call changes the timezone from local time to GMT or vice-versa, then the function will return 0, since it requires a write to the device to update the clock with the new timezone.</p>
<p>The secondary and tertiary clocks are driven off the primary clock and set using <a class="el" href="group__libx52clock.html#ga04c0429e7fd7d9d5b5b371b88831381e">libx52_set_clock_timezone</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">x52</td><td>Pointer to the device context </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">time</td><td>Time value from <code>time(3)</code> </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">local</td><td>0 for GM time, non-zero for localtime</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>0 on success</li>
<li><a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a9e4acff4906865192086c8957047b35f">LIBX52_ERROR_TRY_AGAIN</a> if no change from previous time</li>
<li><a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b">LIBX52_ERROR_INVALID_PARAM</a> if <code>x52</code> is not valid. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="gacd82a744b1d33e0a9989fca4d8aad42b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacd82a744b1d33e0a9989fca4d8aad42b">&#9670;&nbsp;</a></span>libx52_set_clock_format()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int libx52_set_clock_format </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *&#160;</td>
<td class="paramname"><em>x52</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">libx52_clock_id</a>&#160;</td>
<td class="paramname"><em>clock</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__libx52clock.html#ga0c9c90bdba150b6e48ddab30aea45268">libx52_clock_format</a>&#160;</td>
<td class="paramname"><em>format</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set whether the clock is displayed in 12 hour or 24 hour format. </p>
<p>The clocks on the X52 Pro MFD are all displayed as HH:MM, but can be set to display it in 12-hour (AM/PM) or 24-hour format. The default format if not specified is 12-hour.</p>
<dl class="section user"><dt>Limitations</dt><dd>The hardware has a limitation that it cannot display 12:00 am in 12 hour mode - instead it will display as 00:00 am</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">x52</td><td>Pointer to the device context </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">clock</td><td><a class="el" href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">libx52_clock_id</a> </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td><a class="el" href="group__libx52clock.html#ga0c9c90bdba150b6e48ddab30aea45268">libx52_clock_format</a></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>0 on success</li>
<li><a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b">LIBX52_ERROR_INVALID_PARAM</a> if <code>x52</code> is not valid, or if either of <code>clock</code> or <code>format</code> are outside their respective ranges. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="ga04c0429e7fd7d9d5b5b371b88831381e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga04c0429e7fd7d9d5b5b371b88831381e">&#9670;&nbsp;</a></span>libx52_set_clock_timezone()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int libx52_set_clock_timezone </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *&#160;</td>
<td class="paramname"><em>x52</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">libx52_clock_id</a>&#160;</td>
<td class="paramname"><em>clock</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>offset</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the timezone for the secondary and tertiary clocks. </p>
<p>The X52 Pro has a total of 3 clock displays. The secondary and tertiary clocks are controlled as an offset from the primary clock in minutes. However, for convenience, the X52 library calculates this offset internally and only requires you to set the timezone as the number of minutes east of UTC. <code>offset</code> is limited to &plusmn; 1440 minutes, and any offset outside this range will result in a return value of <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac329401de31cc6c50160c1fafcdc5efa">LIBX52_ERROR_OUT_OF_RANGE</a></p>
<dl class="section user"><dt>Example</dt><dd><div class="fragment"><div class="line"><span class="comment">// Set clock 2 timezone to Pacific Standard Time (UTC-08:00)</span></div>
<div class="line">rc = <a class="code" href="group__libx52clock.html#ga04c0429e7fd7d9d5b5b371b88831381e">libx52_set_clock_timezone</a>(dev, <a class="code" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917cab2d9e9967646a797dfb652d81a964282">LIBX52_CLOCK_2</a>, -480);</div>
<div class="line"><span class="comment">// Set clock 3 timezone to Indian Standard Time (UTC+05:30)</span></div>
<div class="line">rc = <a class="code" href="group__libx52clock.html#ga04c0429e7fd7d9d5b5b371b88831381e">libx52_set_clock_timezone</a>(dev, <a class="code" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917cab2d9e9967646a797dfb652d81a964282">LIBX52_CLOCK_2</a>, 330);</div>
</div><!-- fragment --></dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">x52</td><td>Pointer to the device context </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">clock</td><td><a class="el" href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">libx52_clock_id</a>, cannot be <a class="el" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca85dccae177b78d35e21875772738ac70">LIBX52_CLOCK_1</a> </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>Offset in minutes from GMT (east is positive, west is negative)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>0 on success</li>
<li><a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b">LIBX52_ERROR_INVALID_PARAM</a> if <code>x52</code> is invalid</li>
<li><a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a97af04ffc3130e25c9eb03abaafbbaca">LIBX52_ERROR_NOT_SUPPORTED</a> if <code>clock</code> is <a class="el" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca85dccae177b78d35e21875772738ac70">LIBX52_CLOCK_1</a></li>
<li><a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac329401de31cc6c50160c1fafcdc5efa">LIBX52_ERROR_OUT_OF_RANGE</a> if <code>offset</code> is more than &plusmn; 24 hours. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="ga4f49341bca8a343931858ff008d2d5ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4f49341bca8a343931858ff008d2d5ca">&#9670;&nbsp;</a></span>libx52_set_date()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int libx52_set_date </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *&#160;</td>
<td class="paramname"><em>x52</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>dd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>mm</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>yy</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the date. </p>
<p>This is a raw API which can be used for manual control if the user so desires, however, it will not update the timezone or the time values.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">x52</td><td>Pointer to the device context </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dd</td><td>Day to display </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">mm</td><td>Month to display </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">yy</td><td>Year to display</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>0 on success</li>
<li><a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b">LIBX52_ERROR_INVALID_PARAM</a> if <code>x52</code> is not valid </li>
</ul>
</dd></dl>
</div>
</div>
<a id="gabfa0aa6cb8742f29b3b8cfbc16fdadb2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabfa0aa6cb8742f29b3b8cfbc16fdadb2">&#9670;&nbsp;</a></span>libx52_set_date_format()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int libx52_set_date_format </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *&#160;</td>
<td class="paramname"><em>x52</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__libx52clock.html#ga0da0bde31d817eaa42465b0dea2ccf5a">libx52_date_format</a>&#160;</td>
<td class="paramname"><em>format</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the date format for the MFD date display. </p>
<p>If not set, the date format defaults to DD-MM-YY</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">x52</td><td>Pointer to the device context </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td><a class="el" href="group__libx52clock.html#ga0da0bde31d817eaa42465b0dea2ccf5a">libx52_date_format</a></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>0 on success</li>
<li><a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b">LIBX52_ERROR_INVALID_PARAM</a> if <code>x52</code> is not valid </li>
</ul>
</dd></dl>
</div>
</div>
<a id="ga42b5b1f00dea64f0706c31e0b3dd1840"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga42b5b1f00dea64f0706c31e0b3dd1840">&#9670;&nbsp;</a></span>libx52_set_time()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int libx52_set_time </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *&#160;</td>
<td class="paramname"><em>x52</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>hour</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>minute</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the hour and minute on clock 1. </p>
<p>This is a raw API which can be used for manual control if the user so desires, however, it will not update the timezone or the date values.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">x52</td><td>Pointer to the device context </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">hour</td><td>Hour to display </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">minute</td><td>Minute to display</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>0 on success</li>
<li><a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b">LIBX52_ERROR_INVALID_PARAM</a> if <code>x52</code> is not valid </li>
</ul>
</dd></dl>
</div>
</div>
</div><!-- contents -->
<div class="ttc" id="agroup__libx52clock_html_ga04c0429e7fd7d9d5b5b371b88831381e"><div class="ttname"><a href="group__libx52clock.html#ga04c0429e7fd7d9d5b5b371b88831381e">libx52_set_clock_timezone</a></div><div class="ttdeci">int libx52_set_clock_timezone(libx52_device *x52, libx52_clock_id clock, int offset)</div><div class="ttdoc">Set the timezone for the secondary and tertiary clocks.</div></div>
<div class="ttc" id="agroup__libx52clock_html_gga08c48a43f70bebb61b553e0ec12d917cab2d9e9967646a797dfb652d81a964282"><div class="ttname"><a href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917cab2d9e9967646a797dfb652d81a964282">LIBX52_CLOCK_2</a></div><div class="ttdeci">@ LIBX52_CLOCK_2</div><div class="ttdef"><b>Definition:</b> libx52.h:56</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,255 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: Library Initialization and Deinitialization</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Library Initialization and Deinitialization</div> </div>
</div><!--header-->
<div class="contents">
<p>These functions are used at application entry and exit.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gaca59b8d8f249fed58a0ec3253328e131"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a></td></tr>
<tr class="memdesc:gaca59b8d8f249fed58a0ec3253328e131"><td class="mdescLeft">&#160;</td><td class="mdescRight">Device context structure used by libx52. <a href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">More...</a><br /></td></tr>
<tr class="separator:gaca59b8d8f249fed58a0ec3253328e131"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaf9ae27c6e505bce8c4415a638033a4bd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52init.html#gaf9ae27c6e505bce8c4415a638033a4bd">libx52_init</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> **dev)</td></tr>
<tr class="memdesc:gaf9ae27c6e505bce8c4415a638033a4bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the X52 library. <a href="group__libx52init.html#gaf9ae27c6e505bce8c4415a638033a4bd">More...</a><br /></td></tr>
<tr class="separator:gaf9ae27c6e505bce8c4415a638033a4bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga17fe14ab3f67706b2d35c6cce3cd670b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52init.html#ga17fe14ab3f67706b2d35c6cce3cd670b">libx52_exit</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *dev)</td></tr>
<tr class="memdesc:ga17fe14ab3f67706b2d35c6cce3cd670b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exit the library and free up any resources used. <a href="group__libx52init.html#ga17fe14ab3f67706b2d35c6cce3cd670b">More...</a><br /></td></tr>
<tr class="separator:ga17fe14ab3f67706b2d35c6cce3cd670b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga65998f1155fb093f45babfd0c2c138d9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52init.html#ga65998f1155fb093f45babfd0c2c138d9">libx52_connect</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *dev)</td></tr>
<tr class="memdesc:ga65998f1155fb093f45babfd0c2c138d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to the X52 device. <a href="group__libx52init.html#ga65998f1155fb093f45babfd0c2c138d9">More...</a><br /></td></tr>
<tr class="separator:ga65998f1155fb093f45babfd0c2c138d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga82f3fb7f750aa5480d23b69875d3ebe8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52init.html#ga82f3fb7f750aa5480d23b69875d3ebe8">libx52_disconnect</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *dev)</td></tr>
<tr class="memdesc:ga82f3fb7f750aa5480d23b69875d3ebe8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disconnect from the X52 device. <a href="group__libx52init.html#ga82f3fb7f750aa5480d23b69875d3ebe8">More...</a><br /></td></tr>
<tr class="separator:ga82f3fb7f750aa5480d23b69875d3ebe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>These functions are used at application entry and exit. </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="gaca59b8d8f249fed58a0ec3253328e131"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaca59b8d8f249fed58a0ec3253328e131">&#9670;&nbsp;</a></span>libx52_device</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> <a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Device context structure used by libx52. </p>
<p>All libx52 API functions require the application to pass in a pointer to a valid device context structure. A pointer can be obtained by calling <a class="el" href="group__libx52init.html#gaf9ae27c6e505bce8c4415a638033a4bd">libx52_init</a> </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga65998f1155fb093f45babfd0c2c138d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga65998f1155fb093f45babfd0c2c138d9">&#9670;&nbsp;</a></span>libx52_connect()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int libx52_connect </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *&#160;</td>
<td class="paramname"><em>dev</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Connect to the X52 device. </p>
<p>Attempt to connect to a supported X52/X52Pro joystick. If no supported joysticks are found, it will return <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ad3e9a0e2e18b469ddc7135d73942e29a">LIBX52_ERROR_NO_DEVICE</a>. If any errors are encountered during device enumeration, it will return an appropriate <a class="el" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52_error_code</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>Pointer to the device context</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52_error_code</a> indicating status </dd></dl>
</div>
</div>
<a id="ga82f3fb7f750aa5480d23b69875d3ebe8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga82f3fb7f750aa5480d23b69875d3ebe8">&#9670;&nbsp;</a></span>libx52_disconnect()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int libx52_disconnect </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *&#160;</td>
<td class="paramname"><em>dev</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Disconnect from the X52 device. </p>
<p>This function disconnects any active connections to supported joysticks. Applications must reconnect to the joystick using <a class="el" href="group__libx52init.html#ga65998f1155fb093f45babfd0c2c138d9">libx52_connect</a> prior to calling <a class="el" href="group__libx52misc.html#ga5d1fdbcab1b1a6cf8a10c206f8e79f73">libx52_update</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>Pointer to the device context</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52_error_code</a> indicating status </dd></dl>
</div>
</div>
<a id="ga17fe14ab3f67706b2d35c6cce3cd670b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga17fe14ab3f67706b2d35c6cce3cd670b">&#9670;&nbsp;</a></span>libx52_exit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void libx52_exit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *&#160;</td>
<td class="paramname"><em>dev</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Exit the library and free up any resources used. </p>
<p>This function releases any resources allocated by <a class="el" href="group__libx52init.html#gaf9ae27c6e505bce8c4415a638033a4bd">libx52_init</a> and terminates the library. Using the freed device now is invalid and can cause errors.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>Pointer to the device context </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>
</div>
</div>
<a id="gaf9ae27c6e505bce8c4415a638033a4bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf9ae27c6e505bce8c4415a638033a4bd">&#9670;&nbsp;</a></span>libx52_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int libx52_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> **&#160;</td>
<td class="paramname"><em>dev</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize the X52 library. </p>
<p>This function initializes the libx52 library, sets up any internal data structures to access the joystick, and returns a <a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> pointer in the output parameter. All calls to libx52 use the returned pointer to control the device.</p>
<dl class="section user"><dt>Example</dt><dd><div class="fragment"><div class="line"><span class="keywordtype">int</span> rc;</div>
<div class="line"><a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *dev;</div>
<div class="line">rc = <a class="code" href="group__libx52init.html#gaf9ae27c6e505bce8c4415a638033a4bd">libx52_init</a>(&amp;dev);</div>
<div class="line"><span class="keywordflow">if</span> (rc != <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708">LIBX52_SUCCESS</a>) {</div>
<div class="line"> <span class="comment">// Error handling omitted for brevity</span></div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><span class="comment">// Save dev for use later</span></div>
</div><!-- fragment --></dd></dl>
<dl class="section since"><dt>Since</dt><dd><b>0.2.1</b> - This function attempts to connect to the joystick upon initialization. However, if no device is connected, then the library initialization does not fail, but the application must call <a class="el" href="group__libx52init.html#ga65998f1155fb093f45babfd0c2c138d9">libx52_connect</a> prior to any calls to <a class="el" href="group__libx52misc.html#ga5d1fdbcab1b1a6cf8a10c206f8e79f73">libx52_update</a></dd></dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Connection to a supported joystick is no longer a goal of this function. It will continue to attempt to connect to the joystick during initialization so that existing clients don't break, but it is highly recommended that all clients use <a class="el" href="group__libx52init.html#ga65998f1155fb093f45babfd0c2c138d9">libx52_connect</a> to explicitly connect to the joystick. <br />
<br />
A future release will remove the automatic connection.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">dev</td><td>Pointer to a <a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *. This function will allocate a device context and return the pointer to the device context in this variable.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52_error_code</a> indicating status </dd></dl>
</div>
</div>
</div><!-- contents -->
<div class="ttc" id="agroup__libx52init_html_gaca59b8d8f249fed58a0ec3253328e131"><div class="ttname"><a href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a></div><div class="ttdeci">struct libx52_device libx52_device</div><div class="ttdoc">Device context structure used by libx52.</div><div class="ttdef"><b>Definition:</b> libx52.h:45</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708">LIBX52_SUCCESS</a></div><div class="ttdeci">@ LIBX52_SUCCESS</div><div class="ttdef"><b>Definition:</b> libx52.h:164</div></div>
<div class="ttc" id="agroup__libx52init_html_gaf9ae27c6e505bce8c4415a638033a4bd"><div class="ttname"><a href="group__libx52init.html#gaf9ae27c6e505bce8c4415a638033a4bd">libx52_init</a></div><div class="ttdeci">int libx52_init(libx52_device **dev)</div><div class="ttdoc">Initialize the X52 library.</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,456 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: MFD &amp; LED control</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">MFD &amp; LED control</div> </div>
</div><!--header-->
<div class="contents">
<p>Control the MFD text and LED states.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gae97e6cb1be0d79960018f2a12ba7047f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52mfdled.html#gae97e6cb1be0d79960018f2a12ba7047f">libx52_led_id</a> { <br />
&#160;&#160;<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae89d2ce35f72608d41202764128afd00">LIBX52_LED_FIRE</a> = 0x01,
<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa455294ce1f2dd6bb89c7f48034e5ddbc">LIBX52_LED_A</a> = 0x02,
<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa614aceacc2f76589f6e89429c7886c69">LIBX52_LED_B</a> = 0x04,
<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa29aad41d6d4d2ba9955b76de9559b2d2">LIBX52_LED_D</a> = 0x06,
<br />
&#160;&#160;<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fabb61ccb8aa773f0b1bb44dcf46d91ece">LIBX52_LED_E</a> = 0x08,
<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae3d5181cdca7054ea2a44bb6a33736f9">LIBX52_LED_T1</a> = 0x0a,
<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa3915d9b34e7cd0270c3c9945ea0366cb">LIBX52_LED_T2</a> = 0x0c,
<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa25d249c6a06efbf554928885834376e9">LIBX52_LED_T3</a> = 0x0e,
<br />
&#160;&#160;<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa18862e04f12337863251f7307e04d3bf">LIBX52_LED_POV</a> = 0x10,
<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa3fa42fc0e323348cd453831950e51307">LIBX52_LED_CLUTCH</a> = 0x12,
<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047faede82abd452be7da562c50e89160fcd7">LIBX52_LED_THROTTLE</a> = 0x14
<br />
}</td></tr>
<tr class="memdesc:gae97e6cb1be0d79960018f2a12ba7047f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supported LED identifiers. <a href="group__libx52mfdled.html#gae97e6cb1be0d79960018f2a12ba7047f">More...</a><br /></td></tr>
<tr class="separator:gae97e6cb1be0d79960018f2a12ba7047f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1a633a40dcdcfc5cf6fc13a3ed8b68c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52mfdled.html#gab1a633a40dcdcfc5cf6fc13a3ed8b68c">libx52_led_state</a> { <br />
&#160;&#160;<a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca0a25e41783e99046974964aee88f895a">LIBX52_LED_STATE_OFF</a>,
<a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca5a18783f20716411a77e3bfe7195d3d2">LIBX52_LED_STATE_ON</a>,
<a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca64b1620a9d10dc593660bf30d6c987d9">LIBX52_LED_STATE_RED</a>,
<a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68cacce900ab6a9325d72e0f084f9271634e">LIBX52_LED_STATE_AMBER</a>,
<br />
&#160;&#160;<a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca1e8346acab9ad3e4735079273808319c">LIBX52_LED_STATE_GREEN</a>
<br />
}</td></tr>
<tr class="memdesc:gab1a633a40dcdcfc5cf6fc13a3ed8b68c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supported LED states. <a href="group__libx52mfdled.html#gab1a633a40dcdcfc5cf6fc13a3ed8b68c">More...</a><br /></td></tr>
<tr class="separator:gab1a633a40dcdcfc5cf6fc13a3ed8b68c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga4f2b73685a4eb307895e08a02903bb39"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52mfdled.html#ga4f2b73685a4eb307895e08a02903bb39">libx52_set_text</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint8_t line, const char *text, uint8_t length)</td></tr>
<tr class="memdesc:ga4f2b73685a4eb307895e08a02903bb39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the text on an MFD line. <a href="group__libx52mfdled.html#ga4f2b73685a4eb307895e08a02903bb39">More...</a><br /></td></tr>
<tr class="separator:ga4f2b73685a4eb307895e08a02903bb39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1a435bb3057aae3307c70fb09912ef18"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52mfdled.html#ga1a435bb3057aae3307c70fb09912ef18">libx52_set_led_state</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, <a class="el" href="group__libx52mfdled.html#gae97e6cb1be0d79960018f2a12ba7047f">libx52_led_id</a> led, <a class="el" href="group__libx52mfdled.html#gab1a633a40dcdcfc5cf6fc13a3ed8b68c">libx52_led_state</a> state)</td></tr>
<tr class="memdesc:ga1a435bb3057aae3307c70fb09912ef18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the LED state. <a href="group__libx52mfdled.html#ga1a435bb3057aae3307c70fb09912ef18">More...</a><br /></td></tr>
<tr class="separator:ga1a435bb3057aae3307c70fb09912ef18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9bbf5e1ff83201f6124b2d3c75c837c6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52mfdled.html#ga9bbf5e1ff83201f6124b2d3c75c837c6">libx52_set_brightness</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint8_t mfd, uint16_t brightness)</td></tr>
<tr class="memdesc:ga9bbf5e1ff83201f6124b2d3c75c837c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the MFD or LED brightness. <a href="group__libx52mfdled.html#ga9bbf5e1ff83201f6124b2d3c75c837c6">More...</a><br /></td></tr>
<tr class="separator:ga9bbf5e1ff83201f6124b2d3c75c837c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4250ce5b06f65c086ef6f279a628f378"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52mfdled.html#ga4250ce5b06f65c086ef6f279a628f378">libx52_set_shift</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint8_t state)</td></tr>
<tr class="memdesc:ga4250ce5b06f65c086ef6f279a628f378"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the state of the shift indicator. <a href="group__libx52mfdled.html#ga4250ce5b06f65c086ef6f279a628f378">More...</a><br /></td></tr>
<tr class="separator:ga4250ce5b06f65c086ef6f279a628f378"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga944e06a76077d240ccea8c342a36a876"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52mfdled.html#ga944e06a76077d240ccea8c342a36a876">libx52_set_blink</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint8_t state)</td></tr>
<tr class="memdesc:ga944e06a76077d240ccea8c342a36a876"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the blinking state. <a href="group__libx52mfdled.html#ga944e06a76077d240ccea8c342a36a876">More...</a><br /></td></tr>
<tr class="separator:ga944e06a76077d240ccea8c342a36a876"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Control the MFD text and LED states. </p>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="gae97e6cb1be0d79960018f2a12ba7047f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae97e6cb1be0d79960018f2a12ba7047f">&#9670;&nbsp;</a></span>libx52_led_id</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__libx52mfdled.html#gae97e6cb1be0d79960018f2a12ba7047f">libx52_led_id</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Supported LED identifiers. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggae97e6cb1be0d79960018f2a12ba7047fae89d2ce35f72608d41202764128afd00"></a>LIBX52_LED_FIRE&#160;</td><td class="fielddoc"><p>Fire indicator LED </p>
</td></tr>
<tr><td class="fieldname"><a id="ggae97e6cb1be0d79960018f2a12ba7047fa455294ce1f2dd6bb89c7f48034e5ddbc"></a>LIBX52_LED_A&#160;</td><td class="fielddoc"><p>LED on button A </p>
</td></tr>
<tr><td class="fieldname"><a id="ggae97e6cb1be0d79960018f2a12ba7047fa614aceacc2f76589f6e89429c7886c69"></a>LIBX52_LED_B&#160;</td><td class="fielddoc"><p>LED on button B </p>
</td></tr>
<tr><td class="fieldname"><a id="ggae97e6cb1be0d79960018f2a12ba7047fa29aad41d6d4d2ba9955b76de9559b2d2"></a>LIBX52_LED_D&#160;</td><td class="fielddoc"><p>LED on button D </p>
</td></tr>
<tr><td class="fieldname"><a id="ggae97e6cb1be0d79960018f2a12ba7047fabb61ccb8aa773f0b1bb44dcf46d91ece"></a>LIBX52_LED_E&#160;</td><td class="fielddoc"><p>LED on button E </p>
</td></tr>
<tr><td class="fieldname"><a id="ggae97e6cb1be0d79960018f2a12ba7047fae3d5181cdca7054ea2a44bb6a33736f9"></a>LIBX52_LED_T1&#160;</td><td class="fielddoc"><p>LED on toggle T1 </p>
</td></tr>
<tr><td class="fieldname"><a id="ggae97e6cb1be0d79960018f2a12ba7047fa3915d9b34e7cd0270c3c9945ea0366cb"></a>LIBX52_LED_T2&#160;</td><td class="fielddoc"><p>LED on toggle T2 </p>
</td></tr>
<tr><td class="fieldname"><a id="ggae97e6cb1be0d79960018f2a12ba7047fa25d249c6a06efbf554928885834376e9"></a>LIBX52_LED_T3&#160;</td><td class="fielddoc"><p>LED on toggle T3 </p>
</td></tr>
<tr><td class="fieldname"><a id="ggae97e6cb1be0d79960018f2a12ba7047fa18862e04f12337863251f7307e04d3bf"></a>LIBX52_LED_POV&#160;</td><td class="fielddoc"><p>LED on POV Hat </p>
</td></tr>
<tr><td class="fieldname"><a id="ggae97e6cb1be0d79960018f2a12ba7047fa3fa42fc0e323348cd453831950e51307"></a>LIBX52_LED_CLUTCH&#160;</td><td class="fielddoc"><p>LED on clutch button </p>
</td></tr>
<tr><td class="fieldname"><a id="ggae97e6cb1be0d79960018f2a12ba7047faede82abd452be7da562c50e89160fcd7"></a>LIBX52_LED_THROTTLE&#160;</td><td class="fielddoc"><p>Throttle LED </p>
</td></tr>
</table>
</div>
</div>
<a id="gab1a633a40dcdcfc5cf6fc13a3ed8b68c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab1a633a40dcdcfc5cf6fc13a3ed8b68c">&#9670;&nbsp;</a></span>libx52_led_state</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__libx52mfdled.html#gab1a633a40dcdcfc5cf6fc13a3ed8b68c">libx52_led_state</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Supported LED states. </p>
<p>Not all LEDs support all states </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca0a25e41783e99046974964aee88f895a"></a>LIBX52_LED_STATE_OFF&#160;</td><td class="fielddoc"><p>LED is off </p>
</td></tr>
<tr><td class="fieldname"><a id="ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca5a18783f20716411a77e3bfe7195d3d2"></a>LIBX52_LED_STATE_ON&#160;</td><td class="fielddoc"><p>LED is on. This is not supported by those LEDs which can display multiple colors </p>
</td></tr>
<tr><td class="fieldname"><a id="ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca64b1620a9d10dc593660bf30d6c987d9"></a>LIBX52_LED_STATE_RED&#160;</td><td class="fielddoc"><p>LED displays red color. This is not supported by single color LEDs </p>
</td></tr>
<tr><td class="fieldname"><a id="ggab1a633a40dcdcfc5cf6fc13a3ed8b68cacce900ab6a9325d72e0f084f9271634e"></a>LIBX52_LED_STATE_AMBER&#160;</td><td class="fielddoc"><p>LED displays amber color. This is not supported by single color LEDs </p>
</td></tr>
<tr><td class="fieldname"><a id="ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca1e8346acab9ad3e4735079273808319c"></a>LIBX52_LED_STATE_GREEN&#160;</td><td class="fielddoc"><p>LED displays green color. This is not supported by single color LEDs </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga944e06a76077d240ccea8c342a36a876"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga944e06a76077d240ccea8c342a36a876">&#9670;&nbsp;</a></span>libx52_set_blink()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int libx52_set_blink </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *&#160;</td>
<td class="paramname"><em>x52</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>state</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the blinking state. </p>
<p>The X52 Pro has a "blink" state where it blinks the clutch and hat LEDs.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">x52</td><td>Pointer to the device context </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>0 for off, 1 for on</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>0 on success</li>
<li><a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b">LIBX52_ERROR_INVALID_PARAM</a> if <code>x52</code> is not valid </li>
</ul>
</dd></dl>
</div>
</div>
<a id="ga9bbf5e1ff83201f6124b2d3c75c837c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9bbf5e1ff83201f6124b2d3c75c837c6">&#9670;&nbsp;</a></span>libx52_set_brightness()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int libx52_set_brightness </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *&#160;</td>
<td class="paramname"><em>x52</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>mfd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>brightness</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the MFD or LED brightness. </p>
<p>The brightness of the MFD display and the button LEDs can be controlled individually. <code>brightness</code> should be a value between 0 and 128. While the library does not fail on values higher than 128, the effect may not be what is intended.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">x52</td><td>Pointer to the device context </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">mfd</td><td>0 for LED brightness, 1 for MFD brightness </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">brightness</td><td>Brightness level to set</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>0 on success</li>
<li><a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b">LIBX52_ERROR_INVALID_PARAM</a> if <code>x52</code> is not valid </li>
</ul>
</dd></dl>
</div>
</div>
<a id="ga1a435bb3057aae3307c70fb09912ef18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1a435bb3057aae3307c70fb09912ef18">&#9670;&nbsp;</a></span>libx52_set_led_state()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int libx52_set_led_state </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *&#160;</td>
<td class="paramname"><em>x52</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__libx52mfdled.html#gae97e6cb1be0d79960018f2a12ba7047f">libx52_led_id</a>&#160;</td>
<td class="paramname"><em>led</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__libx52mfdled.html#gab1a633a40dcdcfc5cf6fc13a3ed8b68c">libx52_led_state</a>&#160;</td>
<td class="paramname"><em>state</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the LED state. </p>
<p>The X52 pro has several LEDs that can be individually controlled. This function allows you to set the state of each LED in the internal data structures.</p>
<p>Note that the LEDs referred to by <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae89d2ce35f72608d41202764128afd00">LIBX52_LED_FIRE</a> and <a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047faede82abd452be7da562c50e89160fcd7">LIBX52_LED_THROTTLE</a> support only the states <a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca0a25e41783e99046974964aee88f895a">LIBX52_LED_STATE_OFF</a> and <a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca5a18783f20716411a77e3bfe7195d3d2">LIBX52_LED_STATE_ON</a>. The remaining LEDs support all the states with the exception of <a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca5a18783f20716411a77e3bfe7195d3d2">LIBX52_LED_STATE_ON</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">x52</td><td>Pointer to the device context </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">led</td><td>LED identifier (refer <a class="el" href="group__libx52mfdled.html#gae97e6cb1be0d79960018f2a12ba7047f">libx52_led_id</a>) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>State of the LED (refer <a class="el" href="group__libx52mfdled.html#gab1a633a40dcdcfc5cf6fc13a3ed8b68c">libx52_led_state</a>)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>0 on success</li>
<li><a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b">LIBX52_ERROR_INVALID_PARAM</a> if the <code>x52</code> parameter is not valid</li>
<li><a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a97af04ffc3130e25c9eb03abaafbbaca">LIBX52_ERROR_NOT_SUPPORTED</a> if the <code>led</code> and <code>state</code> combination is not a supported one. The API also returns <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a97af04ffc3130e25c9eb03abaafbbaca">LIBX52_ERROR_NOT_SUPPORTED</a> if the probed joystick is not an X52 Pro, but the non-Pro X52 variant. </li>
</ul>
</dd></dl>
</div>
</div>
<a id="ga4250ce5b06f65c086ef6f279a628f378"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4250ce5b06f65c086ef6f279a628f378">&#9670;&nbsp;</a></span>libx52_set_shift()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int libx52_set_shift </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *&#160;</td>
<td class="paramname"><em>x52</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>state</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the state of the shift indicator. </p>
<p>The X52 Pro MFD has a single shift indicator that indicates when the "shift" button is pressed.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">x52</td><td>Pointer to the device context </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>0 for off, 1 for on</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>0 on success</li>
<li><a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b">LIBX52_ERROR_INVALID_PARAM</a> if <code>x52</code> is not valid </li>
</ul>
</dd></dl>
</div>
</div>
<a id="ga4f2b73685a4eb307895e08a02903bb39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4f2b73685a4eb307895e08a02903bb39">&#9670;&nbsp;</a></span>libx52_set_text()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int libx52_set_text </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *&#160;</td>
<td class="paramname"><em>x52</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>line</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>text</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>length</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the text on an MFD line. </p>
<p>The Multifunction display (MFD) supports 3 lines of up to 16 characters. This function will set the text into the internal data structures.</p>
<p><code>text</code> must be a pointer to an array of bytes, each byte represents a code point on the MFD's internal character map. <code>length</code> is the length of this array.</p>
<p><code>line</code> must be <b>0</b>, <b>1</b>, or <b>2</b> and refers to the first, second or third line of the MFD respectively.</p>
<dl class="section user"><dt>Limitations</dt><dd>This function can only store a maximum of 16 characters per line. Any additional characters are silently discarded.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">x52</td><td>Pointer to the device context </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>Line to be updated (0, 1 or 2) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">text</td><td>Pointer to the text string. The text must be mapped to the code page of the X52 display. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Length of the text to display</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>0 on success</li>
<li><a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b">LIBX52_ERROR_INVALID_PARAM</a> if either <code>x52</code> is invalid, or <code>line</code> is outside the accepted range. </li>
</ul>
</dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,352 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: Miscellaneous</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Miscellaneous</div> </div>
</div><!--header-->
<div class="contents">
<p>Miscellaneous functionality.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga93b777d9cea6e733b63c222e6115ccb7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52_error_code</a> { <br />
&#160;&#160;<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708">LIBX52_SUCCESS</a> = 0,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a22d30938f3a413c16e9ab2e6c183daeb">LIBX52_ERROR_INIT_FAILURE</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7adc972428ef5695848c268f927a0974cc">LIBX52_ERROR_OUT_OF_MEMORY</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b">LIBX52_ERROR_INVALID_PARAM</a>,
<br />
&#160;&#160;<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a97af04ffc3130e25c9eb03abaafbbaca">LIBX52_ERROR_NOT_SUPPORTED</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a9e4acff4906865192086c8957047b35f">LIBX52_ERROR_TRY_AGAIN</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac329401de31cc6c50160c1fafcdc5efa">LIBX52_ERROR_OUT_OF_RANGE</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a85126a0081a32d7c4bd24738996da531">LIBX52_ERROR_USB_FAILURE</a>,
<br />
&#160;&#160;<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a1dd2726f8ffacda63b180c68bdf1838f">LIBX52_ERROR_IO</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7acc31bdcda400b886e0ed914eb5a1a153">LIBX52_ERROR_PERM</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ad3e9a0e2e18b469ddc7135d73942e29a">LIBX52_ERROR_NO_DEVICE</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a5d77a34c39dfa1757553ecd073913844">LIBX52_ERROR_NOT_FOUND</a>,
<br />
&#160;&#160;<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7afe5cd825cc2c26c9226025dcb5628f9d">LIBX52_ERROR_BUSY</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a691294d6e5876fd371f9e32686c548d4">LIBX52_ERROR_TIMEOUT</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac331268731d911dfb16cd28c3d3abc3d">LIBX52_ERROR_OVERFLOW</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7acf7169c36418a1a43cd8f7bdbdb91325">LIBX52_ERROR_PIPE</a>,
<br />
&#160;&#160;<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a1601986a5a57898997fde902f994b91d">LIBX52_ERROR_INTERRUPTED</a>
<br />
}</td></tr>
<tr class="memdesc:ga93b777d9cea6e733b63c222e6115ccb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">LibX52 Error codes. <a href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">More...</a><br /></td></tr>
<tr class="separator:ga93b777d9cea6e733b63c222e6115ccb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa32c12111de45ed00c51fd689fdd6699"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52misc.html#gaa32c12111de45ed00c51fd689fdd6699">libx52_feature</a> { <a class="el" href="group__libx52misc.html#ggaa32c12111de45ed00c51fd689fdd6699a2ce41c87908ef0b8ff6d76ccf226dfd0">LIBX52_FEATURE_LED</a>
}</td></tr>
<tr class="memdesc:gaa32c12111de45ed00c51fd689fdd6699"><td class="mdescLeft">&#160;</td><td class="mdescRight">Feature support for libx52. <a href="group__libx52misc.html#gaa32c12111de45ed00c51fd689fdd6699">More...</a><br /></td></tr>
<tr class="separator:gaa32c12111de45ed00c51fd689fdd6699"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga5d1fdbcab1b1a6cf8a10c206f8e79f73"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52misc.html#ga5d1fdbcab1b1a6cf8a10c206f8e79f73">libx52_update</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52)</td></tr>
<tr class="memdesc:ga5d1fdbcab1b1a6cf8a10c206f8e79f73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the X52. <a href="group__libx52misc.html#ga5d1fdbcab1b1a6cf8a10c206f8e79f73">More...</a><br /></td></tr>
<tr class="separator:ga5d1fdbcab1b1a6cf8a10c206f8e79f73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac491f4fb8d37f477d83725cb472de030"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52misc.html#gac491f4fb8d37f477d83725cb472de030">libx52_vendor_command</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint16_t index, uint16_t value)</td></tr>
<tr class="memdesc:gac491f4fb8d37f477d83725cb472de030"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a raw vendor control packet. <a href="group__libx52misc.html#gac491f4fb8d37f477d83725cb472de030">More...</a><br /></td></tr>
<tr class="separator:gac491f4fb8d37f477d83725cb472de030"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga504ed71c3e543da1436ea99465289ceb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52misc.html#ga504ed71c3e543da1436ea99465289ceb">libx52_check_feature</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, <a class="el" href="group__libx52misc.html#gaa32c12111de45ed00c51fd689fdd6699">libx52_feature</a> feature)</td></tr>
<tr class="memdesc:ga504ed71c3e543da1436ea99465289ceb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the device supports the given feature. <a href="group__libx52misc.html#ga504ed71c3e543da1436ea99465289ceb">More...</a><br /></td></tr>
<tr class="separator:ga504ed71c3e543da1436ea99465289ceb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa29a1022b0c3eb4894ddfd4934c3cf0e"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52misc.html#gaa29a1022b0c3eb4894ddfd4934c3cf0e">libx52_strerror</a> (<a class="el" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52_error_code</a> error)</td></tr>
<tr class="memdesc:gaa29a1022b0c3eb4894ddfd4934c3cf0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a string representation of the error code. <a href="group__libx52misc.html#gaa29a1022b0c3eb4894ddfd4934c3cf0e">More...</a><br /></td></tr>
<tr class="separator:gaa29a1022b0c3eb4894ddfd4934c3cf0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Miscellaneous functionality. </p>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga93b777d9cea6e733b63c222e6115ccb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga93b777d9cea6e733b63c222e6115ccb7">&#9670;&nbsp;</a></span>libx52_error_code</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52_error_code</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>LibX52 Error codes. </p>
<p>Error codes returned by libx52 </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708"></a>LIBX52_SUCCESS&#160;</td><td class="fielddoc"><p>No error, indicates success </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93b777d9cea6e733b63c222e6115ccb7a22d30938f3a413c16e9ab2e6c183daeb"></a>LIBX52_ERROR_INIT_FAILURE&#160;</td><td class="fielddoc"><p>Initialization failure </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93b777d9cea6e733b63c222e6115ccb7adc972428ef5695848c268f927a0974cc"></a>LIBX52_ERROR_OUT_OF_MEMORY&#160;</td><td class="fielddoc"><p>Out of memory </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b"></a>LIBX52_ERROR_INVALID_PARAM&#160;</td><td class="fielddoc"><p>Invalid parameter(s) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93b777d9cea6e733b63c222e6115ccb7a97af04ffc3130e25c9eb03abaafbbaca"></a>LIBX52_ERROR_NOT_SUPPORTED&#160;</td><td class="fielddoc"><p>Not supported </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93b777d9cea6e733b63c222e6115ccb7a9e4acff4906865192086c8957047b35f"></a>LIBX52_ERROR_TRY_AGAIN&#160;</td><td class="fielddoc"><p>No change necessary, try again </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93b777d9cea6e733b63c222e6115ccb7ac329401de31cc6c50160c1fafcdc5efa"></a>LIBX52_ERROR_OUT_OF_RANGE&#160;</td><td class="fielddoc"><p>Clock timezone out of range </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93b777d9cea6e733b63c222e6115ccb7a85126a0081a32d7c4bd24738996da531"></a>LIBX52_ERROR_USB_FAILURE&#160;</td><td class="fielddoc"><p>Error encountered during USB interaction </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93b777d9cea6e733b63c222e6115ccb7a1dd2726f8ffacda63b180c68bdf1838f"></a>LIBX52_ERROR_IO&#160;</td><td class="fielddoc"><p>Input/output error </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93b777d9cea6e733b63c222e6115ccb7acc31bdcda400b886e0ed914eb5a1a153"></a>LIBX52_ERROR_PERM&#160;</td><td class="fielddoc"><p>Insufficient permissions </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93b777d9cea6e733b63c222e6115ccb7ad3e9a0e2e18b469ddc7135d73942e29a"></a>LIBX52_ERROR_NO_DEVICE&#160;</td><td class="fielddoc"><p>No such device </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93b777d9cea6e733b63c222e6115ccb7a5d77a34c39dfa1757553ecd073913844"></a>LIBX52_ERROR_NOT_FOUND&#160;</td><td class="fielddoc"><p>Entry not found </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93b777d9cea6e733b63c222e6115ccb7afe5cd825cc2c26c9226025dcb5628f9d"></a>LIBX52_ERROR_BUSY&#160;</td><td class="fielddoc"><p>Busy </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93b777d9cea6e733b63c222e6115ccb7a691294d6e5876fd371f9e32686c548d4"></a>LIBX52_ERROR_TIMEOUT&#160;</td><td class="fielddoc"><p>Timeout </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93b777d9cea6e733b63c222e6115ccb7ac331268731d911dfb16cd28c3d3abc3d"></a>LIBX52_ERROR_OVERFLOW&#160;</td><td class="fielddoc"><p>Overflow </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93b777d9cea6e733b63c222e6115ccb7acf7169c36418a1a43cd8f7bdbdb91325"></a>LIBX52_ERROR_PIPE&#160;</td><td class="fielddoc"><p>Pipe error </p>
</td></tr>
<tr><td class="fieldname"><a id="gga93b777d9cea6e733b63c222e6115ccb7a1601986a5a57898997fde902f994b91d"></a>LIBX52_ERROR_INTERRUPTED&#160;</td><td class="fielddoc"><p>Operation interrupted </p>
</td></tr>
</table>
</div>
</div>
<a id="gaa32c12111de45ed00c51fd689fdd6699"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa32c12111de45ed00c51fd689fdd6699">&#9670;&nbsp;</a></span>libx52_feature</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__libx52misc.html#gaa32c12111de45ed00c51fd689fdd6699">libx52_feature</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Feature support for libx52. </p>
<p>Each flag is passed to <a class="el" href="group__libx52misc.html#ga504ed71c3e543da1436ea99465289ceb">libx52_check_feature</a> to determine if the connected device has the given feature. This list of features is only limited to those which differ between the supported devices. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaa32c12111de45ed00c51fd689fdd6699a2ce41c87908ef0b8ff6d76ccf226dfd0"></a>LIBX52_FEATURE_LED&#160;</td><td class="fielddoc"><p>Individual LED control </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga504ed71c3e543da1436ea99465289ceb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga504ed71c3e543da1436ea99465289ceb">&#9670;&nbsp;</a></span>libx52_check_feature()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int libx52_check_feature </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *&#160;</td>
<td class="paramname"><em>x52</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__libx52misc.html#gaa32c12111de45ed00c51fd689fdd6699">libx52_feature</a>&#160;</td>
<td class="paramname"><em>feature</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if the device supports the given feature. </p>
<p>This will check if the connected device supports the requested feature. It will return <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708">LIBX52_SUCCESS</a> if it does support it, <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a97af04ffc3130e25c9eb03abaafbbaca">LIBX52_ERROR_NOT_SUPPORTED</a> if it does not, and another <a class="el" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52_error_code</a> on errors.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">x52</td><td>Pointer to the device context </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">feature</td><td>Feature identifier (<a class="el" href="group__libx52misc.html#gaa32c12111de45ed00c51fd689fdd6699">libx52_feature</a>)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52_error_code</a> indicating status </dd></dl>
</div>
</div>
<a id="gaa29a1022b0c3eb4894ddfd4934c3cf0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa29a1022b0c3eb4894ddfd4934c3cf0e">&#9670;&nbsp;</a></span>libx52_strerror()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* libx52_strerror </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52_error_code</a>&#160;</td>
<td class="paramname"><em>error</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return a string representation of the error code. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">error</td><td>Error code returned by libx52 function</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to a NULL terminated string describing the error. Returned pointer must not be freed. </dd></dl>
</div>
</div>
<a id="ga5d1fdbcab1b1a6cf8a10c206f8e79f73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5d1fdbcab1b1a6cf8a10c206f8e79f73">&#9670;&nbsp;</a></span>libx52_update()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int libx52_update </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *&#160;</td>
<td class="paramname"><em>x52</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Update the X52. </p>
<p>All the libx52_set functions only set the internal data structures, but do not actually write anything to the joystick. This function writes the saved data to the joystick and updates the internal data structures as necessary.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">x52</td><td>Pointer to the device context</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52_error_code</a> indicating status </dd></dl>
</div>
</div>
<a id="gac491f4fb8d37f477d83725cb472de030"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac491f4fb8d37f477d83725cb472de030">&#9670;&nbsp;</a></span>libx52_vendor_command()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int libx52_vendor_command </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *&#160;</td>
<td class="paramname"><em>x52</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write a raw vendor control packet. </p>
<p>This function sends the control packet immediately to the hardware, without having to wait for a call to <a class="el" href="group__libx52misc.html#ga5d1fdbcab1b1a6cf8a10c206f8e79f73">libx52_update</a>.</p>
<p>This can be used to debug issues seen on the hardware, however, it is <b>NOT</b> recommended for use by end users, as it can potentially damage the hardware.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">x52</td><td>Pointer to the device context </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>wIndex in the USB packet </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>wValue in the USB packet</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52_error_code</a> indicating status </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,139 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: Utility Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Utility Functions</div> </div>
</div><!--header-->
<div class="contents">
<p>These functions simplify some of the data handling for <a class="el" href="group__libx52mfdled.html">MFD &amp; LED control</a>.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gac5a9279cba660740580e18029e827817"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52util.html#gac5a9279cba660740580e18029e827817">libx52util_convert_utf8_string</a> (const uint8_t *input, uint8_t *output, size_t *len)</td></tr>
<tr class="memdesc:gac5a9279cba660740580e18029e827817"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert UTF8 string to X52 character map. <a href="group__libx52util.html#gac5a9279cba660740580e18029e827817">More...</a><br /></td></tr>
<tr class="separator:gac5a9279cba660740580e18029e827817"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>These functions simplify some of the data handling for <a class="el" href="group__libx52mfdled.html">MFD &amp; LED control</a>. </p>
<h2 class="groupheader">Function Documentation</h2>
<a id="gac5a9279cba660740580e18029e827817"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac5a9279cba660740580e18029e827817">&#9670;&nbsp;</a></span>libx52util_convert_utf8_string()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int libx52util_convert_utf8_string </td>
<td>(</td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>input</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>output</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>len</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert UTF8 string to X52 character map. </p>
<p>This function takes in a UTF-8 string and converts it to the character map used by the X52Pro MFD. Unrecognized characters are silently dropped.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>Input string in UTF-8. Must be NUL-terminated </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>Output buffer </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">len</td><td>Length of output buffer</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, -EINVAL on invalid parameters, -E2BIG if the buffer filled up before converting the entire string. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

104
index.html 100644
View File

@ -0,0 +1,104 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: Saitek X52/X52Pro drivers for Linux/Unix</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">Saitek X52/X52Pro drivers for Linux/Unix </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h1><a class="anchor" id="intro"></a>
Introduction</h1>
<p>libx52 is an open source library that allows you to communicate with a Saitek X52 or Saitek X52Pro joystick on Linux and Unix machines. Saitek only provides Windows drivers for their joysticks, necessitating the need for this project for users to be able to control the LEDs and MFD text on a Linux or Unix device.</p>
<p>This documentation is intended for application developers who wish to use the features of this library to communicate with supported devices.</p>
<h1><a class="anchor" id="start"></a>
Getting Started</h1>
<p>See the <a class="el" href="libx52_integration.html">Integration</a> page for details on how to integrate libx52 with your application.</p>
<h1><a class="anchor" id="features"></a>
Library Features</h1>
<p>libx52 supports setting the following parameters on the joystick</p>
<ol type="1">
<li>Text on the multifunction display (MFD).</li>
<li>All 3 clocks on the MFD.</li>
<li>Date display on the MFD.</li>
<li>Blinking of the POV hat and clutch LEDs (both blinking or not).</li>
<li>Shift indicator on the MFD.</li>
<li>Setting the color of the individual LEDs (<em>on the X52 Pro only</em>).</li>
</ol>
<h1><a class="anchor" id="api"></a>
Application Programming Interface</h1>
<p>See the documentation for the following files for a complete list of all functions.</p>
<ul>
<li><a class="el" href="libx52_8h.html" title="Functions, structures and enumerations for the Saitek X52 MFD &amp; LED driver library.">libx52.h</a></li>
<li><a class="el" href="libx52util_8h.html" title="Utility functions for the Saitek X52 MFD &amp; LED driver library.">libx52util.h</a> </li>
</ul>
</div></div><!-- PageDoc -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

35
jquery.js vendored 100644

File diff suppressed because one or more lines are too long

241
libx52_8h.html 100644
View File

@ -0,0 +1,241 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: /home/nirenjan/project/x52pro-linux/lib/libx52/libx52.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="dir_c4264133ce0ceb85bd09aca42f7150c0.html">libx52</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">libx52.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Functions, structures and enumerations for the Saitek X52 MFD &amp; LED driver library.
<a href="#details">More...</a></p>
<p><a href="libx52_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gaca59b8d8f249fed58a0ec3253328e131"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a></td></tr>
<tr class="memdesc:gaca59b8d8f249fed58a0ec3253328e131"><td class="mdescLeft">&#160;</td><td class="mdescRight">Device context structure used by libx52. <a href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">More...</a><br /></td></tr>
<tr class="separator:gaca59b8d8f249fed58a0ec3253328e131"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga08c48a43f70bebb61b553e0ec12d917c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">libx52_clock_id</a> { <a class="el" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca85dccae177b78d35e21875772738ac70">LIBX52_CLOCK_1</a>,
<a class="el" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917cab2d9e9967646a797dfb652d81a964282">LIBX52_CLOCK_2</a>,
<a class="el" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca422990d812ea1dd9e94a5b3d03565945">LIBX52_CLOCK_3</a>
}</td></tr>
<tr class="memdesc:ga08c48a43f70bebb61b553e0ec12d917c"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of supported clocks on the MFD. <a href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">More...</a><br /></td></tr>
<tr class="separator:ga08c48a43f70bebb61b553e0ec12d917c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c9c90bdba150b6e48ddab30aea45268"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52clock.html#ga0c9c90bdba150b6e48ddab30aea45268">libx52_clock_format</a> { <a class="el" href="group__libx52clock.html#gga0c9c90bdba150b6e48ddab30aea45268a7e216a257012c9aa2a5b847a4cb96332">LIBX52_CLOCK_FORMAT_12HR</a>,
<a class="el" href="group__libx52clock.html#gga0c9c90bdba150b6e48ddab30aea45268a1a60fdc6dacbf9a46a93a161d2644908">LIBX52_CLOCK_FORMAT_24HR</a>
}</td></tr>
<tr class="memdesc:ga0c9c90bdba150b6e48ddab30aea45268"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supported clock formats. <a href="group__libx52clock.html#ga0c9c90bdba150b6e48ddab30aea45268">More...</a><br /></td></tr>
<tr class="separator:ga0c9c90bdba150b6e48ddab30aea45268"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0da0bde31d817eaa42465b0dea2ccf5a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52clock.html#ga0da0bde31d817eaa42465b0dea2ccf5a">libx52_date_format</a> { <a class="el" href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aa81d30d59013fcef952c9d10a30942abc">LIBX52_DATE_FORMAT_DDMMYY</a>,
<a class="el" href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aad91220edc91513325af1def4bcdfc07c">LIBX52_DATE_FORMAT_MMDDYY</a>,
<a class="el" href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aad2c9819fc5590f542a22c42a3243bd5e">LIBX52_DATE_FORMAT_YYMMDD</a>
}</td></tr>
<tr class="memdesc:ga0da0bde31d817eaa42465b0dea2ccf5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supported date formats. <a href="group__libx52clock.html#ga0da0bde31d817eaa42465b0dea2ccf5a">More...</a><br /></td></tr>
<tr class="separator:ga0da0bde31d817eaa42465b0dea2ccf5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae97e6cb1be0d79960018f2a12ba7047f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52mfdled.html#gae97e6cb1be0d79960018f2a12ba7047f">libx52_led_id</a> { <br />
&#160;&#160;<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae89d2ce35f72608d41202764128afd00">LIBX52_LED_FIRE</a> = 0x01,
<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa455294ce1f2dd6bb89c7f48034e5ddbc">LIBX52_LED_A</a> = 0x02,
<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa614aceacc2f76589f6e89429c7886c69">LIBX52_LED_B</a> = 0x04,
<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa29aad41d6d4d2ba9955b76de9559b2d2">LIBX52_LED_D</a> = 0x06,
<br />
&#160;&#160;<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fabb61ccb8aa773f0b1bb44dcf46d91ece">LIBX52_LED_E</a> = 0x08,
<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae3d5181cdca7054ea2a44bb6a33736f9">LIBX52_LED_T1</a> = 0x0a,
<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa3915d9b34e7cd0270c3c9945ea0366cb">LIBX52_LED_T2</a> = 0x0c,
<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa25d249c6a06efbf554928885834376e9">LIBX52_LED_T3</a> = 0x0e,
<br />
&#160;&#160;<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa18862e04f12337863251f7307e04d3bf">LIBX52_LED_POV</a> = 0x10,
<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa3fa42fc0e323348cd453831950e51307">LIBX52_LED_CLUTCH</a> = 0x12,
<a class="el" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047faede82abd452be7da562c50e89160fcd7">LIBX52_LED_THROTTLE</a> = 0x14
<br />
}</td></tr>
<tr class="memdesc:gae97e6cb1be0d79960018f2a12ba7047f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supported LED identifiers. <a href="group__libx52mfdled.html#gae97e6cb1be0d79960018f2a12ba7047f">More...</a><br /></td></tr>
<tr class="separator:gae97e6cb1be0d79960018f2a12ba7047f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1a633a40dcdcfc5cf6fc13a3ed8b68c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52mfdled.html#gab1a633a40dcdcfc5cf6fc13a3ed8b68c">libx52_led_state</a> { <br />
&#160;&#160;<a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca0a25e41783e99046974964aee88f895a">LIBX52_LED_STATE_OFF</a>,
<a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca5a18783f20716411a77e3bfe7195d3d2">LIBX52_LED_STATE_ON</a>,
<a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca64b1620a9d10dc593660bf30d6c987d9">LIBX52_LED_STATE_RED</a>,
<a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68cacce900ab6a9325d72e0f084f9271634e">LIBX52_LED_STATE_AMBER</a>,
<br />
&#160;&#160;<a class="el" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca1e8346acab9ad3e4735079273808319c">LIBX52_LED_STATE_GREEN</a>
<br />
}</td></tr>
<tr class="memdesc:gab1a633a40dcdcfc5cf6fc13a3ed8b68c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supported LED states. <a href="group__libx52mfdled.html#gab1a633a40dcdcfc5cf6fc13a3ed8b68c">More...</a><br /></td></tr>
<tr class="separator:gab1a633a40dcdcfc5cf6fc13a3ed8b68c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga93b777d9cea6e733b63c222e6115ccb7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52_error_code</a> { <br />
&#160;&#160;<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708">LIBX52_SUCCESS</a> = 0,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a22d30938f3a413c16e9ab2e6c183daeb">LIBX52_ERROR_INIT_FAILURE</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7adc972428ef5695848c268f927a0974cc">LIBX52_ERROR_OUT_OF_MEMORY</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b">LIBX52_ERROR_INVALID_PARAM</a>,
<br />
&#160;&#160;<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a97af04ffc3130e25c9eb03abaafbbaca">LIBX52_ERROR_NOT_SUPPORTED</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a9e4acff4906865192086c8957047b35f">LIBX52_ERROR_TRY_AGAIN</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac329401de31cc6c50160c1fafcdc5efa">LIBX52_ERROR_OUT_OF_RANGE</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a85126a0081a32d7c4bd24738996da531">LIBX52_ERROR_USB_FAILURE</a>,
<br />
&#160;&#160;<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a1dd2726f8ffacda63b180c68bdf1838f">LIBX52_ERROR_IO</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7acc31bdcda400b886e0ed914eb5a1a153">LIBX52_ERROR_PERM</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ad3e9a0e2e18b469ddc7135d73942e29a">LIBX52_ERROR_NO_DEVICE</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a5d77a34c39dfa1757553ecd073913844">LIBX52_ERROR_NOT_FOUND</a>,
<br />
&#160;&#160;<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7afe5cd825cc2c26c9226025dcb5628f9d">LIBX52_ERROR_BUSY</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a691294d6e5876fd371f9e32686c548d4">LIBX52_ERROR_TIMEOUT</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac331268731d911dfb16cd28c3d3abc3d">LIBX52_ERROR_OVERFLOW</a>,
<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7acf7169c36418a1a43cd8f7bdbdb91325">LIBX52_ERROR_PIPE</a>,
<br />
&#160;&#160;<a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a1601986a5a57898997fde902f994b91d">LIBX52_ERROR_INTERRUPTED</a>
<br />
}</td></tr>
<tr class="memdesc:ga93b777d9cea6e733b63c222e6115ccb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">LibX52 Error codes. <a href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">More...</a><br /></td></tr>
<tr class="separator:ga93b777d9cea6e733b63c222e6115ccb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa32c12111de45ed00c51fd689fdd6699"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52misc.html#gaa32c12111de45ed00c51fd689fdd6699">libx52_feature</a> { <a class="el" href="group__libx52misc.html#ggaa32c12111de45ed00c51fd689fdd6699a2ce41c87908ef0b8ff6d76ccf226dfd0">LIBX52_FEATURE_LED</a>
}</td></tr>
<tr class="memdesc:gaa32c12111de45ed00c51fd689fdd6699"><td class="mdescLeft">&#160;</td><td class="mdescRight">Feature support for libx52. <a href="group__libx52misc.html#gaa32c12111de45ed00c51fd689fdd6699">More...</a><br /></td></tr>
<tr class="separator:gaa32c12111de45ed00c51fd689fdd6699"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaf9ae27c6e505bce8c4415a638033a4bd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52init.html#gaf9ae27c6e505bce8c4415a638033a4bd">libx52_init</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> **dev)</td></tr>
<tr class="memdesc:gaf9ae27c6e505bce8c4415a638033a4bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the X52 library. <a href="group__libx52init.html#gaf9ae27c6e505bce8c4415a638033a4bd">More...</a><br /></td></tr>
<tr class="separator:gaf9ae27c6e505bce8c4415a638033a4bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga17fe14ab3f67706b2d35c6cce3cd670b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52init.html#ga17fe14ab3f67706b2d35c6cce3cd670b">libx52_exit</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *dev)</td></tr>
<tr class="memdesc:ga17fe14ab3f67706b2d35c6cce3cd670b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exit the library and free up any resources used. <a href="group__libx52init.html#ga17fe14ab3f67706b2d35c6cce3cd670b">More...</a><br /></td></tr>
<tr class="separator:ga17fe14ab3f67706b2d35c6cce3cd670b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga65998f1155fb093f45babfd0c2c138d9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52init.html#ga65998f1155fb093f45babfd0c2c138d9">libx52_connect</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *dev)</td></tr>
<tr class="memdesc:ga65998f1155fb093f45babfd0c2c138d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to the X52 device. <a href="group__libx52init.html#ga65998f1155fb093f45babfd0c2c138d9">More...</a><br /></td></tr>
<tr class="separator:ga65998f1155fb093f45babfd0c2c138d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga82f3fb7f750aa5480d23b69875d3ebe8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52init.html#ga82f3fb7f750aa5480d23b69875d3ebe8">libx52_disconnect</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *dev)</td></tr>
<tr class="memdesc:ga82f3fb7f750aa5480d23b69875d3ebe8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disconnect from the X52 device. <a href="group__libx52init.html#ga82f3fb7f750aa5480d23b69875d3ebe8">More...</a><br /></td></tr>
<tr class="separator:ga82f3fb7f750aa5480d23b69875d3ebe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f2b73685a4eb307895e08a02903bb39"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52mfdled.html#ga4f2b73685a4eb307895e08a02903bb39">libx52_set_text</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint8_t line, const char *text, uint8_t length)</td></tr>
<tr class="memdesc:ga4f2b73685a4eb307895e08a02903bb39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the text on an MFD line. <a href="group__libx52mfdled.html#ga4f2b73685a4eb307895e08a02903bb39">More...</a><br /></td></tr>
<tr class="separator:ga4f2b73685a4eb307895e08a02903bb39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1a435bb3057aae3307c70fb09912ef18"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52mfdled.html#ga1a435bb3057aae3307c70fb09912ef18">libx52_set_led_state</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, <a class="el" href="group__libx52mfdled.html#gae97e6cb1be0d79960018f2a12ba7047f">libx52_led_id</a> led, <a class="el" href="group__libx52mfdled.html#gab1a633a40dcdcfc5cf6fc13a3ed8b68c">libx52_led_state</a> state)</td></tr>
<tr class="memdesc:ga1a435bb3057aae3307c70fb09912ef18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the LED state. <a href="group__libx52mfdled.html#ga1a435bb3057aae3307c70fb09912ef18">More...</a><br /></td></tr>
<tr class="separator:ga1a435bb3057aae3307c70fb09912ef18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3ebdd7bf3cd2f419d9a13c46a139922e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52clock.html#ga3ebdd7bf3cd2f419d9a13c46a139922e">libx52_set_clock</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, time_t time, int local)</td></tr>
<tr class="memdesc:ga3ebdd7bf3cd2f419d9a13c46a139922e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the clock. <a href="group__libx52clock.html#ga3ebdd7bf3cd2f419d9a13c46a139922e">More...</a><br /></td></tr>
<tr class="separator:ga3ebdd7bf3cd2f419d9a13c46a139922e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04c0429e7fd7d9d5b5b371b88831381e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52clock.html#ga04c0429e7fd7d9d5b5b371b88831381e">libx52_set_clock_timezone</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, <a class="el" href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">libx52_clock_id</a> clock, int offset)</td></tr>
<tr class="memdesc:ga04c0429e7fd7d9d5b5b371b88831381e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the timezone for the secondary and tertiary clocks. <a href="group__libx52clock.html#ga04c0429e7fd7d9d5b5b371b88831381e">More...</a><br /></td></tr>
<tr class="separator:ga04c0429e7fd7d9d5b5b371b88831381e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacd82a744b1d33e0a9989fca4d8aad42b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52clock.html#gacd82a744b1d33e0a9989fca4d8aad42b">libx52_set_clock_format</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, <a class="el" href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">libx52_clock_id</a> clock, <a class="el" href="group__libx52clock.html#ga0c9c90bdba150b6e48ddab30aea45268">libx52_clock_format</a> format)</td></tr>
<tr class="memdesc:gacd82a744b1d33e0a9989fca4d8aad42b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set whether the clock is displayed in 12 hour or 24 hour format. <a href="group__libx52clock.html#gacd82a744b1d33e0a9989fca4d8aad42b">More...</a><br /></td></tr>
<tr class="separator:gacd82a744b1d33e0a9989fca4d8aad42b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga42b5b1f00dea64f0706c31e0b3dd1840"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52clock.html#ga42b5b1f00dea64f0706c31e0b3dd1840">libx52_set_time</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint8_t hour, uint8_t minute)</td></tr>
<tr class="memdesc:ga42b5b1f00dea64f0706c31e0b3dd1840"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the hour and minute on clock 1. <a href="group__libx52clock.html#ga42b5b1f00dea64f0706c31e0b3dd1840">More...</a><br /></td></tr>
<tr class="separator:ga42b5b1f00dea64f0706c31e0b3dd1840"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f49341bca8a343931858ff008d2d5ca"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52clock.html#ga4f49341bca8a343931858ff008d2d5ca">libx52_set_date</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint8_t dd, uint8_t mm, uint8_t yy)</td></tr>
<tr class="memdesc:ga4f49341bca8a343931858ff008d2d5ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the date. <a href="group__libx52clock.html#ga4f49341bca8a343931858ff008d2d5ca">More...</a><br /></td></tr>
<tr class="separator:ga4f49341bca8a343931858ff008d2d5ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabfa0aa6cb8742f29b3b8cfbc16fdadb2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52clock.html#gabfa0aa6cb8742f29b3b8cfbc16fdadb2">libx52_set_date_format</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, <a class="el" href="group__libx52clock.html#ga0da0bde31d817eaa42465b0dea2ccf5a">libx52_date_format</a> format)</td></tr>
<tr class="memdesc:gabfa0aa6cb8742f29b3b8cfbc16fdadb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the date format for the MFD date display. <a href="group__libx52clock.html#gabfa0aa6cb8742f29b3b8cfbc16fdadb2">More...</a><br /></td></tr>
<tr class="separator:gabfa0aa6cb8742f29b3b8cfbc16fdadb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9bbf5e1ff83201f6124b2d3c75c837c6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52mfdled.html#ga9bbf5e1ff83201f6124b2d3c75c837c6">libx52_set_brightness</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint8_t mfd, uint16_t brightness)</td></tr>
<tr class="memdesc:ga9bbf5e1ff83201f6124b2d3c75c837c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the MFD or LED brightness. <a href="group__libx52mfdled.html#ga9bbf5e1ff83201f6124b2d3c75c837c6">More...</a><br /></td></tr>
<tr class="separator:ga9bbf5e1ff83201f6124b2d3c75c837c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4250ce5b06f65c086ef6f279a628f378"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52mfdled.html#ga4250ce5b06f65c086ef6f279a628f378">libx52_set_shift</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint8_t state)</td></tr>
<tr class="memdesc:ga4250ce5b06f65c086ef6f279a628f378"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the state of the shift indicator. <a href="group__libx52mfdled.html#ga4250ce5b06f65c086ef6f279a628f378">More...</a><br /></td></tr>
<tr class="separator:ga4250ce5b06f65c086ef6f279a628f378"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga944e06a76077d240ccea8c342a36a876"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52mfdled.html#ga944e06a76077d240ccea8c342a36a876">libx52_set_blink</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint8_t state)</td></tr>
<tr class="memdesc:ga944e06a76077d240ccea8c342a36a876"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the blinking state. <a href="group__libx52mfdled.html#ga944e06a76077d240ccea8c342a36a876">More...</a><br /></td></tr>
<tr class="separator:ga944e06a76077d240ccea8c342a36a876"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5d1fdbcab1b1a6cf8a10c206f8e79f73"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52misc.html#ga5d1fdbcab1b1a6cf8a10c206f8e79f73">libx52_update</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52)</td></tr>
<tr class="memdesc:ga5d1fdbcab1b1a6cf8a10c206f8e79f73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the X52. <a href="group__libx52misc.html#ga5d1fdbcab1b1a6cf8a10c206f8e79f73">More...</a><br /></td></tr>
<tr class="separator:ga5d1fdbcab1b1a6cf8a10c206f8e79f73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac491f4fb8d37f477d83725cb472de030"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52misc.html#gac491f4fb8d37f477d83725cb472de030">libx52_vendor_command</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint16_t index, uint16_t value)</td></tr>
<tr class="memdesc:gac491f4fb8d37f477d83725cb472de030"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a raw vendor control packet. <a href="group__libx52misc.html#gac491f4fb8d37f477d83725cb472de030">More...</a><br /></td></tr>
<tr class="separator:gac491f4fb8d37f477d83725cb472de030"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga504ed71c3e543da1436ea99465289ceb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52misc.html#ga504ed71c3e543da1436ea99465289ceb">libx52_check_feature</a> (<a class="el" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, <a class="el" href="group__libx52misc.html#gaa32c12111de45ed00c51fd689fdd6699">libx52_feature</a> feature)</td></tr>
<tr class="memdesc:ga504ed71c3e543da1436ea99465289ceb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the device supports the given feature. <a href="group__libx52misc.html#ga504ed71c3e543da1436ea99465289ceb">More...</a><br /></td></tr>
<tr class="separator:ga504ed71c3e543da1436ea99465289ceb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa29a1022b0c3eb4894ddfd4934c3cf0e"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52misc.html#gaa29a1022b0c3eb4894ddfd4934c3cf0e">libx52_strerror</a> (<a class="el" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52_error_code</a> error)</td></tr>
<tr class="memdesc:gaa29a1022b0c3eb4894ddfd4934c3cf0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a string representation of the error code. <a href="group__libx52misc.html#gaa29a1022b0c3eb4894ddfd4934c3cf0e">More...</a><br /></td></tr>
<tr class="separator:gaa29a1022b0c3eb4894ddfd4934c3cf0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Functions, structures and enumerations for the Saitek X52 MFD &amp; LED driver library. </p>
<p>This file contains the type, enum and function prototypes for the Saitek X52 driver library. These functions allow an application to connect to a supported X52/X52Pro joystick and control the MFD and LEDs.</p>
<dl class="section author"><dt>Author</dt><dd>Nirenjan Krishnan (<a href="#" onclick="location.href='mai'+'lto:'+'nir'+'en'+'jan'+'@n'+'ire'+'nj'+'an.'+'or'+'g'; return false;">niren<span style="display: none;">.nosp@m.</span>jan@<span style="display: none;">.nosp@m.</span>niren<span style="display: none;">.nosp@m.</span>jan.<span style="display: none;">.nosp@m.</span>org</a>) </dd></dl>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,322 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: /home/nirenjan/project/x52pro-linux/lib/libx52/libx52.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="dir_c4264133ce0ceb85bd09aca42f7150c0.html">libx52</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">libx52.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="libx52_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Saitek X52 Pro MFD &amp; LED driver</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2012-2017 Nirenjan Krishnan (nirenjan@nirenjan.org)</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; </div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#ifndef LIBX52_H</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#define LIBX52_H</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &lt;time.h&gt;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">struct </span><a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a>;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; </div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131"> 45</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> <a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a>;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c"> 51</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca85dccae177b78d35e21875772738ac70"> 53</a></span>&#160; <a class="code" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca85dccae177b78d35e21875772738ac70">LIBX52_CLOCK_1</a>,</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917cab2d9e9967646a797dfb652d81a964282"> 56</a></span>&#160; <a class="code" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917cab2d9e9967646a797dfb652d81a964282">LIBX52_CLOCK_2</a>,</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; </div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca422990d812ea1dd9e94a5b3d03565945"> 59</a></span>&#160; <a class="code" href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca422990d812ea1dd9e94a5b3d03565945">LIBX52_CLOCK_3</a>,</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;} <a class="code" href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">libx52_clock_id</a>;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="group__libx52clock.html#ga0c9c90bdba150b6e48ddab30aea45268"> 66</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="group__libx52clock.html#gga0c9c90bdba150b6e48ddab30aea45268a7e216a257012c9aa2a5b847a4cb96332"> 68</a></span>&#160; <a class="code" href="group__libx52clock.html#gga0c9c90bdba150b6e48ddab30aea45268a7e216a257012c9aa2a5b847a4cb96332">LIBX52_CLOCK_FORMAT_12HR</a>,</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="group__libx52clock.html#gga0c9c90bdba150b6e48ddab30aea45268a1a60fdc6dacbf9a46a93a161d2644908"> 71</a></span>&#160; <a class="code" href="group__libx52clock.html#gga0c9c90bdba150b6e48ddab30aea45268a1a60fdc6dacbf9a46a93a161d2644908">LIBX52_CLOCK_FORMAT_24HR</a>,</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;} <a class="code" href="group__libx52clock.html#ga0c9c90bdba150b6e48ddab30aea45268">libx52_clock_format</a>;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; </div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="group__libx52clock.html#ga0da0bde31d817eaa42465b0dea2ccf5a"> 78</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aa81d30d59013fcef952c9d10a30942abc"> 80</a></span>&#160; <a class="code" href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aa81d30d59013fcef952c9d10a30942abc">LIBX52_DATE_FORMAT_DDMMYY</a>,</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; </div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aad91220edc91513325af1def4bcdfc07c"> 83</a></span>&#160; <a class="code" href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aad91220edc91513325af1def4bcdfc07c">LIBX52_DATE_FORMAT_MMDDYY</a>,</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aad2c9819fc5590f542a22c42a3243bd5e"> 86</a></span>&#160; <a class="code" href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aad2c9819fc5590f542a22c42a3243bd5e">LIBX52_DATE_FORMAT_YYMMDD</a>,</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;} <a class="code" href="group__libx52clock.html#ga0da0bde31d817eaa42465b0dea2ccf5a">libx52_date_format</a>;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="group__libx52mfdled.html#gae97e6cb1be0d79960018f2a12ba7047f"> 93</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae89d2ce35f72608d41202764128afd00"> 95</a></span>&#160; <a class="code" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae89d2ce35f72608d41202764128afd00">LIBX52_LED_FIRE</a> = 0x01,</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa455294ce1f2dd6bb89c7f48034e5ddbc"> 98</a></span>&#160; <a class="code" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa455294ce1f2dd6bb89c7f48034e5ddbc">LIBX52_LED_A</a> = 0x02,</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa614aceacc2f76589f6e89429c7886c69"> 101</a></span>&#160; <a class="code" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa614aceacc2f76589f6e89429c7886c69">LIBX52_LED_B</a> = 0x04,</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa29aad41d6d4d2ba9955b76de9559b2d2"> 104</a></span>&#160; <a class="code" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa29aad41d6d4d2ba9955b76de9559b2d2">LIBX52_LED_D</a> = 0x06,</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; </div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fabb61ccb8aa773f0b1bb44dcf46d91ece"> 107</a></span>&#160; <a class="code" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fabb61ccb8aa773f0b1bb44dcf46d91ece">LIBX52_LED_E</a> = 0x08,</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; </div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae3d5181cdca7054ea2a44bb6a33736f9"> 110</a></span>&#160; <a class="code" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae3d5181cdca7054ea2a44bb6a33736f9">LIBX52_LED_T1</a> = 0x0a,</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; </div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa3915d9b34e7cd0270c3c9945ea0366cb"> 113</a></span>&#160; <a class="code" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa3915d9b34e7cd0270c3c9945ea0366cb">LIBX52_LED_T2</a> = 0x0c,</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa25d249c6a06efbf554928885834376e9"> 116</a></span>&#160; <a class="code" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa25d249c6a06efbf554928885834376e9">LIBX52_LED_T3</a> = 0x0e,</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; </div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa18862e04f12337863251f7307e04d3bf"> 119</a></span>&#160; <a class="code" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa18862e04f12337863251f7307e04d3bf">LIBX52_LED_POV</a> = 0x10,</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa3fa42fc0e323348cd453831950e51307"> 122</a></span>&#160; <a class="code" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa3fa42fc0e323348cd453831950e51307">LIBX52_LED_CLUTCH</a> = 0x12,</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; </div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047faede82abd452be7da562c50e89160fcd7"> 125</a></span>&#160; <a class="code" href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047faede82abd452be7da562c50e89160fcd7">LIBX52_LED_THROTTLE</a> = 0x14,</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;} <a class="code" href="group__libx52mfdled.html#gae97e6cb1be0d79960018f2a12ba7047f">libx52_led_id</a>;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; </div>
<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="group__libx52mfdled.html#gab1a633a40dcdcfc5cf6fc13a3ed8b68c"> 135</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca0a25e41783e99046974964aee88f895a"> 137</a></span>&#160; <a class="code" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca0a25e41783e99046974964aee88f895a">LIBX52_LED_STATE_OFF</a>,</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; </div>
<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca5a18783f20716411a77e3bfe7195d3d2"> 143</a></span>&#160; <a class="code" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca5a18783f20716411a77e3bfe7195d3d2">LIBX52_LED_STATE_ON</a>,</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; </div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca64b1620a9d10dc593660bf30d6c987d9"> 146</a></span>&#160; <a class="code" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca64b1620a9d10dc593660bf30d6c987d9">LIBX52_LED_STATE_RED</a>,</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; </div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68cacce900ab6a9325d72e0f084f9271634e"> 149</a></span>&#160; <a class="code" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68cacce900ab6a9325d72e0f084f9271634e">LIBX52_LED_STATE_AMBER</a>,</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca1e8346acab9ad3e4735079273808319c"> 152</a></span>&#160; <a class="code" href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca1e8346acab9ad3e4735079273808319c">LIBX52_LED_STATE_GREEN</a>,</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;} <a class="code" href="group__libx52mfdled.html#gab1a633a40dcdcfc5cf6fc13a3ed8b68c">libx52_led_state</a>;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; </div>
<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7"> 162</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708"> 164</a></span>&#160; <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708">LIBX52_SUCCESS</a> = 0,</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; </div>
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a22d30938f3a413c16e9ab2e6c183daeb"> 167</a></span>&#160; <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a22d30938f3a413c16e9ab2e6c183daeb">LIBX52_ERROR_INIT_FAILURE</a>,</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; </div>
<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7adc972428ef5695848c268f927a0974cc"> 170</a></span>&#160; <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7adc972428ef5695848c268f927a0974cc">LIBX52_ERROR_OUT_OF_MEMORY</a>,</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; </div>
<div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b"> 173</a></span>&#160; <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b">LIBX52_ERROR_INVALID_PARAM</a>,</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; </div>
<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a97af04ffc3130e25c9eb03abaafbbaca"> 176</a></span>&#160; <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a97af04ffc3130e25c9eb03abaafbbaca">LIBX52_ERROR_NOT_SUPPORTED</a>,</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; </div>
<div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a9e4acff4906865192086c8957047b35f"> 179</a></span>&#160; <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a9e4acff4906865192086c8957047b35f">LIBX52_ERROR_TRY_AGAIN</a>,</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; </div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac329401de31cc6c50160c1fafcdc5efa"> 182</a></span>&#160; <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac329401de31cc6c50160c1fafcdc5efa">LIBX52_ERROR_OUT_OF_RANGE</a>,</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; </div>
<div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a85126a0081a32d7c4bd24738996da531"> 185</a></span>&#160; <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a85126a0081a32d7c4bd24738996da531">LIBX52_ERROR_USB_FAILURE</a>,</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; </div>
<div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a1dd2726f8ffacda63b180c68bdf1838f"> 188</a></span>&#160; <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a1dd2726f8ffacda63b180c68bdf1838f">LIBX52_ERROR_IO</a>,</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; </div>
<div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7acc31bdcda400b886e0ed914eb5a1a153"> 191</a></span>&#160; <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7acc31bdcda400b886e0ed914eb5a1a153">LIBX52_ERROR_PERM</a>,</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; </div>
<div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ad3e9a0e2e18b469ddc7135d73942e29a"> 194</a></span>&#160; <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ad3e9a0e2e18b469ddc7135d73942e29a">LIBX52_ERROR_NO_DEVICE</a>,</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; </div>
<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a5d77a34c39dfa1757553ecd073913844"> 197</a></span>&#160; <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a5d77a34c39dfa1757553ecd073913844">LIBX52_ERROR_NOT_FOUND</a>,</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; </div>
<div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7afe5cd825cc2c26c9226025dcb5628f9d"> 200</a></span>&#160; <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7afe5cd825cc2c26c9226025dcb5628f9d">LIBX52_ERROR_BUSY</a>,</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; </div>
<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a691294d6e5876fd371f9e32686c548d4"> 203</a></span>&#160; <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a691294d6e5876fd371f9e32686c548d4">LIBX52_ERROR_TIMEOUT</a>,</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; </div>
<div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac331268731d911dfb16cd28c3d3abc3d"> 206</a></span>&#160; <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac331268731d911dfb16cd28c3d3abc3d">LIBX52_ERROR_OVERFLOW</a>,</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; </div>
<div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7acf7169c36418a1a43cd8f7bdbdb91325"> 209</a></span>&#160; <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7acf7169c36418a1a43cd8f7bdbdb91325">LIBX52_ERROR_PIPE</a>,</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; </div>
<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a1601986a5a57898997fde902f994b91d"> 212</a></span>&#160; <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a1601986a5a57898997fde902f994b91d">LIBX52_ERROR_INTERRUPTED</a>,</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; </div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;} <a class="code" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52_error_code</a>;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; </div>
<div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="group__libx52misc.html#gaa32c12111de45ed00c51fd689fdd6699"> 225</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="group__libx52misc.html#ggaa32c12111de45ed00c51fd689fdd6699a2ce41c87908ef0b8ff6d76ccf226dfd0"> 227</a></span>&#160; <a class="code" href="group__libx52misc.html#ggaa32c12111de45ed00c51fd689fdd6699a2ce41c87908ef0b8ff6d76ccf226dfd0">LIBX52_FEATURE_LED</a>,</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; </div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;} <a class="code" href="group__libx52misc.html#gaa32c12111de45ed00c51fd689fdd6699">libx52_feature</a>;</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; </div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__libx52init.html#gaf9ae27c6e505bce8c4415a638033a4bd">libx52_init</a>(<a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> ** dev);</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; </div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__libx52init.html#ga17fe14ab3f67706b2d35c6cce3cd670b">libx52_exit</a>(<a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *dev);</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; </div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__libx52init.html#ga65998f1155fb093f45babfd0c2c138d9">libx52_connect</a>(<a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *dev);</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; </div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__libx52init.html#ga82f3fb7f750aa5480d23b69875d3ebe8">libx52_disconnect</a>(<a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *dev);</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; </div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__libx52mfdled.html#ga4f2b73685a4eb307895e08a02903bb39">libx52_set_text</a>(<a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint8_t line, <span class="keyword">const</span> <span class="keywordtype">char</span> *text, uint8_t length);</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; </div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__libx52mfdled.html#ga1a435bb3057aae3307c70fb09912ef18">libx52_set_led_state</a>(<a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52,</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <a class="code" href="group__libx52mfdled.html#gae97e6cb1be0d79960018f2a12ba7047f">libx52_led_id</a> led,</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <a class="code" href="group__libx52mfdled.html#gab1a633a40dcdcfc5cf6fc13a3ed8b68c">libx52_led_state</a> state);</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; </div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__libx52clock.html#ga3ebdd7bf3cd2f419d9a13c46a139922e">libx52_set_clock</a>(<a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, time_t time, <span class="keywordtype">int</span> local);</div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; </div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__libx52clock.html#ga04c0429e7fd7d9d5b5b371b88831381e">libx52_set_clock_timezone</a>(<a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52,</div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <a class="code" href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">libx52_clock_id</a> clock,</div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordtype">int</span> offset);</div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; </div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__libx52clock.html#gacd82a744b1d33e0a9989fca4d8aad42b">libx52_set_clock_format</a>(<a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52,</div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <a class="code" href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">libx52_clock_id</a> clock,</div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <a class="code" href="group__libx52clock.html#ga0c9c90bdba150b6e48ddab30aea45268">libx52_clock_format</a> format);</div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; </div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__libx52clock.html#ga42b5b1f00dea64f0706c31e0b3dd1840">libx52_set_time</a>(<a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint8_t hour, uint8_t minute);</div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; </div>
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__libx52clock.html#ga4f49341bca8a343931858ff008d2d5ca">libx52_set_date</a>(<a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint8_t dd, uint8_t mm, uint8_t yy);</div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; </div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__libx52clock.html#gabfa0aa6cb8742f29b3b8cfbc16fdadb2">libx52_set_date_format</a>(<a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, <a class="code" href="group__libx52clock.html#ga0da0bde31d817eaa42465b0dea2ccf5a">libx52_date_format</a> format);</div>
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; </div>
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__libx52mfdled.html#ga9bbf5e1ff83201f6124b2d3c75c837c6">libx52_set_brightness</a>(<a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint8_t mfd, uint16_t brightness);</div>
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; </div>
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__libx52mfdled.html#ga4250ce5b06f65c086ef6f279a628f378">libx52_set_shift</a>(<a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint8_t state);</div>
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; </div>
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__libx52mfdled.html#ga944e06a76077d240ccea8c342a36a876">libx52_set_blink</a>(<a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint8_t state);</div>
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; </div>
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__libx52misc.html#ga5d1fdbcab1b1a6cf8a10c206f8e79f73">libx52_update</a>(<a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52);</div>
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; </div>
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__libx52misc.html#gac491f4fb8d37f477d83725cb472de030">libx52_vendor_command</a>(<a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, uint16_t index, uint16_t value);</div>
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; </div>
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__libx52misc.html#ga504ed71c3e543da1436ea99465289ceb">libx52_check_feature</a>(<a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *x52, <a class="code" href="group__libx52misc.html#gaa32c12111de45ed00c51fd689fdd6699">libx52_feature</a> feature);</div>
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; </div>
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__libx52misc.html#gaa29a1022b0c3eb4894ddfd4934c3cf0e">libx52_strerror</a>(<a class="code" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52_error_code</a> error);</div>
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; </div>
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160;}</div>
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; </div>
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* !defined LIBX52_H */</span><span class="preprocessor"></span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="agroup__libx52mfdled_html_ga4f2b73685a4eb307895e08a02903bb39"><div class="ttname"><a href="group__libx52mfdled.html#ga4f2b73685a4eb307895e08a02903bb39">libx52_set_text</a></div><div class="ttdeci">int libx52_set_text(libx52_device *x52, uint8_t line, const char *text, uint8_t length)</div><div class="ttdoc">Set the text on an MFD line.</div></div>
<div class="ttc" id="agroup__libx52misc_html_gaa29a1022b0c3eb4894ddfd4934c3cf0e"><div class="ttname"><a href="group__libx52misc.html#gaa29a1022b0c3eb4894ddfd4934c3cf0e">libx52_strerror</a></div><div class="ttdeci">const char * libx52_strerror(libx52_error_code error)</div><div class="ttdoc">Return a string representation of the error code.</div></div>
<div class="ttc" id="agroup__libx52init_html_ga17fe14ab3f67706b2d35c6cce3cd670b"><div class="ttname"><a href="group__libx52init.html#ga17fe14ab3f67706b2d35c6cce3cd670b">libx52_exit</a></div><div class="ttdeci">void libx52_exit(libx52_device *dev)</div><div class="ttdoc">Exit the library and free up any resources used.</div></div>
<div class="ttc" id="agroup__libx52misc_html_gaa32c12111de45ed00c51fd689fdd6699"><div class="ttname"><a href="group__libx52misc.html#gaa32c12111de45ed00c51fd689fdd6699">libx52_feature</a></div><div class="ttdeci">libx52_feature</div><div class="ttdoc">Feature support for libx52.</div><div class="ttdef"><b>Definition:</b> libx52.h:225</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7a22d30938f3a413c16e9ab2e6c183daeb"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a22d30938f3a413c16e9ab2e6c183daeb">LIBX52_ERROR_INIT_FAILURE</a></div><div class="ttdeci">@ LIBX52_ERROR_INIT_FAILURE</div><div class="ttdef"><b>Definition:</b> libx52.h:167</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7a5d77a34c39dfa1757553ecd073913844"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a5d77a34c39dfa1757553ecd073913844">LIBX52_ERROR_NOT_FOUND</a></div><div class="ttdeci">@ LIBX52_ERROR_NOT_FOUND</div><div class="ttdef"><b>Definition:</b> libx52.h:197</div></div>
<div class="ttc" id="agroup__libx52clock_html_ga0da0bde31d817eaa42465b0dea2ccf5a"><div class="ttname"><a href="group__libx52clock.html#ga0da0bde31d817eaa42465b0dea2ccf5a">libx52_date_format</a></div><div class="ttdeci">libx52_date_format</div><div class="ttdoc">Supported date formats.</div><div class="ttdef"><b>Definition:</b> libx52.h:78</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ggae97e6cb1be0d79960018f2a12ba7047fabb61ccb8aa773f0b1bb44dcf46d91ece"><div class="ttname"><a href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fabb61ccb8aa773f0b1bb44dcf46d91ece">LIBX52_LED_E</a></div><div class="ttdeci">@ LIBX52_LED_E</div><div class="ttdef"><b>Definition:</b> libx52.h:107</div></div>
<div class="ttc" id="agroup__libx52clock_html_gga0da0bde31d817eaa42465b0dea2ccf5aa81d30d59013fcef952c9d10a30942abc"><div class="ttname"><a href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aa81d30d59013fcef952c9d10a30942abc">LIBX52_DATE_FORMAT_DDMMYY</a></div><div class="ttdeci">@ LIBX52_DATE_FORMAT_DDMMYY</div><div class="ttdef"><b>Definition:</b> libx52.h:80</div></div>
<div class="ttc" id="agroup__libx52clock_html_gga08c48a43f70bebb61b553e0ec12d917ca85dccae177b78d35e21875772738ac70"><div class="ttname"><a href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca85dccae177b78d35e21875772738ac70">LIBX52_CLOCK_1</a></div><div class="ttdeci">@ LIBX52_CLOCK_1</div><div class="ttdef"><b>Definition:</b> libx52.h:53</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7afe5cd825cc2c26c9226025dcb5628f9d"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7afe5cd825cc2c26c9226025dcb5628f9d">LIBX52_ERROR_BUSY</a></div><div class="ttdeci">@ LIBX52_ERROR_BUSY</div><div class="ttdef"><b>Definition:</b> libx52.h:200</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ggae97e6cb1be0d79960018f2a12ba7047fa455294ce1f2dd6bb89c7f48034e5ddbc"><div class="ttname"><a href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa455294ce1f2dd6bb89c7f48034e5ddbc">LIBX52_LED_A</a></div><div class="ttdeci">@ LIBX52_LED_A</div><div class="ttdef"><b>Definition:</b> libx52.h:98</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7adc972428ef5695848c268f927a0974cc"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7adc972428ef5695848c268f927a0974cc">LIBX52_ERROR_OUT_OF_MEMORY</a></div><div class="ttdeci">@ LIBX52_ERROR_OUT_OF_MEMORY</div><div class="ttdef"><b>Definition:</b> libx52.h:170</div></div>
<div class="ttc" id="agroup__libx52clock_html_ga04c0429e7fd7d9d5b5b371b88831381e"><div class="ttname"><a href="group__libx52clock.html#ga04c0429e7fd7d9d5b5b371b88831381e">libx52_set_clock_timezone</a></div><div class="ttdeci">int libx52_set_clock_timezone(libx52_device *x52, libx52_clock_id clock, int offset)</div><div class="ttdoc">Set the timezone for the secondary and tertiary clocks.</div></div>
<div class="ttc" id="agroup__libx52clock_html_gga0da0bde31d817eaa42465b0dea2ccf5aad91220edc91513325af1def4bcdfc07c"><div class="ttname"><a href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aad91220edc91513325af1def4bcdfc07c">LIBX52_DATE_FORMAT_MMDDYY</a></div><div class="ttdeci">@ LIBX52_DATE_FORMAT_MMDDYY</div><div class="ttdef"><b>Definition:</b> libx52.h:83</div></div>
<div class="ttc" id="agroup__libx52misc_html_gac491f4fb8d37f477d83725cb472de030"><div class="ttname"><a href="group__libx52misc.html#gac491f4fb8d37f477d83725cb472de030">libx52_vendor_command</a></div><div class="ttdeci">int libx52_vendor_command(libx52_device *x52, uint16_t index, uint16_t value)</div><div class="ttdoc">Write a raw vendor control packet.</div></div>
<div class="ttc" id="agroup__libx52clock_html_ga4f49341bca8a343931858ff008d2d5ca"><div class="ttname"><a href="group__libx52clock.html#ga4f49341bca8a343931858ff008d2d5ca">libx52_set_date</a></div><div class="ttdeci">int libx52_set_date(libx52_device *x52, uint8_t dd, uint8_t mm, uint8_t yy)</div><div class="ttdoc">Set the date.</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ggae97e6cb1be0d79960018f2a12ba7047fa614aceacc2f76589f6e89429c7886c69"><div class="ttname"><a href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa614aceacc2f76589f6e89429c7886c69">LIBX52_LED_B</a></div><div class="ttdeci">@ LIBX52_LED_B</div><div class="ttdef"><b>Definition:</b> libx52.h:101</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ggae97e6cb1be0d79960018f2a12ba7047fa3915d9b34e7cd0270c3c9945ea0366cb"><div class="ttname"><a href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa3915d9b34e7cd0270c3c9945ea0366cb">LIBX52_LED_T2</a></div><div class="ttdeci">@ LIBX52_LED_T2</div><div class="ttdef"><b>Definition:</b> libx52.h:113</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_gae97e6cb1be0d79960018f2a12ba7047f"><div class="ttname"><a href="group__libx52mfdled.html#gae97e6cb1be0d79960018f2a12ba7047f">libx52_led_id</a></div><div class="ttdeci">libx52_led_id</div><div class="ttdoc">Supported LED identifiers.</div><div class="ttdef"><b>Definition:</b> libx52.h:93</div></div>
<div class="ttc" id="agroup__libx52clock_html_gacd82a744b1d33e0a9989fca4d8aad42b"><div class="ttname"><a href="group__libx52clock.html#gacd82a744b1d33e0a9989fca4d8aad42b">libx52_set_clock_format</a></div><div class="ttdeci">int libx52_set_clock_format(libx52_device *x52, libx52_clock_id clock, libx52_clock_format format)</div><div class="ttdoc">Set whether the clock is displayed in 12 hour or 24 hour format.</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca5a18783f20716411a77e3bfe7195d3d2"><div class="ttname"><a href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca5a18783f20716411a77e3bfe7195d3d2">LIBX52_LED_STATE_ON</a></div><div class="ttdeci">@ LIBX52_LED_STATE_ON</div><div class="ttdef"><b>Definition:</b> libx52.h:143</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7ac331268731d911dfb16cd28c3d3abc3d"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac331268731d911dfb16cd28c3d3abc3d">LIBX52_ERROR_OVERFLOW</a></div><div class="ttdeci">@ LIBX52_ERROR_OVERFLOW</div><div class="ttdef"><b>Definition:</b> libx52.h:206</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca1e8346acab9ad3e4735079273808319c"><div class="ttname"><a href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca1e8346acab9ad3e4735079273808319c">LIBX52_LED_STATE_GREEN</a></div><div class="ttdeci">@ LIBX52_LED_STATE_GREEN</div><div class="ttdef"><b>Definition:</b> libx52.h:152</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ggae97e6cb1be0d79960018f2a12ba7047fa29aad41d6d4d2ba9955b76de9559b2d2"><div class="ttname"><a href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa29aad41d6d4d2ba9955b76de9559b2d2">LIBX52_LED_D</a></div><div class="ttdeci">@ LIBX52_LED_D</div><div class="ttdef"><b>Definition:</b> libx52.h:104</div></div>
<div class="ttc" id="agroup__libx52misc_html_ga5d1fdbcab1b1a6cf8a10c206f8e79f73"><div class="ttname"><a href="group__libx52misc.html#ga5d1fdbcab1b1a6cf8a10c206f8e79f73">libx52_update</a></div><div class="ttdeci">int libx52_update(libx52_device *x52)</div><div class="ttdoc">Update the X52.</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7ac329401de31cc6c50160c1fafcdc5efa"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac329401de31cc6c50160c1fafcdc5efa">LIBX52_ERROR_OUT_OF_RANGE</a></div><div class="ttdeci">@ LIBX52_ERROR_OUT_OF_RANGE</div><div class="ttdef"><b>Definition:</b> libx52.h:182</div></div>
<div class="ttc" id="agroup__libx52clock_html_ga42b5b1f00dea64f0706c31e0b3dd1840"><div class="ttname"><a href="group__libx52clock.html#ga42b5b1f00dea64f0706c31e0b3dd1840">libx52_set_time</a></div><div class="ttdeci">int libx52_set_time(libx52_device *x52, uint8_t hour, uint8_t minute)</div><div class="ttdoc">Set the hour and minute on clock 1.</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ga4250ce5b06f65c086ef6f279a628f378"><div class="ttname"><a href="group__libx52mfdled.html#ga4250ce5b06f65c086ef6f279a628f378">libx52_set_shift</a></div><div class="ttdeci">int libx52_set_shift(libx52_device *x52, uint8_t state)</div><div class="ttdoc">Set the state of the shift indicator.</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_gab1a633a40dcdcfc5cf6fc13a3ed8b68c"><div class="ttname"><a href="group__libx52mfdled.html#gab1a633a40dcdcfc5cf6fc13a3ed8b68c">libx52_led_state</a></div><div class="ttdeci">libx52_led_state</div><div class="ttdoc">Supported LED states.</div><div class="ttdef"><b>Definition:</b> libx52.h:135</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ggae97e6cb1be0d79960018f2a12ba7047fa25d249c6a06efbf554928885834376e9"><div class="ttname"><a href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa25d249c6a06efbf554928885834376e9">LIBX52_LED_T3</a></div><div class="ttdeci">@ LIBX52_LED_T3</div><div class="ttdef"><b>Definition:</b> libx52.h:116</div></div>
<div class="ttc" id="agroup__libx52init_html_gaca59b8d8f249fed58a0ec3253328e131"><div class="ttname"><a href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a></div><div class="ttdeci">struct libx52_device libx52_device</div><div class="ttdoc">Device context structure used by libx52.</div><div class="ttdef"><b>Definition:</b> libx52.h:45</div></div>
<div class="ttc" id="agroup__libx52misc_html_ga93b777d9cea6e733b63c222e6115ccb7"><div class="ttname"><a href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52_error_code</a></div><div class="ttdeci">libx52_error_code</div><div class="ttdoc">LibX52 Error codes.</div><div class="ttdef"><b>Definition:</b> libx52.h:162</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ggae97e6cb1be0d79960018f2a12ba7047faede82abd452be7da562c50e89160fcd7"><div class="ttname"><a href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047faede82abd452be7da562c50e89160fcd7">LIBX52_LED_THROTTLE</a></div><div class="ttdeci">@ LIBX52_LED_THROTTLE</div><div class="ttdef"><b>Definition:</b> libx52.h:125</div></div>
<div class="ttc" id="agroup__libx52clock_html_gga08c48a43f70bebb61b553e0ec12d917cab2d9e9967646a797dfb652d81a964282"><div class="ttname"><a href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917cab2d9e9967646a797dfb652d81a964282">LIBX52_CLOCK_2</a></div><div class="ttdeci">@ LIBX52_CLOCK_2</div><div class="ttdef"><b>Definition:</b> libx52.h:56</div></div>
<div class="ttc" id="agroup__libx52clock_html_gabfa0aa6cb8742f29b3b8cfbc16fdadb2"><div class="ttname"><a href="group__libx52clock.html#gabfa0aa6cb8742f29b3b8cfbc16fdadb2">libx52_set_date_format</a></div><div class="ttdeci">int libx52_set_date_format(libx52_device *x52, libx52_date_format format)</div><div class="ttdoc">Set the date format for the MFD date display.</div></div>
<div class="ttc" id="agroup__libx52clock_html_gga08c48a43f70bebb61b553e0ec12d917ca422990d812ea1dd9e94a5b3d03565945"><div class="ttname"><a href="group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca422990d812ea1dd9e94a5b3d03565945">LIBX52_CLOCK_3</a></div><div class="ttdeci">@ LIBX52_CLOCK_3</div><div class="ttdef"><b>Definition:</b> libx52.h:59</div></div>
<div class="ttc" id="agroup__libx52init_html_ga65998f1155fb093f45babfd0c2c138d9"><div class="ttname"><a href="group__libx52init.html#ga65998f1155fb093f45babfd0c2c138d9">libx52_connect</a></div><div class="ttdeci">int libx52_connect(libx52_device *dev)</div><div class="ttdoc">Connect to the X52 device.</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ggae97e6cb1be0d79960018f2a12ba7047fae3d5181cdca7054ea2a44bb6a33736f9"><div class="ttname"><a href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae3d5181cdca7054ea2a44bb6a33736f9">LIBX52_LED_T1</a></div><div class="ttdeci">@ LIBX52_LED_T1</div><div class="ttdef"><b>Definition:</b> libx52.h:110</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708">LIBX52_SUCCESS</a></div><div class="ttdeci">@ LIBX52_SUCCESS</div><div class="ttdef"><b>Definition:</b> libx52.h:164</div></div>
<div class="ttc" id="agroup__libx52misc_html_ga504ed71c3e543da1436ea99465289ceb"><div class="ttname"><a href="group__libx52misc.html#ga504ed71c3e543da1436ea99465289ceb">libx52_check_feature</a></div><div class="ttdeci">int libx52_check_feature(libx52_device *x52, libx52_feature feature)</div><div class="ttdoc">Check if the device supports the given feature.</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7acf7169c36418a1a43cd8f7bdbdb91325"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7acf7169c36418a1a43cd8f7bdbdb91325">LIBX52_ERROR_PIPE</a></div><div class="ttdeci">@ LIBX52_ERROR_PIPE</div><div class="ttdef"><b>Definition:</b> libx52.h:209</div></div>
<div class="ttc" id="agroup__libx52clock_html_gga0c9c90bdba150b6e48ddab30aea45268a1a60fdc6dacbf9a46a93a161d2644908"><div class="ttname"><a href="group__libx52clock.html#gga0c9c90bdba150b6e48ddab30aea45268a1a60fdc6dacbf9a46a93a161d2644908">LIBX52_CLOCK_FORMAT_24HR</a></div><div class="ttdeci">@ LIBX52_CLOCK_FORMAT_24HR</div><div class="ttdef"><b>Definition:</b> libx52.h:71</div></div>
<div class="ttc" id="agroup__libx52clock_html_ga3ebdd7bf3cd2f419d9a13c46a139922e"><div class="ttname"><a href="group__libx52clock.html#ga3ebdd7bf3cd2f419d9a13c46a139922e">libx52_set_clock</a></div><div class="ttdeci">int libx52_set_clock(libx52_device *x52, time_t time, int local)</div><div class="ttdoc">Set the clock.</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca0a25e41783e99046974964aee88f895a"><div class="ttname"><a href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca0a25e41783e99046974964aee88f895a">LIBX52_LED_STATE_OFF</a></div><div class="ttdeci">@ LIBX52_LED_STATE_OFF</div><div class="ttdef"><b>Definition:</b> libx52.h:137</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ggae97e6cb1be0d79960018f2a12ba7047fae89d2ce35f72608d41202764128afd00"><div class="ttname"><a href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae89d2ce35f72608d41202764128afd00">LIBX52_LED_FIRE</a></div><div class="ttdeci">@ LIBX52_LED_FIRE</div><div class="ttdef"><b>Definition:</b> libx52.h:95</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7acc31bdcda400b886e0ed914eb5a1a153"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7acc31bdcda400b886e0ed914eb5a1a153">LIBX52_ERROR_PERM</a></div><div class="ttdeci">@ LIBX52_ERROR_PERM</div><div class="ttdef"><b>Definition:</b> libx52.h:191</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ga944e06a76077d240ccea8c342a36a876"><div class="ttname"><a href="group__libx52mfdled.html#ga944e06a76077d240ccea8c342a36a876">libx52_set_blink</a></div><div class="ttdeci">int libx52_set_blink(libx52_device *x52, uint8_t state)</div><div class="ttdoc">Set the blinking state.</div></div>
<div class="ttc" id="agroup__libx52clock_html_gga0c9c90bdba150b6e48ddab30aea45268a7e216a257012c9aa2a5b847a4cb96332"><div class="ttname"><a href="group__libx52clock.html#gga0c9c90bdba150b6e48ddab30aea45268a7e216a257012c9aa2a5b847a4cb96332">LIBX52_CLOCK_FORMAT_12HR</a></div><div class="ttdeci">@ LIBX52_CLOCK_FORMAT_12HR</div><div class="ttdef"><b>Definition:</b> libx52.h:68</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7a691294d6e5876fd371f9e32686c548d4"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a691294d6e5876fd371f9e32686c548d4">LIBX52_ERROR_TIMEOUT</a></div><div class="ttdeci">@ LIBX52_ERROR_TIMEOUT</div><div class="ttdef"><b>Definition:</b> libx52.h:203</div></div>
<div class="ttc" id="agroup__libx52clock_html_gga0da0bde31d817eaa42465b0dea2ccf5aad2c9819fc5590f542a22c42a3243bd5e"><div class="ttname"><a href="group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aad2c9819fc5590f542a22c42a3243bd5e">LIBX52_DATE_FORMAT_YYMMDD</a></div><div class="ttdeci">@ LIBX52_DATE_FORMAT_YYMMDD</div><div class="ttdef"><b>Definition:</b> libx52.h:86</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7a1601986a5a57898997fde902f994b91d"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a1601986a5a57898997fde902f994b91d">LIBX52_ERROR_INTERRUPTED</a></div><div class="ttdeci">@ LIBX52_ERROR_INTERRUPTED</div><div class="ttdef"><b>Definition:</b> libx52.h:212</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b">LIBX52_ERROR_INVALID_PARAM</a></div><div class="ttdeci">@ LIBX52_ERROR_INVALID_PARAM</div><div class="ttdef"><b>Definition:</b> libx52.h:173</div></div>
<div class="ttc" id="agroup__libx52init_html_gaf9ae27c6e505bce8c4415a638033a4bd"><div class="ttname"><a href="group__libx52init.html#gaf9ae27c6e505bce8c4415a638033a4bd">libx52_init</a></div><div class="ttdeci">int libx52_init(libx52_device **dev)</div><div class="ttdoc">Initialize the X52 library.</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ggae97e6cb1be0d79960018f2a12ba7047fa3fa42fc0e323348cd453831950e51307"><div class="ttname"><a href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa3fa42fc0e323348cd453831950e51307">LIBX52_LED_CLUTCH</a></div><div class="ttdeci">@ LIBX52_LED_CLUTCH</div><div class="ttdef"><b>Definition:</b> libx52.h:122</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca64b1620a9d10dc593660bf30d6c987d9"><div class="ttname"><a href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca64b1620a9d10dc593660bf30d6c987d9">LIBX52_LED_STATE_RED</a></div><div class="ttdeci">@ LIBX52_LED_STATE_RED</div><div class="ttdef"><b>Definition:</b> libx52.h:146</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ggab1a633a40dcdcfc5cf6fc13a3ed8b68cacce900ab6a9325d72e0f084f9271634e"><div class="ttname"><a href="group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68cacce900ab6a9325d72e0f084f9271634e">LIBX52_LED_STATE_AMBER</a></div><div class="ttdeci">@ LIBX52_LED_STATE_AMBER</div><div class="ttdef"><b>Definition:</b> libx52.h:149</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ggae97e6cb1be0d79960018f2a12ba7047fa18862e04f12337863251f7307e04d3bf"><div class="ttname"><a href="group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa18862e04f12337863251f7307e04d3bf">LIBX52_LED_POV</a></div><div class="ttdeci">@ LIBX52_LED_POV</div><div class="ttdef"><b>Definition:</b> libx52.h:119</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7a97af04ffc3130e25c9eb03abaafbbaca"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a97af04ffc3130e25c9eb03abaafbbaca">LIBX52_ERROR_NOT_SUPPORTED</a></div><div class="ttdeci">@ LIBX52_ERROR_NOT_SUPPORTED</div><div class="ttdef"><b>Definition:</b> libx52.h:176</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7a9e4acff4906865192086c8957047b35f"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a9e4acff4906865192086c8957047b35f">LIBX52_ERROR_TRY_AGAIN</a></div><div class="ttdeci">@ LIBX52_ERROR_TRY_AGAIN</div><div class="ttdef"><b>Definition:</b> libx52.h:179</div></div>
<div class="ttc" id="agroup__libx52misc_html_ggaa32c12111de45ed00c51fd689fdd6699a2ce41c87908ef0b8ff6d76ccf226dfd0"><div class="ttname"><a href="group__libx52misc.html#ggaa32c12111de45ed00c51fd689fdd6699a2ce41c87908ef0b8ff6d76ccf226dfd0">LIBX52_FEATURE_LED</a></div><div class="ttdeci">@ LIBX52_FEATURE_LED</div><div class="ttdef"><b>Definition:</b> libx52.h:227</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7a1dd2726f8ffacda63b180c68bdf1838f"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a1dd2726f8ffacda63b180c68bdf1838f">LIBX52_ERROR_IO</a></div><div class="ttdeci">@ LIBX52_ERROR_IO</div><div class="ttdef"><b>Definition:</b> libx52.h:188</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ga9bbf5e1ff83201f6124b2d3c75c837c6"><div class="ttname"><a href="group__libx52mfdled.html#ga9bbf5e1ff83201f6124b2d3c75c837c6">libx52_set_brightness</a></div><div class="ttdeci">int libx52_set_brightness(libx52_device *x52, uint8_t mfd, uint16_t brightness)</div><div class="ttdoc">Set the MFD or LED brightness.</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7a85126a0081a32d7c4bd24738996da531"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a85126a0081a32d7c4bd24738996da531">LIBX52_ERROR_USB_FAILURE</a></div><div class="ttdeci">@ LIBX52_ERROR_USB_FAILURE</div><div class="ttdef"><b>Definition:</b> libx52.h:185</div></div>
<div class="ttc" id="agroup__libx52clock_html_ga08c48a43f70bebb61b553e0ec12d917c"><div class="ttname"><a href="group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c">libx52_clock_id</a></div><div class="ttdeci">libx52_clock_id</div><div class="ttdoc">List of supported clocks on the MFD.</div><div class="ttdef"><b>Definition:</b> libx52.h:51</div></div>
<div class="ttc" id="agroup__libx52clock_html_ga0c9c90bdba150b6e48ddab30aea45268"><div class="ttname"><a href="group__libx52clock.html#ga0c9c90bdba150b6e48ddab30aea45268">libx52_clock_format</a></div><div class="ttdeci">libx52_clock_format</div><div class="ttdoc">Supported clock formats.</div><div class="ttdef"><b>Definition:</b> libx52.h:66</div></div>
<div class="ttc" id="agroup__libx52mfdled_html_ga1a435bb3057aae3307c70fb09912ef18"><div class="ttname"><a href="group__libx52mfdled.html#ga1a435bb3057aae3307c70fb09912ef18">libx52_set_led_state</a></div><div class="ttdeci">int libx52_set_led_state(libx52_device *x52, libx52_led_id led, libx52_led_state state)</div><div class="ttdoc">Set the LED state.</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7ad3e9a0e2e18b469ddc7135d73942e29a"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ad3e9a0e2e18b469ddc7135d73942e29a">LIBX52_ERROR_NO_DEVICE</a></div><div class="ttdeci">@ LIBX52_ERROR_NO_DEVICE</div><div class="ttdef"><b>Definition:</b> libx52.h:194</div></div>
<div class="ttc" id="agroup__libx52init_html_ga82f3fb7f750aa5480d23b69875d3ebe8"><div class="ttname"><a href="group__libx52init.html#ga82f3fb7f750aa5480d23b69875d3ebe8">libx52_disconnect</a></div><div class="ttdeci">int libx52_disconnect(libx52_device *dev)</div><div class="ttdoc">Disconnect from the X52 device.</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,91 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: Caveats</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">Caveats </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h1><a class="anchor" id="general"></a>
General Caveats</h1>
<p>libx52 uses <a href="https://libusb.info">libusb</a> under the hood. Therefore, any <a href="http://libusb.sourceforge.net/api-1.0/libusb_caveats.html">caveats</a> that apply to libusb also apply to libx52.</p>
<h1><a class="anchor" id="threads"></a>
Thread Safety</h1>
<p>libx52 is not designed to be thread-safe. The application must ensure that calls to libx52 from multiple threads are protected by a semaphore/mutex.</p>
<h1><a class="anchor" id="hotplug"></a>
Hotplugging</h1>
<p>libx52 does not support hotplugging. The joystick must be plugged in prior to the application initializing libx52.</p>
<h1><a class="anchor" id="leds"></a>
LED Support</h1>
<p>The Saitek X52 does not support controlling the color of individual LEDs. This is only supported on the X52 Pro. The application can use <a class="el" href="group__libx52misc.html#ga504ed71c3e543da1436ea99465289ceb">libx52_check_feature</a> to verify support. </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: Integration</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">Integration </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>libx52 performs all its operations with a device context pointer. The application must call <a class="el" href="group__libx52init.html#gaf9ae27c6e505bce8c4415a638033a4bd">libx52_init</a> before performing any operation, and must call <a class="el" href="group__libx52init.html#ga17fe14ab3f67706b2d35c6cce3cd670b">libx52_exit</a> prior to terminating.</p>
<p><b>Example Initialization/Deinitialization Code</b></p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="libx52_8h.html">libx52.h</a>&gt;</span></div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a>* init_libx52(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line"> <a class="code" href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a> *dev;</div>
<div class="line"> <span class="keywordtype">int</span> rc;</div>
<div class="line"> </div>
<div class="line"> <span class="comment">// Initialize the libx52 library</span></div>
<div class="line"> rc = <a class="code" href="group__libx52init.html#gaf9ae27c6e505bce8c4415a638033a4bd">libx52_init</a>(&amp;dev);</div>
<div class="line"> <span class="keywordflow">if</span> (rc != <a class="code" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708">LIBX52_SUCCESS</a>) {</div>
<div class="line"> fputs(<a class="code" href="group__libx52misc.html#gaa29a1022b0c3eb4894ddfd4934c3cf0e">libx52_strerror</a>(rc), stderr);</div>
<div class="line"> <span class="keywordflow">return</span> NULL;</div>
<div class="line"> }</div>
<div class="line"> </div>
<div class="line"> <span class="keywordflow">return</span> dev;</div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><span class="comment">// Close the library and any associated devices</span></div>
<div class="line"><a class="code" href="group__libx52init.html#ga17fe14ab3f67706b2d35c6cce3cd670b">libx52_exit</a>(dev);</div>
</div><!-- fragment --><h1><a class="anchor" id="autotoc_md0"></a>
Joystick Updates</h1>
<p>Most libx52 functions to update the joystick state do not directly write to the connected joystick, but only update internal data structures within the device context. In order to actually update the joystick, the application must call <a class="el" href="group__libx52misc.html#ga5d1fdbcab1b1a6cf8a10c206f8e79f73">libx52_update</a>. This function writes the updates to the joystick and resets any internal state.</p>
<p><b>Example</b> </p>
<div class="fragment"><div class="line"><a class="code" href="group__libx52mfdled.html#ga4f2b73685a4eb307895e08a02903bb39">libx52_set_text</a>(dev, 0, <span class="stringliteral">&quot; Saitek &quot;</span>, 16);</div>
<div class="line"><a class="code" href="group__libx52mfdled.html#ga4f2b73685a4eb307895e08a02903bb39">libx52_set_text</a>(dev, 1, <span class="stringliteral">&quot; X52 Flight &quot;</span>, 16);</div>
<div class="line"><a class="code" href="group__libx52mfdled.html#ga4f2b73685a4eb307895e08a02903bb39">libx52_set_text</a>(dev, 2, <span class="stringliteral">&quot; Control System &quot;</span>, 16);</div>
<div class="line"><a class="code" href="group__libx52misc.html#ga5d1fdbcab1b1a6cf8a10c206f8e79f73">libx52_update</a>(dev);</div>
</div><!-- fragment --><h1><a class="anchor" id="autotoc_md1"></a>
Error handling</h1>
<p>Most libx52 functions return a standard <a class="el" href="group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7">libx52_error_code</a> integer value that indicates the status of the operation. As long as the operation succeeded, the function will return <a class="el" href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708">LIBX52_SUCCESS</a>. Other values returned indicate a failure of some sort.</p>
<p><a class="el" href="group__libx52misc.html#gaa29a1022b0c3eb4894ddfd4934c3cf0e">libx52_strerror</a> can convert the return code into a descriptive string that may be displayed to users.</p>
<h2><a class="anchor" id="autotoc_md2"></a>
Internationalization of error strings</h2>
<p><a class="el" href="group__libx52misc.html#gaa29a1022b0c3eb4894ddfd4934c3cf0e">libx52_strerror</a> automatically handles internationalization. As long as your application sets up the locale correctly, and the error strings have been translated to that locale, the returned strings will correspond to the translated values for your locale. </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
<div class="ttc" id="agroup__libx52mfdled_html_ga4f2b73685a4eb307895e08a02903bb39"><div class="ttname"><a href="group__libx52mfdled.html#ga4f2b73685a4eb307895e08a02903bb39">libx52_set_text</a></div><div class="ttdeci">int libx52_set_text(libx52_device *x52, uint8_t line, const char *text, uint8_t length)</div><div class="ttdoc">Set the text on an MFD line.</div></div>
<div class="ttc" id="agroup__libx52misc_html_gaa29a1022b0c3eb4894ddfd4934c3cf0e"><div class="ttname"><a href="group__libx52misc.html#gaa29a1022b0c3eb4894ddfd4934c3cf0e">libx52_strerror</a></div><div class="ttdeci">const char * libx52_strerror(libx52_error_code error)</div><div class="ttdoc">Return a string representation of the error code.</div></div>
<div class="ttc" id="agroup__libx52init_html_ga17fe14ab3f67706b2d35c6cce3cd670b"><div class="ttname"><a href="group__libx52init.html#ga17fe14ab3f67706b2d35c6cce3cd670b">libx52_exit</a></div><div class="ttdeci">void libx52_exit(libx52_device *dev)</div><div class="ttdoc">Exit the library and free up any resources used.</div></div>
<div class="ttc" id="alibx52_8h_html"><div class="ttname"><a href="libx52_8h.html">libx52.h</a></div><div class="ttdoc">Functions, structures and enumerations for the Saitek X52 MFD &amp; LED driver library.</div></div>
<div class="ttc" id="agroup__libx52misc_html_ga5d1fdbcab1b1a6cf8a10c206f8e79f73"><div class="ttname"><a href="group__libx52misc.html#ga5d1fdbcab1b1a6cf8a10c206f8e79f73">libx52_update</a></div><div class="ttdeci">int libx52_update(libx52_device *x52)</div><div class="ttdoc">Update the X52.</div></div>
<div class="ttc" id="agroup__libx52init_html_gaca59b8d8f249fed58a0ec3253328e131"><div class="ttname"><a href="group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131">libx52_device</a></div><div class="ttdeci">struct libx52_device libx52_device</div><div class="ttdoc">Device context structure used by libx52.</div><div class="ttdef"><b>Definition:</b> libx52.h:45</div></div>
<div class="ttc" id="agroup__libx52misc_html_gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708"><div class="ttname"><a href="group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708">LIBX52_SUCCESS</a></div><div class="ttdeci">@ LIBX52_SUCCESS</div><div class="ttdef"><b>Definition:</b> libx52.h:164</div></div>
<div class="ttc" id="agroup__libx52init_html_gaf9ae27c6e505bce8c4415a638033a4bd"><div class="ttname"><a href="group__libx52init.html#gaf9ae27c6e505bce8c4415a638033a4bd">libx52_init</a></div><div class="ttdeci">int libx52_init(libx52_device **dev)</div><div class="ttdoc">Initialize the X52 library.</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

100
libx52util_8h.html 100644
View File

@ -0,0 +1,100 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: /home/nirenjan/project/x52pro-linux/lib/libx52util/libx52util.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="dir_0354751298007beb2a3261692ff9cc9e.html">libx52util</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">libx52util.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Utility functions for the Saitek X52 MFD &amp; LED driver library.
<a href="#details">More...</a></p>
<p><a href="libx52util_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gac5a9279cba660740580e18029e827817"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__libx52util.html#gac5a9279cba660740580e18029e827817">libx52util_convert_utf8_string</a> (const uint8_t *input, uint8_t *output, size_t *len)</td></tr>
<tr class="memdesc:gac5a9279cba660740580e18029e827817"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert UTF8 string to X52 character map. <a href="group__libx52util.html#gac5a9279cba660740580e18029e827817">More...</a><br /></td></tr>
<tr class="separator:gac5a9279cba660740580e18029e827817"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Utility functions for the Saitek X52 MFD &amp; LED driver library. </p>
<p>This file contains the type and function prototypes for the Saitek X52 driver library utility functions. These functions simplify some of the data handling for <a class="el" href="group__libx52mfdled.html">MFD &amp; LED control</a>, but they are not required.</p>
<dl class="section author"><dt>Author</dt><dd>Nirenjan Krishnan (<a href="#" onclick="location.href='mai'+'lto:'+'nir'+'en'+'jan'+'@n'+'ire'+'nj'+'an.'+'or'+'g'; return false;">niren<span style="display: none;">.nosp@m.</span>jan@<span style="display: none;">.nosp@m.</span>niren<span style="display: none;">.nosp@m.</span>jan.<span style="display: none;">.nosp@m.</span>org</a>) </dd></dl>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -0,0 +1,109 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: /home/nirenjan/project/x52pro-linux/lib/libx52util/libx52util.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="dir_0354751298007beb2a3261692ff9cc9e.html">libx52util</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">libx52util.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="libx52util_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Saitek X52 Pro Utility Library</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2015 Nirenjan Krishnan (nirenjan@nirenjan.org)</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#ifndef LIBX52UTIL_H</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#define LIBX52UTIL_H</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="keywordtype">int</span> <a class="code" href="group__libx52util.html#gac5a9279cba660740580e18029e827817">libx52util_convert_utf8_string</a>(<span class="keyword">const</span> uint8_t *input,</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; uint8_t *output, <span class="keywordtype">size_t</span> *len);</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;}</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; </div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* !defined LIBX52UTIL_H */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="agroup__libx52util_html_gac5a9279cba660740580e18029e827817"><div class="ttname"><a href="group__libx52util.html#gac5a9279cba660740580e18029e827817">libx52util_convert_utf8_string</a></div><div class="ttdeci">int libx52util_convert_utf8_string(const uint8_t *input, uint8_t *output, size_t *len)</div><div class="ttdoc">Convert UTF8 string to X52 character map.</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

50
menu.js 100644
View File

@ -0,0 +1,50 @@
/*
@licstart The following is the entire license notice for the
JavaScript code in this file.
Copyright (C) 1997-2017 by Dimitri van Heesch
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
@licend The above is the entire license notice
for the JavaScript code in this file
*/
function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
function makeTree(data,relPath) {
var result='';
if ('children' in data) {
result+='<ul>';
for (var i in data.children) {
result+='<li><a href="'+relPath+data.children[i].url+'">'+
data.children[i].text+'</a>'+
makeTree(data.children[i],relPath)+'</li>';
}
result+='</ul>';
}
return result;
}
$('#main-nav').append(makeTree(menudata,relPath));
$('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
if (searchEnabled) {
if (serverSide) {
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+relPath+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.png" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
} else {
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.png" alt=""/></a></span></div></li>');
}
}
$('#main-menu').smartmenus();
}
/* @license-end */

36
menudata.js 100644
View File

@ -0,0 +1,36 @@
/*
@licstart The following is the entire license notice for the
JavaScript code in this file.
Copyright (C) 1997-2019 by Dimitri van Heesch
This program is free software; you can redistribute it and/or modify
it under the terms of version 2 of the GNU General Public License as published by
the Free Software Foundation
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
@licend The above is the entire license notice
for the JavaScript code in this file
*/
var menudata={children:[
{text:"Main Page",url:"index.html"},
{text:"Related Pages",url:"pages.html"},
{text:"Modules",url:"modules.html"},
{text:"Files",url:"files.html",children:[
{text:"File List",url:"files.html"},
{text:"Globals",url:"globals.html",children:[
{text:"All",url:"globals.html",children:[
{text:"l",url:"globals.html#index_l"}]},
{text:"Functions",url:"globals_func.html"},
{text:"Typedefs",url:"globals_type.html"},
{text:"Enumerations",url:"globals_enum.html"},
{text:"Enumerator",url:"globals_eval.html",children:[
{text:"l",url:"globals_eval.html#index_l"}]}]}]}]}

87
modules.html 100644
View File

@ -0,0 +1,87 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: Modules</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Modules</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all modules:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__libx52init.html" target="_self">Library Initialization and Deinitialization</a></td><td class="desc">These functions are used at application entry and exit </td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__libx52mfdled.html" target="_self">MFD &amp; LED control</a></td><td class="desc">Control the MFD text and LED states </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__libx52clock.html" target="_self">Clock control</a></td><td class="desc">Control the clocks on the MFD </td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__libx52misc.html" target="_self">Miscellaneous</a></td><td class="desc">Miscellaneous functionality </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__libx52util.html" target="_self">Utility Functions</a></td><td class="desc">These functions simplify some of the data handling for <a class="el" href="group__libx52mfdled.html">MFD &amp; LED control</a> </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

BIN
nav_f.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

BIN
nav_g.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

BIN
nav_h.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

BIN
open.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

86
pages.html 100644
View File

@ -0,0 +1,86 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>x52pro-linux: Related Pages</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">x52pro-linux
&#160;<span id="projectnumber">0.2.1</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Related Pages</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="libx52_caveats.html" target="_self">Caveats</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="libx52_integration.html" target="_self">Integration</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="x52cli.html" target="_self">Command Line Interface to libx52</a></td><td class="desc"></td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="deprecated.html" target="_self">Deprecated List</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

30
search/all_0.html 100644
View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

6
search/all_0.js 100644
View File

@ -0,0 +1,6 @@
var searchData=
[
['caveats_0',['Caveats',['../libx52_caveats.html',1,'']]],
['clock_20control_1',['Clock control',['../group__libx52clock.html',1,'']]],
['command_20line_20interface_20to_20libx52_2',['Command Line Interface to libx52',['../x52cli.html',1,'']]]
];

30
search/all_1.html 100644
View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_1.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

4
search/all_1.js 100644
View File

@ -0,0 +1,4 @@
var searchData=
[
['deprecated_20list_3',['Deprecated List',['../deprecated.html',1,'']]]
];

30
search/all_2.html 100644
View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_2.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

4
search/all_2.js 100644
View File

@ -0,0 +1,4 @@
var searchData=
[
['integration_4',['Integration',['../libx52_integration.html',1,'']]]
];

30
search/all_3.html 100644
View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_3.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

76
search/all_3.js 100644
View File

@ -0,0 +1,76 @@
var searchData=
[
['libx52_2eh_5',['libx52.h',['../libx52_8h.html',1,'']]],
['libx52_5fcheck_5ffeature_6',['libx52_check_feature',['../group__libx52misc.html#ga504ed71c3e543da1436ea99465289ceb',1,'libx52.h']]],
['libx52_5fclock_5f1_7',['LIBX52_CLOCK_1',['../group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca85dccae177b78d35e21875772738ac70',1,'libx52.h']]],
['libx52_5fclock_5f2_8',['LIBX52_CLOCK_2',['../group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917cab2d9e9967646a797dfb652d81a964282',1,'libx52.h']]],
['libx52_5fclock_5f3_9',['LIBX52_CLOCK_3',['../group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca422990d812ea1dd9e94a5b3d03565945',1,'libx52.h']]],
['libx52_5fclock_5fformat_10',['libx52_clock_format',['../group__libx52clock.html#ga0c9c90bdba150b6e48ddab30aea45268',1,'libx52.h']]],
['libx52_5fclock_5fformat_5f12hr_11',['LIBX52_CLOCK_FORMAT_12HR',['../group__libx52clock.html#gga0c9c90bdba150b6e48ddab30aea45268a7e216a257012c9aa2a5b847a4cb96332',1,'libx52.h']]],
['libx52_5fclock_5fformat_5f24hr_12',['LIBX52_CLOCK_FORMAT_24HR',['../group__libx52clock.html#gga0c9c90bdba150b6e48ddab30aea45268a1a60fdc6dacbf9a46a93a161d2644908',1,'libx52.h']]],
['libx52_5fclock_5fid_13',['libx52_clock_id',['../group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c',1,'libx52.h']]],
['libx52_5fconnect_14',['libx52_connect',['../group__libx52init.html#ga65998f1155fb093f45babfd0c2c138d9',1,'libx52.h']]],
['libx52_5fdate_5fformat_15',['libx52_date_format',['../group__libx52clock.html#ga0da0bde31d817eaa42465b0dea2ccf5a',1,'libx52.h']]],
['libx52_5fdate_5fformat_5fddmmyy_16',['LIBX52_DATE_FORMAT_DDMMYY',['../group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aa81d30d59013fcef952c9d10a30942abc',1,'libx52.h']]],
['libx52_5fdate_5fformat_5fmmddyy_17',['LIBX52_DATE_FORMAT_MMDDYY',['../group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aad91220edc91513325af1def4bcdfc07c',1,'libx52.h']]],
['libx52_5fdate_5fformat_5fyymmdd_18',['LIBX52_DATE_FORMAT_YYMMDD',['../group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aad2c9819fc5590f542a22c42a3243bd5e',1,'libx52.h']]],
['libx52_5fdevice_19',['libx52_device',['../group__libx52init.html#gaca59b8d8f249fed58a0ec3253328e131',1,'libx52.h']]],
['libx52_5fdisconnect_20',['libx52_disconnect',['../group__libx52init.html#ga82f3fb7f750aa5480d23b69875d3ebe8',1,'libx52.h']]],
['libx52_5ferror_5fbusy_21',['LIBX52_ERROR_BUSY',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7afe5cd825cc2c26c9226025dcb5628f9d',1,'libx52.h']]],
['libx52_5ferror_5fcode_22',['libx52_error_code',['../group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7',1,'libx52.h']]],
['libx52_5ferror_5finit_5ffailure_23',['LIBX52_ERROR_INIT_FAILURE',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a22d30938f3a413c16e9ab2e6c183daeb',1,'libx52.h']]],
['libx52_5ferror_5finterrupted_24',['LIBX52_ERROR_INTERRUPTED',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a1601986a5a57898997fde902f994b91d',1,'libx52.h']]],
['libx52_5ferror_5finvalid_5fparam_25',['LIBX52_ERROR_INVALID_PARAM',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b',1,'libx52.h']]],
['libx52_5ferror_5fio_26',['LIBX52_ERROR_IO',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a1dd2726f8ffacda63b180c68bdf1838f',1,'libx52.h']]],
['libx52_5ferror_5fno_5fdevice_27',['LIBX52_ERROR_NO_DEVICE',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ad3e9a0e2e18b469ddc7135d73942e29a',1,'libx52.h']]],
['libx52_5ferror_5fnot_5ffound_28',['LIBX52_ERROR_NOT_FOUND',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a5d77a34c39dfa1757553ecd073913844',1,'libx52.h']]],
['libx52_5ferror_5fnot_5fsupported_29',['LIBX52_ERROR_NOT_SUPPORTED',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a97af04ffc3130e25c9eb03abaafbbaca',1,'libx52.h']]],
['libx52_5ferror_5fout_5fof_5fmemory_30',['LIBX52_ERROR_OUT_OF_MEMORY',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7adc972428ef5695848c268f927a0974cc',1,'libx52.h']]],
['libx52_5ferror_5fout_5fof_5frange_31',['LIBX52_ERROR_OUT_OF_RANGE',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac329401de31cc6c50160c1fafcdc5efa',1,'libx52.h']]],
['libx52_5ferror_5foverflow_32',['LIBX52_ERROR_OVERFLOW',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac331268731d911dfb16cd28c3d3abc3d',1,'libx52.h']]],
['libx52_5ferror_5fperm_33',['LIBX52_ERROR_PERM',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7acc31bdcda400b886e0ed914eb5a1a153',1,'libx52.h']]],
['libx52_5ferror_5fpipe_34',['LIBX52_ERROR_PIPE',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7acf7169c36418a1a43cd8f7bdbdb91325',1,'libx52.h']]],
['libx52_5ferror_5ftimeout_35',['LIBX52_ERROR_TIMEOUT',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a691294d6e5876fd371f9e32686c548d4',1,'libx52.h']]],
['libx52_5ferror_5ftry_5fagain_36',['LIBX52_ERROR_TRY_AGAIN',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a9e4acff4906865192086c8957047b35f',1,'libx52.h']]],
['libx52_5ferror_5fusb_5ffailure_37',['LIBX52_ERROR_USB_FAILURE',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a85126a0081a32d7c4bd24738996da531',1,'libx52.h']]],
['libx52_5fexit_38',['libx52_exit',['../group__libx52init.html#ga17fe14ab3f67706b2d35c6cce3cd670b',1,'libx52.h']]],
['libx52_5ffeature_39',['libx52_feature',['../group__libx52misc.html#gaa32c12111de45ed00c51fd689fdd6699',1,'libx52.h']]],
['libx52_5ffeature_5fled_40',['LIBX52_FEATURE_LED',['../group__libx52misc.html#ggaa32c12111de45ed00c51fd689fdd6699a2ce41c87908ef0b8ff6d76ccf226dfd0',1,'libx52.h']]],
['libx52_5finit_41',['libx52_init',['../group__libx52init.html#gaf9ae27c6e505bce8c4415a638033a4bd',1,'libx52.h']]],
['libx52_5fled_5fa_42',['LIBX52_LED_A',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa455294ce1f2dd6bb89c7f48034e5ddbc',1,'libx52.h']]],
['libx52_5fled_5fb_43',['LIBX52_LED_B',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa614aceacc2f76589f6e89429c7886c69',1,'libx52.h']]],
['libx52_5fled_5fclutch_44',['LIBX52_LED_CLUTCH',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa3fa42fc0e323348cd453831950e51307',1,'libx52.h']]],
['libx52_5fled_5fd_45',['LIBX52_LED_D',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa29aad41d6d4d2ba9955b76de9559b2d2',1,'libx52.h']]],
['libx52_5fled_5fe_46',['LIBX52_LED_E',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fabb61ccb8aa773f0b1bb44dcf46d91ece',1,'libx52.h']]],
['libx52_5fled_5ffire_47',['LIBX52_LED_FIRE',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae89d2ce35f72608d41202764128afd00',1,'libx52.h']]],
['libx52_5fled_5fid_48',['libx52_led_id',['../group__libx52mfdled.html#gae97e6cb1be0d79960018f2a12ba7047f',1,'libx52.h']]],
['libx52_5fled_5fpov_49',['LIBX52_LED_POV',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa18862e04f12337863251f7307e04d3bf',1,'libx52.h']]],
['libx52_5fled_5fstate_50',['libx52_led_state',['../group__libx52mfdled.html#gab1a633a40dcdcfc5cf6fc13a3ed8b68c',1,'libx52.h']]],
['libx52_5fled_5fstate_5famber_51',['LIBX52_LED_STATE_AMBER',['../group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68cacce900ab6a9325d72e0f084f9271634e',1,'libx52.h']]],
['libx52_5fled_5fstate_5fgreen_52',['LIBX52_LED_STATE_GREEN',['../group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca1e8346acab9ad3e4735079273808319c',1,'libx52.h']]],
['libx52_5fled_5fstate_5foff_53',['LIBX52_LED_STATE_OFF',['../group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca0a25e41783e99046974964aee88f895a',1,'libx52.h']]],
['libx52_5fled_5fstate_5fon_54',['LIBX52_LED_STATE_ON',['../group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca5a18783f20716411a77e3bfe7195d3d2',1,'libx52.h']]],
['libx52_5fled_5fstate_5fred_55',['LIBX52_LED_STATE_RED',['../group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca64b1620a9d10dc593660bf30d6c987d9',1,'libx52.h']]],
['libx52_5fled_5ft1_56',['LIBX52_LED_T1',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae3d5181cdca7054ea2a44bb6a33736f9',1,'libx52.h']]],
['libx52_5fled_5ft2_57',['LIBX52_LED_T2',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa3915d9b34e7cd0270c3c9945ea0366cb',1,'libx52.h']]],
['libx52_5fled_5ft3_58',['LIBX52_LED_T3',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa25d249c6a06efbf554928885834376e9',1,'libx52.h']]],
['libx52_5fled_5fthrottle_59',['LIBX52_LED_THROTTLE',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047faede82abd452be7da562c50e89160fcd7',1,'libx52.h']]],
['libx52_5fset_5fblink_60',['libx52_set_blink',['../group__libx52mfdled.html#ga944e06a76077d240ccea8c342a36a876',1,'libx52.h']]],
['libx52_5fset_5fbrightness_61',['libx52_set_brightness',['../group__libx52mfdled.html#ga9bbf5e1ff83201f6124b2d3c75c837c6',1,'libx52.h']]],
['libx52_5fset_5fclock_62',['libx52_set_clock',['../group__libx52clock.html#ga3ebdd7bf3cd2f419d9a13c46a139922e',1,'libx52.h']]],
['libx52_5fset_5fclock_5fformat_63',['libx52_set_clock_format',['../group__libx52clock.html#gacd82a744b1d33e0a9989fca4d8aad42b',1,'libx52.h']]],
['libx52_5fset_5fclock_5ftimezone_64',['libx52_set_clock_timezone',['../group__libx52clock.html#ga04c0429e7fd7d9d5b5b371b88831381e',1,'libx52.h']]],
['libx52_5fset_5fdate_65',['libx52_set_date',['../group__libx52clock.html#ga4f49341bca8a343931858ff008d2d5ca',1,'libx52.h']]],
['libx52_5fset_5fdate_5fformat_66',['libx52_set_date_format',['../group__libx52clock.html#gabfa0aa6cb8742f29b3b8cfbc16fdadb2',1,'libx52.h']]],
['libx52_5fset_5fled_5fstate_67',['libx52_set_led_state',['../group__libx52mfdled.html#ga1a435bb3057aae3307c70fb09912ef18',1,'libx52.h']]],
['libx52_5fset_5fshift_68',['libx52_set_shift',['../group__libx52mfdled.html#ga4250ce5b06f65c086ef6f279a628f378',1,'libx52.h']]],
['libx52_5fset_5ftext_69',['libx52_set_text',['../group__libx52mfdled.html#ga4f2b73685a4eb307895e08a02903bb39',1,'libx52.h']]],
['libx52_5fset_5ftime_70',['libx52_set_time',['../group__libx52clock.html#ga42b5b1f00dea64f0706c31e0b3dd1840',1,'libx52.h']]],
['libx52_5fstrerror_71',['libx52_strerror',['../group__libx52misc.html#gaa29a1022b0c3eb4894ddfd4934c3cf0e',1,'libx52.h']]],
['libx52_5fsuccess_72',['LIBX52_SUCCESS',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708',1,'libx52.h']]],
['libx52_5fupdate_73',['libx52_update',['../group__libx52misc.html#ga5d1fdbcab1b1a6cf8a10c206f8e79f73',1,'libx52.h']]],
['libx52_5fvendor_5fcommand_74',['libx52_vendor_command',['../group__libx52misc.html#gac491f4fb8d37f477d83725cb472de030',1,'libx52.h']]],
['library_20initialization_20and_20deinitialization_75',['Library Initialization and Deinitialization',['../group__libx52init.html',1,'']]],
['libx52util_2eh_76',['libx52util.h',['../libx52util_8h.html',1,'']]],
['libx52util_5fconvert_5futf8_5fstring_77',['libx52util_convert_utf8_string',['../group__libx52util.html#gac5a9279cba660740580e18029e827817',1,'libx52util.h']]]
];

30
search/all_4.html 100644
View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_4.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

5
search/all_4.js 100644
View File

@ -0,0 +1,5 @@
var searchData=
[
['mfd_20_26_20led_20control_78',['MFD &amp; LED control',['../group__libx52mfdled.html',1,'']]],
['miscellaneous_79',['Miscellaneous',['../group__libx52misc.html',1,'']]]
];

30
search/all_5.html 100644
View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_5.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

4
search/all_5.js 100644
View File

@ -0,0 +1,4 @@
var searchData=
[
['saitek_20x52_2fx52pro_20drivers_20for_20linux_2funix_80',['Saitek X52/X52Pro drivers for Linux/Unix',['../index.html',1,'']]]
];

30
search/all_6.html 100644
View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_6.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

4
search/all_6.js 100644
View File

@ -0,0 +1,4 @@
var searchData=
[
['utility_20functions_81',['Utility Functions',['../group__libx52util.html',1,'']]]
];

BIN
search/close.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 B

View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enums_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

10
search/enums_0.js 100644
View File

@ -0,0 +1,10 @@
var searchData=
[
['libx52_5fclock_5fformat_105',['libx52_clock_format',['../group__libx52clock.html#ga0c9c90bdba150b6e48ddab30aea45268',1,'libx52.h']]],
['libx52_5fclock_5fid_106',['libx52_clock_id',['../group__libx52clock.html#ga08c48a43f70bebb61b553e0ec12d917c',1,'libx52.h']]],
['libx52_5fdate_5fformat_107',['libx52_date_format',['../group__libx52clock.html#ga0da0bde31d817eaa42465b0dea2ccf5a',1,'libx52.h']]],
['libx52_5ferror_5fcode_108',['libx52_error_code',['../group__libx52misc.html#ga93b777d9cea6e733b63c222e6115ccb7',1,'libx52.h']]],
['libx52_5ffeature_109',['libx52_feature',['../group__libx52misc.html#gaa32c12111de45ed00c51fd689fdd6699',1,'libx52.h']]],
['libx52_5fled_5fid_110',['libx52_led_id',['../group__libx52mfdled.html#gae97e6cb1be0d79960018f2a12ba7047f',1,'libx52.h']]],
['libx52_5fled_5fstate_111',['libx52_led_state',['../group__libx52mfdled.html#gab1a633a40dcdcfc5cf6fc13a3ed8b68c',1,'libx52.h']]]
];

View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="enumvalues_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,45 @@
var searchData=
[
['libx52_5fclock_5f1_112',['LIBX52_CLOCK_1',['../group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca85dccae177b78d35e21875772738ac70',1,'libx52.h']]],
['libx52_5fclock_5f2_113',['LIBX52_CLOCK_2',['../group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917cab2d9e9967646a797dfb652d81a964282',1,'libx52.h']]],
['libx52_5fclock_5f3_114',['LIBX52_CLOCK_3',['../group__libx52clock.html#gga08c48a43f70bebb61b553e0ec12d917ca422990d812ea1dd9e94a5b3d03565945',1,'libx52.h']]],
['libx52_5fclock_5fformat_5f12hr_115',['LIBX52_CLOCK_FORMAT_12HR',['../group__libx52clock.html#gga0c9c90bdba150b6e48ddab30aea45268a7e216a257012c9aa2a5b847a4cb96332',1,'libx52.h']]],
['libx52_5fclock_5fformat_5f24hr_116',['LIBX52_CLOCK_FORMAT_24HR',['../group__libx52clock.html#gga0c9c90bdba150b6e48ddab30aea45268a1a60fdc6dacbf9a46a93a161d2644908',1,'libx52.h']]],
['libx52_5fdate_5fformat_5fddmmyy_117',['LIBX52_DATE_FORMAT_DDMMYY',['../group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aa81d30d59013fcef952c9d10a30942abc',1,'libx52.h']]],
['libx52_5fdate_5fformat_5fmmddyy_118',['LIBX52_DATE_FORMAT_MMDDYY',['../group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aad91220edc91513325af1def4bcdfc07c',1,'libx52.h']]],
['libx52_5fdate_5fformat_5fyymmdd_119',['LIBX52_DATE_FORMAT_YYMMDD',['../group__libx52clock.html#gga0da0bde31d817eaa42465b0dea2ccf5aad2c9819fc5590f542a22c42a3243bd5e',1,'libx52.h']]],
['libx52_5ferror_5fbusy_120',['LIBX52_ERROR_BUSY',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7afe5cd825cc2c26c9226025dcb5628f9d',1,'libx52.h']]],
['libx52_5ferror_5finit_5ffailure_121',['LIBX52_ERROR_INIT_FAILURE',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a22d30938f3a413c16e9ab2e6c183daeb',1,'libx52.h']]],
['libx52_5ferror_5finterrupted_122',['LIBX52_ERROR_INTERRUPTED',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a1601986a5a57898997fde902f994b91d',1,'libx52.h']]],
['libx52_5ferror_5finvalid_5fparam_123',['LIBX52_ERROR_INVALID_PARAM',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a049c93e363d70c5a6cc5a735371e5e3b',1,'libx52.h']]],
['libx52_5ferror_5fio_124',['LIBX52_ERROR_IO',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a1dd2726f8ffacda63b180c68bdf1838f',1,'libx52.h']]],
['libx52_5ferror_5fno_5fdevice_125',['LIBX52_ERROR_NO_DEVICE',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ad3e9a0e2e18b469ddc7135d73942e29a',1,'libx52.h']]],
['libx52_5ferror_5fnot_5ffound_126',['LIBX52_ERROR_NOT_FOUND',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a5d77a34c39dfa1757553ecd073913844',1,'libx52.h']]],
['libx52_5ferror_5fnot_5fsupported_127',['LIBX52_ERROR_NOT_SUPPORTED',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a97af04ffc3130e25c9eb03abaafbbaca',1,'libx52.h']]],
['libx52_5ferror_5fout_5fof_5fmemory_128',['LIBX52_ERROR_OUT_OF_MEMORY',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7adc972428ef5695848c268f927a0974cc',1,'libx52.h']]],
['libx52_5ferror_5fout_5fof_5frange_129',['LIBX52_ERROR_OUT_OF_RANGE',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac329401de31cc6c50160c1fafcdc5efa',1,'libx52.h']]],
['libx52_5ferror_5foverflow_130',['LIBX52_ERROR_OVERFLOW',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7ac331268731d911dfb16cd28c3d3abc3d',1,'libx52.h']]],
['libx52_5ferror_5fperm_131',['LIBX52_ERROR_PERM',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7acc31bdcda400b886e0ed914eb5a1a153',1,'libx52.h']]],
['libx52_5ferror_5fpipe_132',['LIBX52_ERROR_PIPE',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7acf7169c36418a1a43cd8f7bdbdb91325',1,'libx52.h']]],
['libx52_5ferror_5ftimeout_133',['LIBX52_ERROR_TIMEOUT',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a691294d6e5876fd371f9e32686c548d4',1,'libx52.h']]],
['libx52_5ferror_5ftry_5fagain_134',['LIBX52_ERROR_TRY_AGAIN',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a9e4acff4906865192086c8957047b35f',1,'libx52.h']]],
['libx52_5ferror_5fusb_5ffailure_135',['LIBX52_ERROR_USB_FAILURE',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a85126a0081a32d7c4bd24738996da531',1,'libx52.h']]],
['libx52_5ffeature_5fled_136',['LIBX52_FEATURE_LED',['../group__libx52misc.html#ggaa32c12111de45ed00c51fd689fdd6699a2ce41c87908ef0b8ff6d76ccf226dfd0',1,'libx52.h']]],
['libx52_5fled_5fa_137',['LIBX52_LED_A',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa455294ce1f2dd6bb89c7f48034e5ddbc',1,'libx52.h']]],
['libx52_5fled_5fb_138',['LIBX52_LED_B',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa614aceacc2f76589f6e89429c7886c69',1,'libx52.h']]],
['libx52_5fled_5fclutch_139',['LIBX52_LED_CLUTCH',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa3fa42fc0e323348cd453831950e51307',1,'libx52.h']]],
['libx52_5fled_5fd_140',['LIBX52_LED_D',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa29aad41d6d4d2ba9955b76de9559b2d2',1,'libx52.h']]],
['libx52_5fled_5fe_141',['LIBX52_LED_E',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fabb61ccb8aa773f0b1bb44dcf46d91ece',1,'libx52.h']]],
['libx52_5fled_5ffire_142',['LIBX52_LED_FIRE',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae89d2ce35f72608d41202764128afd00',1,'libx52.h']]],
['libx52_5fled_5fpov_143',['LIBX52_LED_POV',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa18862e04f12337863251f7307e04d3bf',1,'libx52.h']]],
['libx52_5fled_5fstate_5famber_144',['LIBX52_LED_STATE_AMBER',['../group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68cacce900ab6a9325d72e0f084f9271634e',1,'libx52.h']]],
['libx52_5fled_5fstate_5fgreen_145',['LIBX52_LED_STATE_GREEN',['../group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca1e8346acab9ad3e4735079273808319c',1,'libx52.h']]],
['libx52_5fled_5fstate_5foff_146',['LIBX52_LED_STATE_OFF',['../group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca0a25e41783e99046974964aee88f895a',1,'libx52.h']]],
['libx52_5fled_5fstate_5fon_147',['LIBX52_LED_STATE_ON',['../group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca5a18783f20716411a77e3bfe7195d3d2',1,'libx52.h']]],
['libx52_5fled_5fstate_5fred_148',['LIBX52_LED_STATE_RED',['../group__libx52mfdled.html#ggab1a633a40dcdcfc5cf6fc13a3ed8b68ca64b1620a9d10dc593660bf30d6c987d9',1,'libx52.h']]],
['libx52_5fled_5ft1_149',['LIBX52_LED_T1',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fae3d5181cdca7054ea2a44bb6a33736f9',1,'libx52.h']]],
['libx52_5fled_5ft2_150',['LIBX52_LED_T2',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa3915d9b34e7cd0270c3c9945ea0366cb',1,'libx52.h']]],
['libx52_5fled_5ft3_151',['LIBX52_LED_T3',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047fa25d249c6a06efbf554928885834376e9',1,'libx52.h']]],
['libx52_5fled_5fthrottle_152',['LIBX52_LED_THROTTLE',['../group__libx52mfdled.html#ggae97e6cb1be0d79960018f2a12ba7047faede82abd452be7da562c50e89160fcd7',1,'libx52.h']]],
['libx52_5fsuccess_153',['LIBX52_SUCCESS',['../group__libx52misc.html#gga93b777d9cea6e733b63c222e6115ccb7a8c4729a9500f0b9032d874ca7942b708',1,'libx52.h']]]
];

View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,5 @@
var searchData=
[
['libx52_2eh_82',['libx52.h',['../libx52_8h.html',1,'']]],
['libx52util_2eh_83',['libx52util.h',['../libx52util_8h.html',1,'']]]
];

View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,23 @@
var searchData=
[
['libx52_5fcheck_5ffeature_84',['libx52_check_feature',['../group__libx52misc.html#ga504ed71c3e543da1436ea99465289ceb',1,'libx52.h']]],
['libx52_5fconnect_85',['libx52_connect',['../group__libx52init.html#ga65998f1155fb093f45babfd0c2c138d9',1,'libx52.h']]],
['libx52_5fdisconnect_86',['libx52_disconnect',['../group__libx52init.html#ga82f3fb7f750aa5480d23b69875d3ebe8',1,'libx52.h']]],
['libx52_5fexit_87',['libx52_exit',['../group__libx52init.html#ga17fe14ab3f67706b2d35c6cce3cd670b',1,'libx52.h']]],
['libx52_5finit_88',['libx52_init',['../group__libx52init.html#gaf9ae27c6e505bce8c4415a638033a4bd',1,'libx52.h']]],
['libx52_5fset_5fblink_89',['libx52_set_blink',['../group__libx52mfdled.html#ga944e06a76077d240ccea8c342a36a876',1,'libx52.h']]],
['libx52_5fset_5fbrightness_90',['libx52_set_brightness',['../group__libx52mfdled.html#ga9bbf5e1ff83201f6124b2d3c75c837c6',1,'libx52.h']]],
['libx52_5fset_5fclock_91',['libx52_set_clock',['../group__libx52clock.html#ga3ebdd7bf3cd2f419d9a13c46a139922e',1,'libx52.h']]],
['libx52_5fset_5fclock_5fformat_92',['libx52_set_clock_format',['../group__libx52clock.html#gacd82a744b1d33e0a9989fca4d8aad42b',1,'libx52.h']]],
['libx52_5fset_5fclock_5ftimezone_93',['libx52_set_clock_timezone',['../group__libx52clock.html#ga04c0429e7fd7d9d5b5b371b88831381e',1,'libx52.h']]],
['libx52_5fset_5fdate_94',['libx52_set_date',['../group__libx52clock.html#ga4f49341bca8a343931858ff008d2d5ca',1,'libx52.h']]],
['libx52_5fset_5fdate_5fformat_95',['libx52_set_date_format',['../group__libx52clock.html#gabfa0aa6cb8742f29b3b8cfbc16fdadb2',1,'libx52.h']]],
['libx52_5fset_5fled_5fstate_96',['libx52_set_led_state',['../group__libx52mfdled.html#ga1a435bb3057aae3307c70fb09912ef18',1,'libx52.h']]],
['libx52_5fset_5fshift_97',['libx52_set_shift',['../group__libx52mfdled.html#ga4250ce5b06f65c086ef6f279a628f378',1,'libx52.h']]],
['libx52_5fset_5ftext_98',['libx52_set_text',['../group__libx52mfdled.html#ga4f2b73685a4eb307895e08a02903bb39',1,'libx52.h']]],
['libx52_5fset_5ftime_99',['libx52_set_time',['../group__libx52clock.html#ga42b5b1f00dea64f0706c31e0b3dd1840',1,'libx52.h']]],
['libx52_5fstrerror_100',['libx52_strerror',['../group__libx52misc.html#gaa29a1022b0c3eb4894ddfd4934c3cf0e',1,'libx52.h']]],
['libx52_5fupdate_101',['libx52_update',['../group__libx52misc.html#ga5d1fdbcab1b1a6cf8a10c206f8e79f73',1,'libx52.h']]],
['libx52_5fvendor_5fcommand_102',['libx52_vendor_command',['../group__libx52misc.html#gac491f4fb8d37f477d83725cb472de030',1,'libx52.h']]],
['libx52util_5fconvert_5futf8_5fstring_103',['libx52util_convert_utf8_string',['../group__libx52util.html#gac5a9279cba660740580e18029e827817',1,'libx52util.h']]]
];

View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="groups_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
var searchData=
[
['clock_20control_154',['Clock control',['../group__libx52clock.html',1,'']]]
];

View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="groups_1.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
var searchData=
[
['library_20initialization_20and_20deinitialization_155',['Library Initialization and Deinitialization',['../group__libx52init.html',1,'']]]
];

View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="groups_2.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,5 @@
var searchData=
[
['mfd_20_26_20led_20control_156',['MFD &amp; LED control',['../group__libx52mfdled.html',1,'']]],
['miscellaneous_157',['Miscellaneous',['../group__libx52misc.html',1,'']]]
];

View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="groups_3.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
var searchData=
[
['utility_20functions_158',['Utility Functions',['../group__libx52util.html',1,'']]]
];

BIN
search/mag_sel.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 B

View File

@ -0,0 +1,12 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</body>
</html>

View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="pages_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,5 @@
var searchData=
[
['caveats_159',['Caveats',['../libx52_caveats.html',1,'']]],
['command_20line_20interface_20to_20libx52_160',['Command Line Interface to libx52',['../x52cli.html',1,'']]]
];

View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="pages_1.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
var searchData=
[
['deprecated_20list_161',['Deprecated List',['../deprecated.html',1,'']]]
];

View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="pages_2.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
var searchData=
[
['integration_162',['Integration',['../libx52_integration.html',1,'']]]
];

View File

@ -0,0 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="pages_3.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
createResults();
/* @license-end */
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
/* @license-end */
--></script>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
var searchData=
[
['saitek_20x52_2fx52pro_20drivers_20for_20linux_2funix_163',['Saitek X52/X52Pro drivers for Linux/Unix',['../index.html',1,'']]]
];

271
search/search.css 100644
View File

@ -0,0 +1,271 @@
/*---------------- Search Box */
#FSearchBox {
float: left;
}
#MSearchBox {
white-space : nowrap;
float: none;
margin-top: 8px;
right: 0px;
width: 170px;
height: 24px;
z-index: 102;
}
#MSearchBox .left
{
display:block;
position:absolute;
left:10px;
width:20px;
height:19px;
background:url('search_l.png') no-repeat;
background-position:right;
}
#MSearchSelect {
display:block;
position:absolute;
width:20px;
height:19px;
}
.left #MSearchSelect {
left:4px;
}
.right #MSearchSelect {
right:5px;
}
#MSearchField {
display:block;
position:absolute;
height:19px;
background:url('search_m.png') repeat-x;
border:none;
width:115px;
margin-left:20px;
padding-left:4px;
color: #909090;
outline: none;
font: 9pt Arial, Verdana, sans-serif;
-webkit-border-radius: 0px;
}
#FSearchBox #MSearchField {
margin-left:15px;
}
#MSearchBox .right {
display:block;
position:absolute;
right:10px;
top:8px;
width:20px;
height:19px;
background:url('search_r.png') no-repeat;
background-position:left;
}
#MSearchClose {
display: none;
position: absolute;
top: 4px;
background : none;
border: none;
margin: 0px 4px 0px 0px;
padding: 0px 0px;
outline: none;
}
.left #MSearchClose {
left: 6px;
}
.right #MSearchClose {
right: 2px;
}
.MSearchBoxActive #MSearchField {
color: #000000;
}
/*---------------- Search filter selection */
#MSearchSelectWindow {
display: none;
position: absolute;
left: 0; top: 0;
border: 1px solid #90A5CE;
background-color: #F9FAFC;
z-index: 10001;
padding-top: 4px;
padding-bottom: 4px;
-moz-border-radius: 4px;
-webkit-border-top-left-radius: 4px;
-webkit-border-top-right-radius: 4px;
-webkit-border-bottom-left-radius: 4px;
-webkit-border-bottom-right-radius: 4px;
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
}
.SelectItem {
font: 8pt Arial, Verdana, sans-serif;
padding-left: 2px;
padding-right: 12px;
border: 0px;
}
span.SelectionMark {
margin-right: 4px;
font-family: monospace;
outline-style: none;
text-decoration: none;
}
a.SelectItem {
display: block;
outline-style: none;
color: #000000;
text-decoration: none;
padding-left: 6px;
padding-right: 12px;
}
a.SelectItem:focus,
a.SelectItem:active {
color: #000000;
outline-style: none;
text-decoration: none;
}
a.SelectItem:hover {
color: #FFFFFF;
background-color: #3D578C;
outline-style: none;
text-decoration: none;
cursor: pointer;
display: block;
}
/*---------------- Search results window */
iframe#MSearchResults {
width: 60ex;
height: 15em;
}
#MSearchResultsWindow {
display: none;
position: absolute;
left: 0; top: 0;
border: 1px solid #000;
background-color: #EEF1F7;
z-index:10000;
}
/* ----------------------------------- */
#SRIndex {
clear:both;
padding-bottom: 15px;
}
.SREntry {
font-size: 10pt;
padding-left: 1ex;
}
.SRPage .SREntry {
font-size: 8pt;
padding: 1px 5px;
}
body.SRPage {
margin: 5px 2px;
}
.SRChildren {
padding-left: 3ex; padding-bottom: .5em
}
.SRPage .SRChildren {
display: none;
}
.SRSymbol {
font-weight: bold;
color: #425E97;
font-family: Arial, Verdana, sans-serif;
text-decoration: none;
outline: none;
}
a.SRScope {
display: block;
color: #425E97;
font-family: Arial, Verdana, sans-serif;
text-decoration: none;
outline: none;
}
a.SRSymbol:focus, a.SRSymbol:active,
a.SRScope:focus, a.SRScope:active {
text-decoration: underline;
}
span.SRScope {
padding-left: 4px;
}
.SRPage .SRStatus {
padding: 2px 5px;
font-size: 8pt;
font-style: italic;
}
.SRResult {
display: none;
}
DIV.searchresults {
margin-left: 10px;
margin-right: 10px;
}
/*---------------- External search page results */
.searchresult {
background-color: #F0F3F8;
}
.pages b {
color: white;
padding: 5px 5px 3px 5px;
background-image: url("../tab_a.png");
background-repeat: repeat-x;
text-shadow: 0 1px 1px #000000;
}
.pages {
line-height: 17px;
margin-left: 4px;
text-decoration: none;
}
.hl {
font-weight: bold;
}
#searchresults {
margin-bottom: 20px;
}
.searchpages {
margin-top: 10px;
}

814
search/search.js 100644
View File

@ -0,0 +1,814 @@
/*
@licstart The following is the entire license notice for the
JavaScript code in this file.
Copyright (C) 1997-2017 by Dimitri van Heesch
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
@licend The above is the entire license notice
for the JavaScript code in this file
*/
function convertToId(search)
{
var result = '';
for (i=0;i<search.length;i++)
{
var c = search.charAt(i);
var cn = c.charCodeAt(0);
if (c.match(/[a-z0-9\u0080-\uFFFF]/))
{
result+=c;
}
else if (cn<16)
{
result+="_0"+cn.toString(16);
}
else
{
result+="_"+cn.toString(16);
}
}
return result;
}
function getXPos(item)
{
var x = 0;
if (item.offsetWidth)
{
while (item && item!=document.body)
{
x += item.offsetLeft;
item = item.offsetParent;
}
}
return x;
}
function getYPos(item)
{
var y = 0;
if (item.offsetWidth)
{
while (item && item!=document.body)
{
y += item.offsetTop;
item = item.offsetParent;
}
}
return y;
}
/* A class handling everything associated with the search panel.
Parameters:
name - The name of the global variable that will be
storing this instance. Is needed to be able to set timeouts.
resultPath - path to use for external files
*/
function SearchBox(name, resultsPath, inFrame, label)
{
if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
// ---------- Instance variables
this.name = name;
this.resultsPath = resultsPath;
this.keyTimeout = 0;
this.keyTimeoutLength = 500;
this.closeSelectionTimeout = 300;
this.lastSearchValue = "";
this.lastResultsPage = "";
this.hideTimeout = 0;
this.searchIndex = 0;
this.searchActive = false;
this.insideFrame = inFrame;
this.searchLabel = label;
// ----------- DOM Elements
this.DOMSearchField = function()
{ return document.getElementById("MSearchField"); }
this.DOMSearchSelect = function()
{ return document.getElementById("MSearchSelect"); }
this.DOMSearchSelectWindow = function()
{ return document.getElementById("MSearchSelectWindow"); }
this.DOMPopupSearchResults = function()
{ return document.getElementById("MSearchResults"); }
this.DOMPopupSearchResultsWindow = function()
{ return document.getElementById("MSearchResultsWindow"); }
this.DOMSearchClose = function()
{ return document.getElementById("MSearchClose"); }
this.DOMSearchBox = function()
{ return document.getElementById("MSearchBox"); }
// ------------ Event Handlers
// Called when focus is added or removed from the search field.
this.OnSearchFieldFocus = function(isActive)
{
this.Activate(isActive);
}
this.OnSearchSelectShow = function()
{
var searchSelectWindow = this.DOMSearchSelectWindow();
var searchField = this.DOMSearchSelect();
if (this.insideFrame)
{
var left = getXPos(searchField);
var top = getYPos(searchField);
left += searchField.offsetWidth + 6;
top += searchField.offsetHeight;
// show search selection popup
searchSelectWindow.style.display='block';
left -= searchSelectWindow.offsetWidth;
searchSelectWindow.style.left = left + 'px';
searchSelectWindow.style.top = top + 'px';
}
else
{
var left = getXPos(searchField);
var top = getYPos(searchField);
top += searchField.offsetHeight;
// show search selection popup
searchSelectWindow.style.display='block';
searchSelectWindow.style.left = left + 'px';
searchSelectWindow.style.top = top + 'px';
}
// stop selection hide timer
if (this.hideTimeout)
{
clearTimeout(this.hideTimeout);
this.hideTimeout=0;
}
return false; // to avoid "image drag" default event
}
this.OnSearchSelectHide = function()
{
this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
this.closeSelectionTimeout);
}
// Called when the content of the search field is changed.
this.OnSearchFieldChange = function(evt)
{
if (this.keyTimeout) // kill running timer
{
clearTimeout(this.keyTimeout);
this.keyTimeout = 0;
}
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==40 || e.keyCode==13)
{
if (e.shiftKey==1)
{
this.OnSearchSelectShow();
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
child.focus();
return;
}
}
return;
}
else if (window.frames.MSearchResults.searchResults)
{
var elem = window.frames.MSearchResults.searchResults.NavNext(0);
if (elem) elem.focus();
}
}
else if (e.keyCode==27) // Escape out of the search field
{
this.DOMSearchField().blur();
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.lastSearchValue = '';
this.Activate(false);
return;
}
// strip whitespaces
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
if (searchValue != this.lastSearchValue) // search value has changed
{
if (searchValue != "") // non-empty search
{
// set timer for search update
this.keyTimeout = setTimeout(this.name + '.Search()',
this.keyTimeoutLength);
}
else // empty search field
{
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.lastSearchValue = '';
}
}
}
this.SelectItemCount = function(id)
{
var count=0;
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
count++;
}
}
return count;
}
this.SelectItemSet = function(id)
{
var i,j=0;
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
var node = child.firstChild;
if (j==id)
{
node.innerHTML='&#8226;';
}
else
{
node.innerHTML='&#160;';
}
j++;
}
}
}
// Called when an search filter selection is made.
// set item with index id as the active item
this.OnSelectItem = function(id)
{
this.searchIndex = id;
this.SelectItemSet(id);
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
if (searchValue!="" && this.searchActive) // something was found -> do a search
{
this.Search();
}
}
this.OnSearchSelectKey = function(evt)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
{
this.searchIndex++;
this.OnSelectItem(this.searchIndex);
}
else if (e.keyCode==38 && this.searchIndex>0) // Up
{
this.searchIndex--;
this.OnSelectItem(this.searchIndex);
}
else if (e.keyCode==13 || e.keyCode==27)
{
this.OnSelectItem(this.searchIndex);
this.CloseSelectionWindow();
this.DOMSearchField().focus();
}
return false;
}
// --------- Actions
// Closes the results window.
this.CloseResultsWindow = function()
{
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.Activate(false);
}
this.CloseSelectionWindow = function()
{
this.DOMSearchSelectWindow().style.display = 'none';
}
// Performs a search.
this.Search = function()
{
this.keyTimeout = 0;
// strip leading whitespace
var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
var code = searchValue.toLowerCase().charCodeAt(0);
var idxChar = searchValue.substr(0, 1).toLowerCase();
if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
{
idxChar = searchValue.substr(0, 2);
}
var resultsPage;
var resultsPageWithSearch;
var hasResultsPage;
var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
if (idx!=-1)
{
var hexCode=idx.toString(16);
resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
hasResultsPage = true;
}
else // nothing available for this search term
{
resultsPage = this.resultsPath + '/nomatches.html';
resultsPageWithSearch = resultsPage;
hasResultsPage = false;
}
window.frames.MSearchResults.location = resultsPageWithSearch;
var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
if (domPopupSearchResultsWindow.style.display!='block')
{
var domSearchBox = this.DOMSearchBox();
this.DOMSearchClose().style.display = 'inline';
if (this.insideFrame)
{
var domPopupSearchResults = this.DOMPopupSearchResults();
domPopupSearchResultsWindow.style.position = 'relative';
domPopupSearchResultsWindow.style.display = 'block';
var width = document.body.clientWidth - 8; // the -8 is for IE :-(
domPopupSearchResultsWindow.style.width = width + 'px';
domPopupSearchResults.style.width = width + 'px';
}
else
{
var domPopupSearchResults = this.DOMPopupSearchResults();
var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
domPopupSearchResultsWindow.style.display = 'block';
left -= domPopupSearchResults.offsetWidth;
domPopupSearchResultsWindow.style.top = top + 'px';
domPopupSearchResultsWindow.style.left = left + 'px';
}
}
this.lastSearchValue = searchValue;
this.lastResultsPage = resultsPage;
}
// -------- Activation Functions
// Activates or deactivates the search panel, resetting things to
// their default values if necessary.
this.Activate = function(isActive)
{
if (isActive || // open it
this.DOMPopupSearchResultsWindow().style.display == 'block'
)
{
this.DOMSearchBox().className = 'MSearchBoxActive';
var searchField = this.DOMSearchField();
if (searchField.value == this.searchLabel) // clear "Search" term upon entry
{
searchField.value = '';
this.searchActive = true;
}
}
else if (!isActive) // directly remove the panel
{
this.DOMSearchBox().className = 'MSearchBoxInactive';
this.DOMSearchField().value = this.searchLabel;
this.searchActive = false;
this.lastSearchValue = ''
this.lastResultsPage = '';
}
}
}
// -----------------------------------------------------------------------
// The class that handles everything on the search results page.
function SearchResults(name)
{
// The number of matches from the last run of <Search()>.
this.lastMatchCount = 0;
this.lastKey = 0;
this.repeatOn = false;
// Toggles the visibility of the passed element ID.
this.FindChildElement = function(id)
{
var parentElement = document.getElementById(id);
var element = parentElement.firstChild;
while (element && element!=parentElement)
{
if (element.nodeName == 'DIV' && element.className == 'SRChildren')
{
return element;
}
if (element.nodeName == 'DIV' && element.hasChildNodes())
{
element = element.firstChild;
}
else if (element.nextSibling)
{
element = element.nextSibling;
}
else
{
do
{
element = element.parentNode;
}
while (element && element!=parentElement && !element.nextSibling);
if (element && element!=parentElement)
{
element = element.nextSibling;
}
}
}
}
this.Toggle = function(id)
{
var element = this.FindChildElement(id);
if (element)
{
if (element.style.display == 'block')
{
element.style.display = 'none';
}
else
{
element.style.display = 'block';
}
}
}
// Searches for the passed string. If there is no parameter,
// it takes it from the URL query.
//
// Always returns true, since other documents may try to call it
// and that may or may not be possible.
this.Search = function(search)
{
if (!search) // get search word from URL
{
search = window.location.search;
search = search.substring(1); // Remove the leading '?'
search = unescape(search);
}
search = search.replace(/^ +/, ""); // strip leading spaces
search = search.replace(/ +$/, ""); // strip trailing spaces
search = search.toLowerCase();
search = convertToId(search);
var resultRows = document.getElementsByTagName("div");
var matches = 0;
var i = 0;
while (i < resultRows.length)
{
var row = resultRows.item(i);
if (row.className == "SRResult")
{
var rowMatchName = row.id.toLowerCase();
rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
if (search.length<=rowMatchName.length &&
rowMatchName.substr(0, search.length)==search)
{
row.style.display = 'block';
matches++;
}
else
{
row.style.display = 'none';
}
}
i++;
}
document.getElementById("Searching").style.display='none';
if (matches == 0) // no results
{
document.getElementById("NoMatches").style.display='block';
}
else // at least one result
{
document.getElementById("NoMatches").style.display='none';
}
this.lastMatchCount = matches;
return true;
}
// return the first item with index index or higher that is visible
this.NavNext = function(index)
{
var focusItem;
while (1)
{
var focusName = 'Item'+index;
focusItem = document.getElementById(focusName);
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
{
break;
}
else if (!focusItem) // last element
{
break;
}
focusItem=null;
index++;
}
return focusItem;
}
this.NavPrev = function(index)
{
var focusItem;
while (1)
{
var focusName = 'Item'+index;
focusItem = document.getElementById(focusName);
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
{
break;
}
else if (!focusItem) // last element
{
break;
}
focusItem=null;
index--;
}
return focusItem;
}
this.ProcessKeys = function(e)
{
if (e.type == "keydown")
{
this.repeatOn = false;
this.lastKey = e.keyCode;
}
else if (e.type == "keypress")
{
if (!this.repeatOn)
{
if (this.lastKey) this.repeatOn = true;
return false; // ignore first keypress after keydown
}
}
else if (e.type == "keyup")
{
this.lastKey = 0;
this.repeatOn = false;
}
return this.lastKey!=0;
}
this.Nav = function(evt,itemIndex)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==13) return true;
if (!this.ProcessKeys(e)) return false;
if (this.lastKey==38) // Up
{
var newIndex = itemIndex-1;
var focusItem = this.NavPrev(newIndex);
if (focusItem)
{
var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
if (child && child.style.display == 'block') // children visible
{
var n=0;
var tmpElem;
while (1) // search for last child
{
tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
if (tmpElem)
{
focusItem = tmpElem;
}
else // found it!
{
break;
}
n++;
}
}
}
if (focusItem)
{
focusItem.focus();
}
else // return focus to search field
{
parent.document.getElementById("MSearchField").focus();
}
}
else if (this.lastKey==40) // Down
{
var newIndex = itemIndex+1;
var focusItem;
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem && elem.style.display == 'block') // children visible
{
focusItem = document.getElementById('Item'+itemIndex+'_c0');
}
if (!focusItem) focusItem = this.NavNext(newIndex);
if (focusItem) focusItem.focus();
}
else if (this.lastKey==39) // Right
{
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem) elem.style.display = 'block';
}
else if (this.lastKey==37) // Left
{
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem) elem.style.display = 'none';
}
else if (this.lastKey==27) // Escape
{
parent.searchBox.CloseResultsWindow();
parent.document.getElementById("MSearchField").focus();
}
else if (this.lastKey==13) // Enter
{
return true;
}
return false;
}
this.NavChild = function(evt,itemIndex,childIndex)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==13) return true;
if (!this.ProcessKeys(e)) return false;
if (this.lastKey==38) // Up
{
if (childIndex>0)
{
var newIndex = childIndex-1;
document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
}
else // already at first child, jump to parent
{
document.getElementById('Item'+itemIndex).focus();
}
}
else if (this.lastKey==40) // Down
{
var newIndex = childIndex+1;
var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
if (!elem) // last child, jump to parent next parent
{
elem = this.NavNext(itemIndex+1);
}
if (elem)
{
elem.focus();
}
}
else if (this.lastKey==27) // Escape
{
parent.searchBox.CloseResultsWindow();
parent.document.getElementById("MSearchField").focus();
}
else if (this.lastKey==13) // Enter
{
return true;
}
return false;
}
}
function setKeyActions(elem,action)
{
elem.setAttribute('onkeydown',action);
elem.setAttribute('onkeypress',action);
elem.setAttribute('onkeyup',action);
}
function setClassAttr(elem,attr)
{
elem.setAttribute('class',attr);
elem.setAttribute('className',attr);
}
function createResults()
{
var results = document.getElementById("SRResults");
for (var e=0; e<searchData.length; e++)
{
var id = searchData[e][0];
var srResult = document.createElement('div');
srResult.setAttribute('id','SR_'+id);
setClassAttr(srResult,'SRResult');
var srEntry = document.createElement('div');
setClassAttr(srEntry,'SREntry');
var srLink = document.createElement('a');
srLink.setAttribute('id','Item'+e);
setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
setClassAttr(srLink,'SRSymbol');
srLink.innerHTML = searchData[e][1][0];
srEntry.appendChild(srLink);
if (searchData[e][1].length==2) // single result
{
srLink.setAttribute('href',searchData[e][1][1][0]);
if (searchData[e][1][1][1])
{
srLink.setAttribute('target','_parent');
}
var srScope = document.createElement('span');
setClassAttr(srScope,'SRScope');
srScope.innerHTML = searchData[e][1][1][2];
srEntry.appendChild(srScope);
}
else // multiple results
{
srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
var srChildren = document.createElement('div');
setClassAttr(srChildren,'SRChildren');
for (var c=0; c<searchData[e][1].length-1; c++)
{
var srChild = document.createElement('a');
srChild.setAttribute('id','Item'+e+'_c'+c);
setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
setClassAttr(srChild,'SRScope');
srChild.setAttribute('href',searchData[e][1][c+1][0]);
if (searchData[e][1][c+1][1])
{
srChild.setAttribute('target','_parent');
}
srChild.innerHTML = searchData[e][1][c+1][2];
srChildren.appendChild(srChild);
}
srEntry.appendChild(srChildren);
}
srResult.appendChild(srEntry);
results.appendChild(srResult);
}
}
function init_search()
{
var results = document.getElementById("MSearchSelectWindow");
for (var key in indexSectionLabels)
{
var link = document.createElement('a');
link.setAttribute('class','SelectItem');
link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
link.href='javascript:void(0)';
link.innerHTML='<span class="SelectionMark">&#160;</span>'+indexSectionLabels[key];
results.appendChild(link);
}
searchBox.OnSelectItem(0);
}
/* @license-end */

BIN
search/search_l.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 567 B

BIN
search/search_m.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 B

BIN
search/search_r.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 B

View File

@ -0,0 +1,36 @@
var indexSectionsWithContent =
{
0: "cdilmsu",
1: "l",
2: "l",
3: "l",
4: "l",
5: "l",
6: "clmu",
7: "cdis"
};
var indexSectionNames =
{
0: "all",
1: "files",
2: "functions",
3: "typedefs",
4: "enums",
5: "enumvalues",
6: "groups",
7: "pages"
};
var indexSectionLabels =
{
0: "All",
1: "Files",
2: "Functions",
3: "Typedefs",
4: "Enumerations",
5: "Enumerator",
6: "Modules",
7: "Pages"
};

Some files were not shown because too many files have changed in this diff Show More