304 lines
50 KiB
HTML
304 lines
50 KiB
HTML
<!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.9.1"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>libctru: include/3ds/services/dsp.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">libctru
|
|
 <span id="projectnumber">v2.4.1</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.9.1 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
|
|
/* @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&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_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_d475325f6a9fe3bfc3a495c72a9e475e.html">3ds</a></li><li class="navelem"><a class="el" href="dir_0e005207343684f6967052d1f51a7e66.html">services</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="headertitle">
|
|
<div class="title">dsp.h</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<a href="dsp_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> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * @file dsp.h</span></div>
|
|
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * @brief DSP Service to access the DSP processor commands (sound)</span></div>
|
|
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
|
|
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * The DSP has access to the Linear memory region, and to the DSP memory region if allowed in the exheader.</span></div>
|
|
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#pragma once</span></div>
|
|
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include <<a class="code" href="types_8h.html">3ds/types.h</a>></span></div>
|
|
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">/// DSP interrupt types.</span></div>
|
|
<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="dsp_8h.html#ab0628a987bd913080b9aaf672737061e"> 11</a></span> <span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span></div>
|
|
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> {</div>
|
|
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  <a class="code" href="dsp_8h.html#ab0628a987bd913080b9aaf672737061eaac8d6062e2ce93a63bf9098955b04046">DSP_INTERRUPT_PIPE</a> = 2 <span class="comment">///< Pipe interrupt.</span></div>
|
|
<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="dsp_8h.html#ab0628a987bd913080b9aaf672737061eaac8d6062e2ce93a63bf9098955b04046"> 14</a></span> } <a class="code" href="dsp_8h.html#ab0628a987bd913080b9aaf672737061e">DSP_InterruptType</a>;</div>
|
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">/// DSP hook types.</span></div>
|
|
<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149"> 17</a></span> <span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span></div>
|
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> {</div>
|
|
<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149a683e68506808fbb4cd057972f5b878be"> 19</a></span>  <a class="code" href="dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149a683e68506808fbb4cd057972f5b878be">DSPHOOK_ONSLEEP</a> = 0, <span class="comment">///< DSP is going to sleep.</span></div>
|
|
<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149ac0e23de4d01222d11f9cf3ae5045a633"> 20</a></span>  <a class="code" href="dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149ac0e23de4d01222d11f9cf3ae5045a633">DSPHOOK_ONWAKEUP</a> = 1, <span class="comment">///< DSP is waking up.</span></div>
|
|
<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149a7e0e9212bb8a48bcfe85782714e51e0b"> 21</a></span>  <a class="code" href="dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149a7e0e9212bb8a48bcfe85782714e51e0b">DSPHOOK_ONCANCEL</a> = 2, <span class="comment">///< DSP was sleeping and the app was cancelled.</span></div>
|
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> } <a class="code" href="dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149">DSP_HookType</a>;</div>
|
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">/// DSP hook function.</span></div>
|
|
<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="dsp_8h.html#a0524d9af6690dcf81759f84e820b60e5"> 25</a></span> <span class="comment"></span><span class="keyword">typedef</span> void (* <a class="code" href="dsp_8h.html#a0524d9af6690dcf81759f84e820b60e5">dspHookFn</a>)(<a class="code" href="dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149">DSP_HookType</a> hook);</div>
|
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">/// DSP hook cookie.</span></div>
|
|
<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="structdspHookCookie.html"> 28</a></span> <span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>tag_dspHookCookie</div>
|
|
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> {</div>
|
|
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="structdspHookCookie.html#aaaa2ec6d05daa82cba31ee125d0a3f69"> 30</a></span>  <span class="keyword">struct </span>tag_dspHookCookie* <a class="code" href="structdspHookCookie.html#aaaa2ec6d05daa82cba31ee125d0a3f69">next</a>; <span class="comment">///< Next cookie.</span></div>
|
|
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structdspHookCookie.html#ae39e34b3bae234fa8e2c9554af0be658"> 31</a></span>  <a class="code" href="dsp_8h.html#a0524d9af6690dcf81759f84e820b60e5">dspHookFn</a> <a class="code" href="structdspHookCookie.html#ae39e34b3bae234fa8e2c9554af0be658">callback</a>; <span class="comment">///< Hook callback.</span></div>
|
|
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> } <a class="code" href="structdspHookCookie.html">dspHookCookie</a>;</div>
|
|
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * @brief Initializes the dsp service.</span></div>
|
|
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> *</span></div>
|
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> * Call this before calling any DSP_* function.</span></div>
|
|
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * @note This will also unload any previously loaded DSP binary.</span></div>
|
|
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * It is done this way since you have to provide your binary when the 3DS leaves sleep mode anyway.</span></div>
|
|
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="dsp_8h.html#a2722008d6a077f5d444acf4b74a16ba4"> 41</a></span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="dsp_8h.html#a2722008d6a077f5d444acf4b74a16ba4">dspInit</a>(<span class="keywordtype">void</span>);</div>
|
|
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> * @brief Closes the dsp service.</span></div>
|
|
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * @note This will also unload the DSP binary.</span></div>
|
|
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="dsp_8h.html#a59e493df3a168b5724bff5e88f03250b"> 47</a></span> <span class="keywordtype">void</span> <a class="code" href="dsp_8h.html#a59e493df3a168b5724bff5e88f03250b">dspExit</a>(<span class="keywordtype">void</span>);</div>
|
|
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/// Returns true if a component is loaded, false otherwise.</span></div>
|
|
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="dsp_8h.html#af041b7eff2bc87f266687b5879fb36a3"> 50</a></span> <span class="comment"></span><span class="keywordtype">bool</span> <a class="code" href="dsp_8h.html#af041b7eff2bc87f266687b5879fb36a3">dspIsComponentLoaded</a>(<span class="keywordtype">void</span>);</div>
|
|
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> * @brief Sets up a DSP status hook.</span></div>
|
|
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> * @param cookie Hook cookie to use.</span></div>
|
|
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> * @param callback Function to call when DSP's status changes.</span></div>
|
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="dsp_8h.html#a8fa3c1e0eee06626b86e53c0953165ba"> 57</a></span> <span class="keywordtype">void</span> <a class="code" href="dsp_8h.html#a8fa3c1e0eee06626b86e53c0953165ba">dspHook</a>(<a class="code" href="structdspHookCookie.html">dspHookCookie</a>* cookie, <a class="code" href="dsp_8h.html#a0524d9af6690dcf81759f84e820b60e5">dspHookFn</a> callback);</div>
|
|
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> * @brief Removes a DSP status hook.</span></div>
|
|
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> * @param cookie Hook cookie to remove.</span></div>
|
|
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="dsp_8h.html#a867964a36a9985dee363cbf31be9621c"> 63</a></span> <span class="keywordtype">void</span> <a class="code" href="dsp_8h.html#a867964a36a9985dee363cbf31be9621c">dspUnhook</a>(<a class="code" href="structdspHookCookie.html">dspHookCookie</a>* cookie);</div>
|
|
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> * @brief Checks if a headphone is inserted.</span></div>
|
|
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> * @param is_inserted Pointer to output the insertion status to.</span></div>
|
|
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="dsp_8h.html#acd1bc0605288e307586d0e9535e3c8e4"> 69</a></span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="dsp_8h.html#acd1bc0605288e307586d0e9535e3c8e4">DSP_GetHeadphoneStatus</a>(<span class="keywordtype">bool</span>* is_inserted);</div>
|
|
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> * @brief Flushes the cache</span></div>
|
|
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> * @param address Beginning of the memory range to flush, inside the Linear or DSP memory regions</span></div>
|
|
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> * @param size Size of the memory range to flush</span></div>
|
|
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> *</span></div>
|
|
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> * Flushes the cache for the specified memory range and invalidates the cache</span></div>
|
|
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="dsp_8h.html#a0668b4d621800adab729d50a616e09d1"> 78</a></span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="dsp_8h.html#a0668b4d621800adab729d50a616e09d1">DSP_FlushDataCache</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* address, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size);</div>
|
|
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> * @brief Invalidates the cache</span></div>
|
|
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> * @param address Beginning of the memory range to invalidate, inside the Linear or DSP memory regions</span></div>
|
|
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> * @param size Size of the memory range to flush</span></div>
|
|
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> *</span></div>
|
|
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> * Invalidates the cache for the specified memory range</span></div>
|
|
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="dsp_8h.html#ab964b185704e2e92200d69e9cec9efeb"> 87</a></span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="dsp_8h.html#ab964b185704e2e92200d69e9cec9efeb">DSP_InvalidateDataCache</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* address, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size);</div>
|
|
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> * @brief Retrieves the handle of the DSP semaphore.</span></div>
|
|
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> * @param semaphore Pointer to output the semaphore to.</span></div>
|
|
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="dsp_8h.html#ad02522bc41ec6161a24b6aee6fd30b17"> 93</a></span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="dsp_8h.html#ad02522bc41ec6161a24b6aee6fd30b17">DSP_GetSemaphoreHandle</a>(<a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* semaphore);</div>
|
|
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> * @brief Sets the DSP hardware semaphore value.</span></div>
|
|
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> * @param value Value to set.</span></div>
|
|
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="dsp_8h.html#a9dffd384a71ffa4a3b4c85fddb0392e6"> 99</a></span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="dsp_8h.html#a9dffd384a71ffa4a3b4c85fddb0392e6">DSP_SetSemaphore</a>(<a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> value);</div>
|
|
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> * @brief Masks the DSP hardware semaphore value.</span></div>
|
|
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> * @param mask Mask to apply.</span></div>
|
|
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="dsp_8h.html#a376cfd4e6487ef063bf2b73e1c028188"> 105</a></span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="dsp_8h.html#a376cfd4e6487ef063bf2b73e1c028188">DSP_SetSemaphoreMask</a>(<a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> mask);</div>
|
|
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> * @brief Loads a DSP binary and starts the DSP</span></div>
|
|
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> * @param component The program file address in memory</span></div>
|
|
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> * @param size The size of the program</span></div>
|
|
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> * @param prog_mask DSP memory block related ? Default is 0xff.</span></div>
|
|
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> * @param data_mask DSP memory block related ? Default is 0xff.</span></div>
|
|
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> * @param is_loaded Indicates if the DSP was succesfully loaded.</span></div>
|
|
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> *</span></div>
|
|
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> * @note The binary must be signed (http://3dbrew.org/wiki/DSP_Binary)</span></div>
|
|
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> * @note Seems to be called when the 3ds leaves the Sleep mode</span></div>
|
|
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="dsp_8h.html#a5a7a4f0bf256694245ce0c4bb58194b9"> 118</a></span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="dsp_8h.html#a5a7a4f0bf256694245ce0c4bb58194b9">DSP_LoadComponent</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* component, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size, <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> prog_mask, <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> data_mask, <span class="keywordtype">bool</span>* is_loaded);</div>
|
|
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment">///Stops the DSP by unloading the binary.</span></div>
|
|
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="dsp_8h.html#abbe3be0f80719eee26aa3e894fd7496f"> 121</a></span> <span class="comment"></span><a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="dsp_8h.html#abbe3be0f80719eee26aa3e894fd7496f">DSP_UnloadComponent</a>(<span class="keywordtype">void</span>);</div>
|
|
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> * @brief Registers an event handle with the DSP through IPC</span></div>
|
|
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"> * @param handle Event handle to register.</span></div>
|
|
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> * @param interrupt The type of interrupt that will trigger the event. Usual value is DSP_INTERRUPT_PIPE.</span></div>
|
|
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> * @param channel The pipe channel. Usual value is 2</span></div>
|
|
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> *</span></div>
|
|
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> * @note It is possible that interrupt are inverted</span></div>
|
|
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="dsp_8h.html#a1c88b0c126dd6839f24d2ea05d2b174f"> 131</a></span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="dsp_8h.html#a1c88b0c126dd6839f24d2ea05d2b174f">DSP_RegisterInterruptEvents</a>(<a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> interrupt, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> channel);</div>
|
|
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment"> * @brief Reads a pipe if possible.</span></div>
|
|
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment"> * @param channel unknown. Usually 2</span></div>
|
|
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment"> * @param peer unknown. Usually 0</span></div>
|
|
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"> * @param buffer The buffer that will store the values read from the pipe</span></div>
|
|
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> * @param length Length of the buffer</span></div>
|
|
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment"> * @param length_read Number of bytes read by the command</span></div>
|
|
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="dsp_8h.html#a86dec214011d3a9d11c7b25a68ca787d"> 141</a></span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="dsp_8h.html#a86dec214011d3a9d11c7b25a68ca787d">DSP_ReadPipeIfPossible</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> channel, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> peer, <span class="keywordtype">void</span>* buffer, <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> length, <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a>* length_read);</div>
|
|
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"> * @brief Writes to a pipe.</span></div>
|
|
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment"> * @param channel unknown. Usually 2</span></div>
|
|
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment"> * @param buffer The message to send to the DSP process</span></div>
|
|
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment"> * @param length Length of the message</span></div>
|
|
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="dsp_8h.html#a1eab85acd5e8b238695723405517e5a1"> 149</a></span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="dsp_8h.html#a1eab85acd5e8b238695723405517e5a1">DSP_WriteProcessPipe</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> channel, <span class="keyword">const</span> <span class="keywordtype">void</span>* buffer, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> length);</div>
|
|
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment"> * @brief Converts a DSP memory address to a virtual address usable by the process.</span></div>
|
|
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment"> * @param dsp_address Address to convert.</span></div>
|
|
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"> * @param arm_address Pointer to output the converted address to.</span></div>
|
|
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="dsp_8h.html#a6fdd9cc055ccd78a709e725d9c4eda59"> 156</a></span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="dsp_8h.html#a6fdd9cc055ccd78a709e725d9c4eda59">DSP_ConvertProcessAddressFromDspDram</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> dsp_address, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* arm_address);</div>
|
|
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment"> * @brief Reads a DSP register</span></div>
|
|
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment"> * @param regNo Offset of the hardware register, base address is 0x1EC40000</span></div>
|
|
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment"> * @param value Pointer to read the register value to.</span></div>
|
|
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="dsp_8h.html#aad15502e5eab6c13e41e84a64650a205"> 163</a></span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="dsp_8h.html#aad15502e5eab6c13e41e84a64650a205">DSP_RecvData</a>(<a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> regNo, <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a>* value);</div>
|
|
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> * @brief Checks if you can read a DSP register</span></div>
|
|
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment"> * @param regNo Offset of the hardware register, base address is 0x1EC40000</span></div>
|
|
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment"> * @param is_ready Pointer to write the ready status to.</span></div>
|
|
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment"> *</span></div>
|
|
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment"> * @warning This call might hang if the data is not ready. See @ref DSP_SendDataIsEmpty.</span></div>
|
|
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="dsp_8h.html#a5c5cfac7298789b5c2153a55a5f72609"> 172</a></span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="dsp_8h.html#a5c5cfac7298789b5c2153a55a5f72609">DSP_RecvDataIsReady</a>(<a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> regNo, <span class="keywordtype">bool</span>* is_ready);</div>
|
|
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment"> * @brief Writes to a DSP register</span></div>
|
|
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment"> * @param regNo Offset of the hardware register, base address is 0x1EC40000</span></div>
|
|
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment"> * @param value Value to write.</span></div>
|
|
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment"> *</span></div>
|
|
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment"> * @warning This call might hang if the SendData is not empty. See @ref DSP_SendDataIsEmpty.</span></div>
|
|
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="dsp_8h.html#a3212e65ccea959f36726ffbdc632e536"> 181</a></span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="dsp_8h.html#a3212e65ccea959f36726ffbdc632e536">DSP_SendData</a>(<a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> regNo, <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> value);</div>
|
|
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment"> * @brief Checks if you can write to a DSP register ?</span></div>
|
|
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"> * @param regNo Offset of the hardware register, base address is 0x1EC40000</span></div>
|
|
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment"> * @param is_empty Pointer to write the empty status to.</span></div>
|
|
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="dsp_8h.html#ab21632f764ffae7fb282325ee4f95d50"> 188</a></span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="dsp_8h.html#ab21632f764ffae7fb282325ee4f95d50">DSP_SendDataIsEmpty</a>(<a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> regNo, <span class="keywordtype">bool</span>* is_empty);</div>
|
|
<div class="ttc" id="adsp_8h_html_a0524d9af6690dcf81759f84e820b60e5"><div class="ttname"><a href="dsp_8h.html#a0524d9af6690dcf81759f84e820b60e5">dspHookFn</a></div><div class="ttdeci">void(* dspHookFn)(DSP_HookType hook)</div><div class="ttdoc">DSP hook function.</div><div class="ttdef"><b>Definition:</b> dsp.h:25</div></div>
|
|
<div class="ttc" id="adsp_8h_html_a0668b4d621800adab729d50a616e09d1"><div class="ttname"><a href="dsp_8h.html#a0668b4d621800adab729d50a616e09d1">DSP_FlushDataCache</a></div><div class="ttdeci">Result DSP_FlushDataCache(const void *address, u32 size)</div><div class="ttdoc">Flushes the cache.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_a1c88b0c126dd6839f24d2ea05d2b174f"><div class="ttname"><a href="dsp_8h.html#a1c88b0c126dd6839f24d2ea05d2b174f">DSP_RegisterInterruptEvents</a></div><div class="ttdeci">Result DSP_RegisterInterruptEvents(Handle handle, u32 interrupt, u32 channel)</div><div class="ttdoc">Registers an event handle with the DSP through IPC.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_a1eab85acd5e8b238695723405517e5a1"><div class="ttname"><a href="dsp_8h.html#a1eab85acd5e8b238695723405517e5a1">DSP_WriteProcessPipe</a></div><div class="ttdeci">Result DSP_WriteProcessPipe(u32 channel, const void *buffer, u32 length)</div><div class="ttdoc">Writes to a pipe.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_a2722008d6a077f5d444acf4b74a16ba4"><div class="ttname"><a href="dsp_8h.html#a2722008d6a077f5d444acf4b74a16ba4">dspInit</a></div><div class="ttdeci">Result dspInit(void)</div><div class="ttdoc">Initializes the dsp service.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_a3212e65ccea959f36726ffbdc632e536"><div class="ttname"><a href="dsp_8h.html#a3212e65ccea959f36726ffbdc632e536">DSP_SendData</a></div><div class="ttdeci">Result DSP_SendData(u16 regNo, u16 value)</div><div class="ttdoc">Writes to a DSP register.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_a376cfd4e6487ef063bf2b73e1c028188"><div class="ttname"><a href="dsp_8h.html#a376cfd4e6487ef063bf2b73e1c028188">DSP_SetSemaphoreMask</a></div><div class="ttdeci">Result DSP_SetSemaphoreMask(u16 mask)</div><div class="ttdoc">Masks the DSP hardware semaphore value.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_a59e493df3a168b5724bff5e88f03250b"><div class="ttname"><a href="dsp_8h.html#a59e493df3a168b5724bff5e88f03250b">dspExit</a></div><div class="ttdeci">void dspExit(void)</div><div class="ttdoc">Closes the dsp service.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_a5a7a4f0bf256694245ce0c4bb58194b9"><div class="ttname"><a href="dsp_8h.html#a5a7a4f0bf256694245ce0c4bb58194b9">DSP_LoadComponent</a></div><div class="ttdeci">Result DSP_LoadComponent(const void *component, u32 size, u16 prog_mask, u16 data_mask, bool *is_loaded)</div><div class="ttdoc">Loads a DSP binary and starts the DSP.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_a5c5cfac7298789b5c2153a55a5f72609"><div class="ttname"><a href="dsp_8h.html#a5c5cfac7298789b5c2153a55a5f72609">DSP_RecvDataIsReady</a></div><div class="ttdeci">Result DSP_RecvDataIsReady(u16 regNo, bool *is_ready)</div><div class="ttdoc">Checks if you can read a DSP register.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_a6fdd9cc055ccd78a709e725d9c4eda59"><div class="ttname"><a href="dsp_8h.html#a6fdd9cc055ccd78a709e725d9c4eda59">DSP_ConvertProcessAddressFromDspDram</a></div><div class="ttdeci">Result DSP_ConvertProcessAddressFromDspDram(u32 dsp_address, u32 *arm_address)</div><div class="ttdoc">Converts a DSP memory address to a virtual address usable by the process.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_a867964a36a9985dee363cbf31be9621c"><div class="ttname"><a href="dsp_8h.html#a867964a36a9985dee363cbf31be9621c">dspUnhook</a></div><div class="ttdeci">void dspUnhook(dspHookCookie *cookie)</div><div class="ttdoc">Removes a DSP status hook.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_a86dec214011d3a9d11c7b25a68ca787d"><div class="ttname"><a href="dsp_8h.html#a86dec214011d3a9d11c7b25a68ca787d">DSP_ReadPipeIfPossible</a></div><div class="ttdeci">Result DSP_ReadPipeIfPossible(u32 channel, u32 peer, void *buffer, u16 length, u16 *length_read)</div><div class="ttdoc">Reads a pipe if possible.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_a8fa3c1e0eee06626b86e53c0953165ba"><div class="ttname"><a href="dsp_8h.html#a8fa3c1e0eee06626b86e53c0953165ba">dspHook</a></div><div class="ttdeci">void dspHook(dspHookCookie *cookie, dspHookFn callback)</div><div class="ttdoc">Sets up a DSP status hook.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_a9dffd384a71ffa4a3b4c85fddb0392e6"><div class="ttname"><a href="dsp_8h.html#a9dffd384a71ffa4a3b4c85fddb0392e6">DSP_SetSemaphore</a></div><div class="ttdeci">Result DSP_SetSemaphore(u16 value)</div><div class="ttdoc">Sets the DSP hardware semaphore value.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_aad15502e5eab6c13e41e84a64650a205"><div class="ttname"><a href="dsp_8h.html#aad15502e5eab6c13e41e84a64650a205">DSP_RecvData</a></div><div class="ttdeci">Result DSP_RecvData(u16 regNo, u16 *value)</div><div class="ttdoc">Reads a DSP register.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_ab0628a987bd913080b9aaf672737061e"><div class="ttname"><a href="dsp_8h.html#ab0628a987bd913080b9aaf672737061e">DSP_InterruptType</a></div><div class="ttdeci">DSP_InterruptType</div><div class="ttdoc">DSP interrupt types.</div><div class="ttdef"><b>Definition:</b> dsp.h:12</div></div>
|
|
<div class="ttc" id="adsp_8h_html_ab0628a987bd913080b9aaf672737061eaac8d6062e2ce93a63bf9098955b04046"><div class="ttname"><a href="dsp_8h.html#ab0628a987bd913080b9aaf672737061eaac8d6062e2ce93a63bf9098955b04046">DSP_INTERRUPT_PIPE</a></div><div class="ttdeci">@ DSP_INTERRUPT_PIPE</div><div class="ttdoc">Pipe interrupt.</div><div class="ttdef"><b>Definition:</b> dsp.h:13</div></div>
|
|
<div class="ttc" id="adsp_8h_html_ab21632f764ffae7fb282325ee4f95d50"><div class="ttname"><a href="dsp_8h.html#ab21632f764ffae7fb282325ee4f95d50">DSP_SendDataIsEmpty</a></div><div class="ttdeci">Result DSP_SendDataIsEmpty(u16 regNo, bool *is_empty)</div><div class="ttdoc">Checks if you can write to a DSP register ?</div></div>
|
|
<div class="ttc" id="adsp_8h_html_ab964b185704e2e92200d69e9cec9efeb"><div class="ttname"><a href="dsp_8h.html#ab964b185704e2e92200d69e9cec9efeb">DSP_InvalidateDataCache</a></div><div class="ttdeci">Result DSP_InvalidateDataCache(const void *address, u32 size)</div><div class="ttdoc">Invalidates the cache.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_abbe3be0f80719eee26aa3e894fd7496f"><div class="ttname"><a href="dsp_8h.html#abbe3be0f80719eee26aa3e894fd7496f">DSP_UnloadComponent</a></div><div class="ttdeci">Result DSP_UnloadComponent(void)</div><div class="ttdoc">Stops the DSP by unloading the binary.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_ac1a0e08bb66aa1b6bfefd1e586db2149"><div class="ttname"><a href="dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149">DSP_HookType</a></div><div class="ttdeci">DSP_HookType</div><div class="ttdoc">DSP hook types.</div><div class="ttdef"><b>Definition:</b> dsp.h:18</div></div>
|
|
<div class="ttc" id="adsp_8h_html_ac1a0e08bb66aa1b6bfefd1e586db2149a683e68506808fbb4cd057972f5b878be"><div class="ttname"><a href="dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149a683e68506808fbb4cd057972f5b878be">DSPHOOK_ONSLEEP</a></div><div class="ttdeci">@ DSPHOOK_ONSLEEP</div><div class="ttdoc">DSP is going to sleep.</div><div class="ttdef"><b>Definition:</b> dsp.h:19</div></div>
|
|
<div class="ttc" id="adsp_8h_html_ac1a0e08bb66aa1b6bfefd1e586db2149a7e0e9212bb8a48bcfe85782714e51e0b"><div class="ttname"><a href="dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149a7e0e9212bb8a48bcfe85782714e51e0b">DSPHOOK_ONCANCEL</a></div><div class="ttdeci">@ DSPHOOK_ONCANCEL</div><div class="ttdoc">DSP was sleeping and the app was cancelled.</div><div class="ttdef"><b>Definition:</b> dsp.h:21</div></div>
|
|
<div class="ttc" id="adsp_8h_html_ac1a0e08bb66aa1b6bfefd1e586db2149ac0e23de4d01222d11f9cf3ae5045a633"><div class="ttname"><a href="dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149ac0e23de4d01222d11f9cf3ae5045a633">DSPHOOK_ONWAKEUP</a></div><div class="ttdeci">@ DSPHOOK_ONWAKEUP</div><div class="ttdoc">DSP is waking up.</div><div class="ttdef"><b>Definition:</b> dsp.h:20</div></div>
|
|
<div class="ttc" id="adsp_8h_html_acd1bc0605288e307586d0e9535e3c8e4"><div class="ttname"><a href="dsp_8h.html#acd1bc0605288e307586d0e9535e3c8e4">DSP_GetHeadphoneStatus</a></div><div class="ttdeci">Result DSP_GetHeadphoneStatus(bool *is_inserted)</div><div class="ttdoc">Checks if a headphone is inserted.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_ad02522bc41ec6161a24b6aee6fd30b17"><div class="ttname"><a href="dsp_8h.html#ad02522bc41ec6161a24b6aee6fd30b17">DSP_GetSemaphoreHandle</a></div><div class="ttdeci">Result DSP_GetSemaphoreHandle(Handle *semaphore)</div><div class="ttdoc">Retrieves the handle of the DSP semaphore.</div></div>
|
|
<div class="ttc" id="adsp_8h_html_af041b7eff2bc87f266687b5879fb36a3"><div class="ttname"><a href="dsp_8h.html#af041b7eff2bc87f266687b5879fb36a3">dspIsComponentLoaded</a></div><div class="ttdeci">bool dspIsComponentLoaded(void)</div><div class="ttdoc">Returns true if a component is loaded, false otherwise.</div></div>
|
|
<div class="ttc" id="astructdspHookCookie_html"><div class="ttname"><a href="structdspHookCookie.html">dspHookCookie</a></div><div class="ttdoc">DSP hook cookie.</div><div class="ttdef"><b>Definition:</b> dsp.h:29</div></div>
|
|
<div class="ttc" id="astructdspHookCookie_html_aaaa2ec6d05daa82cba31ee125d0a3f69"><div class="ttname"><a href="structdspHookCookie.html#aaaa2ec6d05daa82cba31ee125d0a3f69">dspHookCookie::next</a></div><div class="ttdeci">struct tag_dspHookCookie * next</div><div class="ttdoc">Next cookie.</div><div class="ttdef"><b>Definition:</b> dsp.h:30</div></div>
|
|
<div class="ttc" id="astructdspHookCookie_html_ae39e34b3bae234fa8e2c9554af0be658"><div class="ttname"><a href="structdspHookCookie.html#ae39e34b3bae234fa8e2c9554af0be658">dspHookCookie::callback</a></div><div class="ttdeci">dspHookFn callback</div><div class="ttdoc">Hook callback.</div><div class="ttdef"><b>Definition:</b> dsp.h:31</div></div>
|
|
<div class="ttc" id="atypes_8h_html"><div class="ttname"><a href="types_8h.html">types.h</a></div><div class="ttdoc">Various system types.</div></div>
|
|
<div class="ttc" id="atypes_8h_html_ab6d744c6b5de129f12937e482dc674fb"><div class="ttname"><a href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a></div><div class="ttdeci">u32 Handle</div><div class="ttdoc">Resource handle.</div><div class="ttdef"><b>Definition:</b> types.h:41</div></div>
|
|
<div class="ttc" id="atypes_8h_html_ac830bf5a4f2cf8273f61ab99a46cf163"><div class="ttname"><a href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a></div><div class="ttdeci">s32 Result</div><div class="ttdoc">Function result.</div><div class="ttdef"><b>Definition:</b> types.h:42</div></div>
|
|
<div class="ttc" id="atypes_8h_html_ace9d960e74685e2cd84b36132dbbf8aa"><div class="ttname"><a href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a></div><div class="ttdeci">uint16_t u16</div><div class="ttdoc">16-bit unsigned integer</div><div class="ttdef"><b>Definition:</b> types.h:22</div></div>
|
|
<div class="ttc" id="atypes_8h_html_afaa62991928fb9fb18ff0db62a040aba"><div class="ttname"><a href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a></div><div class="ttdeci">uint32_t u32</div><div class="ttdoc">32-bit unsigned integer</div><div class="ttdef"><b>Definition:</b> types.h:23</div></div>
|
|
</div><!-- fragment --></div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
|
|
</small></address>
|
|
</body>
|
|
</html>
|