390 lines
59 KiB
HTML
390 lines
59 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: camera/video/source/main.c</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>
|
|
</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">camera/video/source/main.c</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="fragment"><div class="line"><span class="preprocessor">#include <stdio.h></span></div>
|
|
<div class="line"><span class="preprocessor">#include <string.h></span></div>
|
|
<div class="line"><span class="preprocessor">#include <stdlib.h></span></div>
|
|
<div class="line"><span class="preprocessor">#include <malloc.h></span></div>
|
|
<div class="line"><span class="preprocessor">#include <setjmp.h></span></div>
|
|
<div class="line"><span class="preprocessor">#include <<a class="code" href="3ds_8h.html">3ds.h</a>></span></div>
|
|
<div class="line"><span class="preprocessor">#include <sys/dirent.h></span></div>
|
|
<div class="line"><span class="preprocessor">#include <sys/errno.h></span></div>
|
|
<div class="line"><span class="preprocessor">#include <sys/unistd.h></span></div>
|
|
<div class="line"><span class="preprocessor">#include <stdbool.h></span></div>
|
|
<div class="line"> </div>
|
|
<div class="line"><span class="preprocessor">#define CONFIG_3D_SLIDERSTATE (*(volatile float*)0x1FF81080)</span></div>
|
|
<div class="line"><span class="preprocessor">#define WAIT_TIMEOUT 1000000000ULL</span></div>
|
|
<div class="line"> </div>
|
|
<div class="line"><span class="preprocessor">#define WIDTH 400</span></div>
|
|
<div class="line"><span class="preprocessor">#define HEIGHT 240</span></div>
|
|
<div class="line"><span class="preprocessor">#define SCREEN_SIZE WIDTH * HEIGHT * 2</span></div>
|
|
<div class="line"><span class="preprocessor">#define BUF_SIZE SCREEN_SIZE * 2</span></div>
|
|
<div class="line"> </div>
|
|
<div class="line"><span class="keyword">static</span> jmp_buf exitJmp;</div>
|
|
<div class="line"> </div>
|
|
<div class="line"><span class="keyword">inline</span> <span class="keywordtype">void</span> clearScreen(<span class="keywordtype">void</span>) {</div>
|
|
<div class="line"> <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *frame = <a name="a0"></a><a class="code" href="gfx_8h.html#a332447352568e250a75397a1b2e452db">gfxGetFramebuffer</a>(<a name="a1"></a><a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09cac1be8c2dee1ab5520b30ba069afa7541">GFX_BOTTOM</a>, <a name="a2"></a><a class="code" href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1bfda6a35adc49eb4631246ea4e637e1">GFX_LEFT</a>, NULL, NULL);</div>
|
|
<div class="line"> memset(frame, 0, 320 * 240 * 3);</div>
|
|
<div class="line">}</div>
|
|
<div class="line"> </div>
|
|
<div class="line"><span class="keywordtype">void</span> hang(<span class="keywordtype">char</span> *message) {</div>
|
|
<div class="line"> clearScreen();</div>
|
|
<div class="line"> printf(<span class="stringliteral">"%s"</span>, message);</div>
|
|
<div class="line"> printf(<span class="stringliteral">"Press start to exit"</span>);</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="keywordflow">while</span> (<a name="a3"></a><a class="code" href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a>()) {</div>
|
|
<div class="line"> <a name="a4"></a><a class="code" href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a>();</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kHeld = <a name="a5"></a><a class="code" href="hid_8h.html#a68e8fd75a99650db835f045676a47949">hidKeysHeld</a>();</div>
|
|
<div class="line"> <span class="keywordflow">if</span> (kHeld & <a name="a6"></a><a class="code" href="hid_8h.html#a531c35e38ede3ea4e5ba5afb24b29493a616a1f5c4ed36080ca954453084aea3b">KEY_START</a>) longjmp(exitJmp, 1);</div>
|
|
<div class="line"> }</div>
|
|
<div class="line">}</div>
|
|
<div class="line"> </div>
|
|
<div class="line"><span class="keywordtype">void</span> cleanup() {</div>
|
|
<div class="line"> <a name="a7"></a><a class="code" href="cam_8h.html#a7320e9aa5e1f26b87c19b3f6278bc3a2">camExit</a>();</div>
|
|
<div class="line"> <a name="a8"></a><a class="code" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a>();</div>
|
|
<div class="line"> <a name="a9"></a><a class="code" href="ac_8h.html#ab850baa702c4063eeae48e158e4fb889">acExit</a>();</div>
|
|
<div class="line">}</div>
|
|
<div class="line"> </div>
|
|
<div class="line"><span class="keywordtype">void</span> writePictureToFramebufferRGB565(<span class="keywordtype">void</span> *fb, <span class="keywordtype">void</span> *img, <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> x, <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> y, <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> width, <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> height) {</div>
|
|
<div class="line"> <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *fb_8 = (<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>*) fb;</div>
|
|
<div class="line"> <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> *img_16 = (<a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a>*) img;</div>
|
|
<div class="line"> <span class="keywordtype">int</span> i, j, draw_x, draw_y;</div>
|
|
<div class="line"> <span class="keywordflow">for</span>(j = 0; j < height; j++) {</div>
|
|
<div class="line"> <span class="keywordflow">for</span>(i = 0; i < width; i++) {</div>
|
|
<div class="line"> draw_y = y + height - j;</div>
|
|
<div class="line"> draw_x = x + i;</div>
|
|
<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> v = (draw_y + draw_x * height) * 3;</div>
|
|
<div class="line"> <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> data = img_16[j * width + i];</div>
|
|
<div class="line"> uint8_t b = ((data >> 11) & 0x1F) << 3;</div>
|
|
<div class="line"> uint8_t g = ((data >> 5) & 0x3F) << 2;</div>
|
|
<div class="line"> uint8_t r = (data & 0x1F) << 3;</div>
|
|
<div class="line"> fb_8[v] = r;</div>
|
|
<div class="line"> fb_8[v+1] = g;</div>
|
|
<div class="line"> fb_8[v+2] = b;</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> }</div>
|
|
<div class="line">}</div>
|
|
<div class="line"> </div>
|
|
<div class="line"><span class="comment">// TODO: Figure out how to use CAMU_GetStereoCameraCalibrationData</span></div>
|
|
<div class="line"><span class="keywordtype">void</span> takePicture3D(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *buf) {</div>
|
|
<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> bufSize;</div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_GetMaxBytes: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a10"></a><a class="code" href="cam_8h.html#af6b13cf2219bfa0a7b39d7469934290d">CAMU_GetMaxBytes</a>(&bufSize, WIDTH, HEIGHT));</div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_SetTransferBytes: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a11"></a><a class="code" href="cam_8h.html#a1f8d58a8ab60d5bbea24236c5005ea9b">CAMU_SetTransferBytes</a>(<a name="a12"></a><a class="code" href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa2e0e7944e8121739c73f311a974ee28f">PORT_BOTH</a>, bufSize, WIDTH, HEIGHT));</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_Activate: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a13"></a><a class="code" href="cam_8h.html#addadfc1fddea8746332b80f4950202fc">CAMU_Activate</a>(<a name="a14"></a><a class="code" href="cam_8h.html#afb730582952b7ceec73d7dc9bf7bef39ae1e625e63a3c56c0d29626709b6f13ad">SELECT_OUT1_OUT2</a>));</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> camReceiveEvent = 0;</div>
|
|
<div class="line"> <a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> camReceiveEvent2 = 0;</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_ClearBuffer: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a15"></a><a class="code" href="cam_8h.html#a21fb88a5c8f92ab9c8c912b19d2737f6">CAMU_ClearBuffer</a>(<a class="code" href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa2e0e7944e8121739c73f311a974ee28f">PORT_BOTH</a>));</div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_SynchronizeVsyncTiming: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a16"></a><a class="code" href="cam_8h.html#a03f597eddc0ed77c9902d61d6ed4895a">CAMU_SynchronizeVsyncTiming</a>(<a name="a17"></a><a class="code" href="cam_8h.html#afb730582952b7ceec73d7dc9bf7bef39a218ada760e4ddb14099afb5d6ea88f9a">SELECT_OUT1</a>, <a name="a18"></a><a class="code" href="cam_8h.html#afb730582952b7ceec73d7dc9bf7bef39a23c791f6f4305b8c3cc776f1d81dd2c7">SELECT_OUT2</a>));</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_StartCapture: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a19"></a><a class="code" href="cam_8h.html#a321b6139a95d71a26633179c5c526cba">CAMU_StartCapture</a>(<a class="code" href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa2e0e7944e8121739c73f311a974ee28f">PORT_BOTH</a>));</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_SetReceiving: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a20"></a><a class="code" href="cam_8h.html#a051348b051d6491a6e19b2a3245730b9">CAMU_SetReceiving</a>(&camReceiveEvent, buf, <a name="a21"></a><a class="code" href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa83fd114c6c8ad6ed0db9c579935a63ce">PORT_CAM1</a>, SCREEN_SIZE, (<a class="code" href="types_8h.html#aa980e2c02ba2305e0f489d5650655425">s16</a>) bufSize));</div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_SetReceiving: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="cam_8h.html#a051348b051d6491a6e19b2a3245730b9">CAMU_SetReceiving</a>(&camReceiveEvent2, buf + SCREEN_SIZE, <a name="a22"></a><a class="code" href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa17f56155f8d240bf81deab2f5598fe6a">PORT_CAM2</a>, SCREEN_SIZE, (<a class="code" href="types_8h.html#aa980e2c02ba2305e0f489d5650655425">s16</a>) bufSize));</div>
|
|
<div class="line"> printf(<span class="stringliteral">"svcWaitSynchronization: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a23"></a><a class="code" href="svc_8h.html#a4eabaa7c25d17e79026434564d484c82">svcWaitSynchronization</a>(camReceiveEvent, WAIT_TIMEOUT));</div>
|
|
<div class="line"> printf(<span class="stringliteral">"svcWaitSynchronization: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="svc_8h.html#a4eabaa7c25d17e79026434564d484c82">svcWaitSynchronization</a>(camReceiveEvent2, WAIT_TIMEOUT));</div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_PlayShutterSound: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a24"></a><a class="code" href="cam_8h.html#ae5698f06cef570204824ddf1e30423fe">CAMU_PlayShutterSound</a>(<a name="a25"></a><a class="code" href="cam_8h.html#a5059b91f27e994c2f4ef4a6c9d454675a7040268ea714fb4a174ea01ef98f38db">SHUTTER_SOUND_TYPE_NORMAL</a>));</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_StopCapture: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a26"></a><a class="code" href="cam_8h.html#a853e49e43d5ea322e6629909538a3d37">CAMU_StopCapture</a>(<a class="code" href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa2e0e7944e8121739c73f311a974ee28f">PORT_BOTH</a>));</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <a name="a27"></a><a class="code" href="svc_8h.html#a09f47e8301d61442fc76727da0b0554c">svcCloseHandle</a>(camReceiveEvent);</div>
|
|
<div class="line"> <a class="code" href="svc_8h.html#a09f47e8301d61442fc76727da0b0554c">svcCloseHandle</a>(camReceiveEvent2);</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_Activate: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="cam_8h.html#addadfc1fddea8746332b80f4950202fc">CAMU_Activate</a>(<a name="a28"></a><a class="code" href="cam_8h.html#afb730582952b7ceec73d7dc9bf7bef39ac1719a15be93e987683f7a8e817c16f9">SELECT_NONE</a>));</div>
|
|
<div class="line">}</div>
|
|
<div class="line"> </div>
|
|
<div class="line"><span class="keywordtype">int</span> main() {</div>
|
|
<div class="line"> <span class="comment">// Initializations</span></div>
|
|
<div class="line"> <a name="a29"></a><a class="code" href="ac_8h.html#aec40390a48ac6df3cfac242613a84590">acInit</a>();</div>
|
|
<div class="line"> <a name="a30"></a><a class="code" href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfxInitDefault</a>();</div>
|
|
<div class="line"> <a name="a31"></a><a class="code" href="console_8h.html#a8e014e84f81ff901ca62d7669a8c8de8">consoleInit</a>(<a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09cac1be8c2dee1ab5520b30ba069afa7541">GFX_BOTTOM</a>, NULL);</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="comment">// Enable double buffering to remove screen tearing</span></div>
|
|
<div class="line"> <a name="a32"></a><a class="code" href="gfx_8h.html#a9f57f3b6f2e6817c6457d005887fa128">gfxSetDoubleBuffering</a>(<a name="a33"></a><a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, <span class="keyword">true</span>);</div>
|
|
<div class="line"> <a class="code" href="gfx_8h.html#a9f57f3b6f2e6817c6457d005887fa128">gfxSetDoubleBuffering</a>(<a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09cac1be8c2dee1ab5520b30ba069afa7541">GFX_BOTTOM</a>, <span class="keyword">false</span>);</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="comment">// Save current stack frame for easy exit</span></div>
|
|
<div class="line"> <span class="keywordflow">if</span>(setjmp(exitJmp)) {</div>
|
|
<div class="line"> cleanup();</div>
|
|
<div class="line"> <span class="keywordflow">return</span> 0;</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kDown;</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"Initializing camera\n"</span>);</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"camInit: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a34"></a><a class="code" href="cam_8h.html#a06e244701975c47e50c77be6df2bca49">camInit</a>());</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_SetSize: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a35"></a><a class="code" href="cam_8h.html#aa771b12ec44b48b19e2621a12cd67072">CAMU_SetSize</a>(<a class="code" href="cam_8h.html#afb730582952b7ceec73d7dc9bf7bef39ae1e625e63a3c56c0d29626709b6f13ad">SELECT_OUT1_OUT2</a>, <a name="a36"></a><a class="code" href="cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aa5323d2323661285fdd5bd9cb3548c752">SIZE_CTR_TOP_LCD</a>, <a name="a37"></a><a class="code" href="cam_8h.html#a67d15fdc4b48f745530df1f27f3d5255a4c8b59d076b8ec347a3e1967408c4fa6">CONTEXT_A</a>));</div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_SetOutputFormat: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a38"></a><a class="code" href="cam_8h.html#aec8bbd9f72a6a623d9f45d54ee20b5cd">CAMU_SetOutputFormat</a>(<a class="code" href="cam_8h.html#afb730582952b7ceec73d7dc9bf7bef39ae1e625e63a3c56c0d29626709b6f13ad">SELECT_OUT1_OUT2</a>, <a name="a39"></a><a class="code" href="cam_8h.html#a3984303a5065c81cd8a565489c8fff85a17d4aba3a605114a3de59c55de06e4e2">OUTPUT_RGB_565</a>, <a class="code" href="cam_8h.html#a67d15fdc4b48f745530df1f27f3d5255a4c8b59d076b8ec347a3e1967408c4fa6">CONTEXT_A</a>));</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_SetFrameRate: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a40"></a><a class="code" href="cam_8h.html#a6337271d6b3abb3d778a09ae28b33e17">CAMU_SetFrameRate</a>(<a class="code" href="cam_8h.html#afb730582952b7ceec73d7dc9bf7bef39ae1e625e63a3c56c0d29626709b6f13ad">SELECT_OUT1_OUT2</a>, <a name="a41"></a><a class="code" href="cam_8h.html#a3a68c3565d2fec0c45be091333b16688a3acf5f2854e10db6cecf2a3b872f04ef">FRAME_RATE_30</a>));</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_SetNoiseFilter: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a42"></a><a class="code" href="cam_8h.html#a0dad6fe5ae97a214d7d2e8be0bb39762">CAMU_SetNoiseFilter</a>(<a class="code" href="cam_8h.html#afb730582952b7ceec73d7dc9bf7bef39ae1e625e63a3c56c0d29626709b6f13ad">SELECT_OUT1_OUT2</a>, <span class="keyword">true</span>));</div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_SetAutoExposure: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a43"></a><a class="code" href="cam_8h.html#a2744bf6c18862bc601718880de5ed322">CAMU_SetAutoExposure</a>(<a class="code" href="cam_8h.html#afb730582952b7ceec73d7dc9bf7bef39ae1e625e63a3c56c0d29626709b6f13ad">SELECT_OUT1_OUT2</a>, <span class="keyword">true</span>));</div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_SetAutoWhiteBalance: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a44"></a><a class="code" href="cam_8h.html#aed69646332dd45debb55adbf05ceb8ba">CAMU_SetAutoWhiteBalance</a>(<a class="code" href="cam_8h.html#afb730582952b7ceec73d7dc9bf7bef39ae1e625e63a3c56c0d29626709b6f13ad">SELECT_OUT1_OUT2</a>, <span class="keyword">true</span>));</div>
|
|
<div class="line"> <span class="comment">// TODO: Figure out how to use the effects properly.</span></div>
|
|
<div class="line"> <span class="comment">//printf("CAMU_SetEffect: 0x%08X\n", (unsigned int) CAMU_SetEffect(SELECT_OUT1_OUT2, EFFECT_SEPIA, CONTEXT_A));</span></div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_SetTrimming: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a45"></a><a class="code" href="cam_8h.html#acc3f9baecae7a05ad56b3cfca23131b5">CAMU_SetTrimming</a>(<a class="code" href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa83fd114c6c8ad6ed0db9c579935a63ce">PORT_CAM1</a>, <span class="keyword">false</span>));</div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_SetTrimming: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="cam_8h.html#acc3f9baecae7a05ad56b3cfca23131b5">CAMU_SetTrimming</a>(<a class="code" href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa17f56155f8d240bf81deab2f5598fe6a">PORT_CAM2</a>, <span class="keyword">false</span>));</div>
|
|
<div class="line"> <span class="comment">//printf("CAMU_SetTrimmingParamsCenter: 0x%08X\n", (unsigned int) CAMU_SetTrimmingParamsCenter(PORT_CAM1, 512, 240, 512, 384));</span></div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *buf = malloc(BUF_SIZE);</div>
|
|
<div class="line"> <span class="keywordflow">if</span>(!buf) {</div>
|
|
<div class="line"> hang(<span class="stringliteral">"Failed to allocate memory!"</span>);</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> bufSize;</div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_GetMaxBytes: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="cam_8h.html#af6b13cf2219bfa0a7b39d7469934290d">CAMU_GetMaxBytes</a>(&bufSize, WIDTH, HEIGHT));</div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_SetTransferBytes: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="cam_8h.html#a1f8d58a8ab60d5bbea24236c5005ea9b">CAMU_SetTransferBytes</a>(<a class="code" href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa2e0e7944e8121739c73f311a974ee28f">PORT_BOTH</a>, bufSize, WIDTH, HEIGHT));</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_Activate: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="cam_8h.html#addadfc1fddea8746332b80f4950202fc">CAMU_Activate</a>(<a class="code" href="cam_8h.html#afb730582952b7ceec73d7dc9bf7bef39ae1e625e63a3c56c0d29626709b6f13ad">SELECT_OUT1_OUT2</a>));</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> camReceiveEvent[4] = {0};</div>
|
|
<div class="line"> <span class="keywordtype">bool</span> captureInterrupted = <span class="keyword">false</span>;</div>
|
|
<div class="line"> <a class="code" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> index = 0;</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="comment">// events 0 and 1 for interruption</span></div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_GetBufferErrorInterruptEvent: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a46"></a><a class="code" href="cam_8h.html#a2af14ee3d645f6d433b2cc6ea1570ae0">CAMU_GetBufferErrorInterruptEvent</a>(&camReceiveEvent[0], <a class="code" href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa83fd114c6c8ad6ed0db9c579935a63ce">PORT_CAM1</a>));</div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_GetBufferErrorInterruptEvent: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="cam_8h.html#a2af14ee3d645f6d433b2cc6ea1570ae0">CAMU_GetBufferErrorInterruptEvent</a>(&camReceiveEvent[1], <a class="code" href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa17f56155f8d240bf81deab2f5598fe6a">PORT_CAM2</a>));</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_ClearBuffer: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="cam_8h.html#a21fb88a5c8f92ab9c8c912b19d2737f6">CAMU_ClearBuffer</a>(<a class="code" href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa2e0e7944e8121739c73f311a974ee28f">PORT_BOTH</a>));</div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_SynchronizeVsyncTiming: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="cam_8h.html#a03f597eddc0ed77c9902d61d6ed4895a">CAMU_SynchronizeVsyncTiming</a>(<a class="code" href="cam_8h.html#afb730582952b7ceec73d7dc9bf7bef39a218ada760e4ddb14099afb5d6ea88f9a">SELECT_OUT1</a>, <a class="code" href="cam_8h.html#afb730582952b7ceec73d7dc9bf7bef39a23c791f6f4305b8c3cc776f1d81dd2c7">SELECT_OUT2</a>));</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_StartCapture: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="cam_8h.html#a321b6139a95d71a26633179c5c526cba">CAMU_StartCapture</a>(<a class="code" href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa2e0e7944e8121739c73f311a974ee28f">PORT_BOTH</a>));</div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_PlayShutterSound: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="cam_8h.html#ae5698f06cef570204824ddf1e30423fe">CAMU_PlayShutterSound</a>(<a name="a47"></a><a class="code" href="cam_8h.html#a5059b91f27e994c2f4ef4a6c9d454675a5ade087b3d19f8d00ce15420304f0b8c">SHUTTER_SOUND_TYPE_MOVIE</a>));</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <a name="a48"></a><a class="code" href="gfx_8h.html#aea1808bd74fe0c00f9794e455fc8499b">gfxFlushBuffers</a>();</div>
|
|
<div class="line"> <a name="a49"></a><a class="code" href="gspgpu_8h.html#abf0a992835649b5fe90e95d8a58b8c45">gspWaitForVBlank</a>();</div>
|
|
<div class="line"> <a name="a50"></a><a class="code" href="gfx_8h.html#a0f338920111994110975dc0d1360bb1f">gfxSwapBuffers</a>();</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"\nUse slider to enable/disable 3D\n"</span>);</div>
|
|
<div class="line"> printf(<span class="stringliteral">"Press Start to exit to Homebrew Launcher\n"</span>);</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="comment">// Main loop</span></div>
|
|
<div class="line"> <span class="keywordflow">while</span> (<a class="code" href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a>()) {</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="keywordflow">if</span> (!captureInterrupted) {</div>
|
|
<div class="line"> <span class="comment">// Read which buttons are currently pressed or not</span></div>
|
|
<div class="line"> <a class="code" href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a>();</div>
|
|
<div class="line"> kDown = <a name="a51"></a><a class="code" href="hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76">hidKeysDown</a>();</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="comment">// If START button is pressed, break loop and quit</span></div>
|
|
<div class="line"> <span class="keywordflow">if</span> (kDown & <a class="code" href="hid_8h.html#a531c35e38ede3ea4e5ba5afb24b29493a616a1f5c4ed36080ca954453084aea3b">KEY_START</a>) {</div>
|
|
<div class="line"> <span class="keywordflow">break</span>;</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="comment">// events 2 and 3 for capture</span></div>
|
|
<div class="line"> <span class="keywordflow">if</span> (camReceiveEvent[2] == 0) {</div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_SetReceiving: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="cam_8h.html#a051348b051d6491a6e19b2a3245730b9">CAMU_SetReceiving</a>(&camReceiveEvent[2], buf, <a class="code" href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa83fd114c6c8ad6ed0db9c579935a63ce">PORT_CAM1</a>, SCREEN_SIZE, (<a class="code" href="types_8h.html#aa980e2c02ba2305e0f489d5650655425">s16</a>)bufSize));</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> <span class="keywordflow">if</span> (camReceiveEvent[3] == 0) {</div>
|
|
<div class="line"> <a class="code" href="cam_8h.html#a051348b051d6491a6e19b2a3245730b9">CAMU_SetReceiving</a>(&camReceiveEvent[3], buf + SCREEN_SIZE, <a class="code" href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa17f56155f8d240bf81deab2f5598fe6a">PORT_CAM2</a>, SCREEN_SIZE, (<a class="code" href="types_8h.html#aa980e2c02ba2305e0f489d5650655425">s16</a>)bufSize);</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="keywordflow">if</span> (captureInterrupted) {</div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_StartCapture: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="cam_8h.html#a321b6139a95d71a26633179c5c526cba">CAMU_StartCapture</a>(<a class="code" href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa2e0e7944e8121739c73f311a974ee28f">PORT_BOTH</a>));</div>
|
|
<div class="line"> captureInterrupted = <span class="keyword">false</span>;</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"svcWaitSynchronizationN: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a name="a52"></a><a class="code" href="svc_8h.html#a15341b7a1a479ea489a31a145479f5b8">svcWaitSynchronizationN</a>(&index, camReceiveEvent, 4, <span class="keyword">false</span>, WAIT_TIMEOUT));</div>
|
|
<div class="line"> <span class="keywordflow">switch</span> (index) {</div>
|
|
<div class="line"> <span class="keywordflow">case</span> 0:</div>
|
|
<div class="line"> printf(<span class="stringliteral">"svcCloseHandle: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="svc_8h.html#a09f47e8301d61442fc76727da0b0554c">svcCloseHandle</a>(camReceiveEvent[2]));</div>
|
|
<div class="line"> camReceiveEvent[2] = 0;</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> captureInterrupted = <span class="keyword">true</span>;</div>
|
|
<div class="line"> <span class="keywordflow">continue</span>; <span class="comment">//skip screen update</span></div>
|
|
<div class="line"> <span class="keywordflow">break</span>;</div>
|
|
<div class="line"> <span class="keywordflow">case</span> 1:</div>
|
|
<div class="line"> <a class="code" href="svc_8h.html#a09f47e8301d61442fc76727da0b0554c">svcCloseHandle</a>(camReceiveEvent[3]);</div>
|
|
<div class="line"> camReceiveEvent[3] = 0;</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> captureInterrupted = <span class="keyword">true</span>;</div>
|
|
<div class="line"> <span class="keywordflow">continue</span>; <span class="comment">//skip screen update</span></div>
|
|
<div class="line"> <span class="keywordflow">break</span>;</div>
|
|
<div class="line"> <span class="keywordflow">case</span> 2:</div>
|
|
<div class="line"> printf(<span class="stringliteral">"svcCloseHandle: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="svc_8h.html#a09f47e8301d61442fc76727da0b0554c">svcCloseHandle</a>(camReceiveEvent[2]));</div>
|
|
<div class="line"> camReceiveEvent[2] = 0;</div>
|
|
<div class="line"> <span class="keywordflow">break</span>;</div>
|
|
<div class="line"> <span class="keywordflow">case</span> 3:</div>
|
|
<div class="line"> <a class="code" href="svc_8h.html#a09f47e8301d61442fc76727da0b0554c">svcCloseHandle</a>(camReceiveEvent[3]);</div>
|
|
<div class="line"> camReceiveEvent[3] = 0;</div>
|
|
<div class="line"> <span class="keywordflow">break</span>;</div>
|
|
<div class="line"> <span class="keywordflow">default</span>:</div>
|
|
<div class="line"> <span class="keywordflow">break</span>;</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="keywordflow">if</span>(CONFIG_3D_SLIDERSTATE > 0.0f) {</div>
|
|
<div class="line"> <a name="a53"></a><a class="code" href="gfx_8h.html#a7b5743ba9ce490263b12d1575af7ebc1">gfxSet3D</a>(<span class="keyword">true</span>);</div>
|
|
<div class="line"> writePictureToFramebufferRGB565(<a class="code" href="gfx_8h.html#a332447352568e250a75397a1b2e452db">gfxGetFramebuffer</a>(<a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, <a class="code" href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1bfda6a35adc49eb4631246ea4e637e1">GFX_LEFT</a>, NULL, NULL), buf, 0, 0, WIDTH, HEIGHT);</div>
|
|
<div class="line"> writePictureToFramebufferRGB565(<a class="code" href="gfx_8h.html#a332447352568e250a75397a1b2e452db">gfxGetFramebuffer</a>(<a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, <a name="a54"></a><a class="code" href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1e16d704e9b5a318e3f73aaaba2f38f9">GFX_RIGHT</a>, NULL, NULL), buf + SCREEN_SIZE, 0, 0, WIDTH, HEIGHT);</div>
|
|
<div class="line"> } <span class="keywordflow">else</span> {</div>
|
|
<div class="line"> <a class="code" href="gfx_8h.html#a7b5743ba9ce490263b12d1575af7ebc1">gfxSet3D</a>(<span class="keyword">false</span>);</div>
|
|
<div class="line"> writePictureToFramebufferRGB565(<a class="code" href="gfx_8h.html#a332447352568e250a75397a1b2e452db">gfxGetFramebuffer</a>(<a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, <a class="code" href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1bfda6a35adc49eb4631246ea4e637e1">GFX_LEFT</a>, NULL, NULL), buf, 0, 0, WIDTH, HEIGHT);</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="comment">// Flush and swap framebuffers</span></div>
|
|
<div class="line"> <a class="code" href="gfx_8h.html#aea1808bd74fe0c00f9794e455fc8499b">gfxFlushBuffers</a>();</div>
|
|
<div class="line"> <a class="code" href="gspgpu_8h.html#abf0a992835649b5fe90e95d8a58b8c45">gspWaitForVBlank</a>();</div>
|
|
<div class="line"> <a class="code" href="gfx_8h.html#a0f338920111994110975dc0d1360bb1f">gfxSwapBuffers</a>();</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_StopCapture: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="cam_8h.html#a853e49e43d5ea322e6629909538a3d37">CAMU_StopCapture</a>(<a class="code" href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa2e0e7944e8121739c73f311a974ee28f">PORT_BOTH</a>));</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="comment">// Close camera event handles</span></div>
|
|
<div class="line"> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < 4; i++) {</div>
|
|
<div class="line"> <span class="keywordflow">if</span> (camReceiveEvent[i] != 0) {</div>
|
|
<div class="line"> <a class="code" href="svc_8h.html#a09f47e8301d61442fc76727da0b0554c">svcCloseHandle</a>(camReceiveEvent[i]);</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"CAMU_Activate: 0x%08X\n"</span>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>) <a class="code" href="cam_8h.html#addadfc1fddea8746332b80f4950202fc">CAMU_Activate</a>(<a class="code" href="cam_8h.html#afb730582952b7ceec73d7dc9bf7bef39ac1719a15be93e987683f7a8e817c16f9">SELECT_NONE</a>));</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="comment">// Exit</span></div>
|
|
<div class="line"> free(buf);</div>
|
|
<div class="line"> cleanup();</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="comment">// Return to hbmenu</span></div>
|
|
<div class="line"> <span class="keywordflow">return</span> 0;</div>
|
|
<div class="line">}</div>
|
|
<div class="ttc" id="a3ds_8h_html"><div class="ttname"><a href="3ds_8h.html">3ds.h</a></div><div class="ttdoc">Central 3DS header.</div></div>
|
|
<div class="ttc" id="aac_8h_html_ab850baa702c4063eeae48e158e4fb889"><div class="ttname"><a href="ac_8h.html#ab850baa702c4063eeae48e158e4fb889">acExit</a></div><div class="ttdeci">void acExit(void)</div><div class="ttdoc">Exits AC.</div></div>
|
|
<div class="ttc" id="aac_8h_html_aec40390a48ac6df3cfac242613a84590"><div class="ttname"><a href="ac_8h.html#aec40390a48ac6df3cfac242613a84590">acInit</a></div><div class="ttdeci">Result acInit(void)</div><div class="ttdoc">Initializes AC.</div></div>
|
|
<div class="ttc" id="aapt_8h_html_a84808c36d9a8c389896ecf241c7f89cb"><div class="ttname"><a href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a></div><div class="ttdeci">bool aptMainLoop(void)</div><div class="ttdoc">Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...</div></div>
|
|
<div class="ttc" id="acam_8h_html_a03f597eddc0ed77c9902d61d6ed4895a"><div class="ttname"><a href="cam_8h.html#a03f597eddc0ed77c9902d61d6ed4895a">CAMU_SynchronizeVsyncTiming</a></div><div class="ttdeci">Result CAMU_SynchronizeVsyncTiming(u32 select1, u32 select2)</div><div class="ttdoc">Synchronizes the specified cameras' vsync timing.</div></div>
|
|
<div class="ttc" id="acam_8h_html_a051348b051d6491a6e19b2a3245730b9"><div class="ttname"><a href="cam_8h.html#a051348b051d6491a6e19b2a3245730b9">CAMU_SetReceiving</a></div><div class="ttdeci">Result CAMU_SetReceiving(Handle *event, void *dst, u32 port, u32 imageSize, s16 transferUnit)</div><div class="ttdoc">Initiates the process of receiving a camera frame.</div></div>
|
|
<div class="ttc" id="acam_8h_html_a06e244701975c47e50c77be6df2bca49"><div class="ttname"><a href="cam_8h.html#a06e244701975c47e50c77be6df2bca49">camInit</a></div><div class="ttdeci">Result camInit(void)</div><div class="ttdoc">Initializes the cam service.</div></div>
|
|
<div class="ttc" id="acam_8h_html_a0dad6fe5ae97a214d7d2e8be0bb39762"><div class="ttname"><a href="cam_8h.html#a0dad6fe5ae97a214d7d2e8be0bb39762">CAMU_SetNoiseFilter</a></div><div class="ttdeci">Result CAMU_SetNoiseFilter(u32 select, bool noiseFilter)</div><div class="ttdoc">Sets whether the specified camera's noise filter is enabled.</div></div>
|
|
<div class="ttc" id="acam_8h_html_a1f8d58a8ab60d5bbea24236c5005ea9b"><div class="ttname"><a href="cam_8h.html#a1f8d58a8ab60d5bbea24236c5005ea9b">CAMU_SetTransferBytes</a></div><div class="ttdeci">Result CAMU_SetTransferBytes(u32 port, u32 bytes, s16 width, s16 height)</div><div class="ttdoc">Sets the number of bytes to transfer into an image buffer.</div></div>
|
|
<div class="ttc" id="acam_8h_html_a2139d384c0e657ddb21ab0ca5697895aa5323d2323661285fdd5bd9cb3548c752"><div class="ttname"><a href="cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aa5323d2323661285fdd5bd9cb3548c752">SIZE_CTR_TOP_LCD</a></div><div class="ttdeci">@ SIZE_CTR_TOP_LCD</div><div class="ttdoc">CTR Top LCD size. (400x240)</div><div class="ttdef"><b>Definition:</b> cam.h:61</div></div>
|
|
<div class="ttc" id="acam_8h_html_a21fb88a5c8f92ab9c8c912b19d2737f6"><div class="ttname"><a href="cam_8h.html#a21fb88a5c8f92ab9c8c912b19d2737f6">CAMU_ClearBuffer</a></div><div class="ttdeci">Result CAMU_ClearBuffer(u32 port)</div><div class="ttdoc">Clears the buffer and error flags of the specified camera port.</div></div>
|
|
<div class="ttc" id="acam_8h_html_a2744bf6c18862bc601718880de5ed322"><div class="ttname"><a href="cam_8h.html#a2744bf6c18862bc601718880de5ed322">CAMU_SetAutoExposure</a></div><div class="ttdeci">Result CAMU_SetAutoExposure(u32 select, bool autoExposure)</div><div class="ttdoc">Sets whether auto exposure is enabled on the specified camera.</div></div>
|
|
<div class="ttc" id="acam_8h_html_a2af14ee3d645f6d433b2cc6ea1570ae0"><div class="ttname"><a href="cam_8h.html#a2af14ee3d645f6d433b2cc6ea1570ae0">CAMU_GetBufferErrorInterruptEvent</a></div><div class="ttdeci">Result CAMU_GetBufferErrorInterruptEvent(Handle *event, u32 port)</div><div class="ttdoc">Gets a handle to the event signaled on camera buffer errors.</div></div>
|
|
<div class="ttc" id="acam_8h_html_a321b6139a95d71a26633179c5c526cba"><div class="ttname"><a href="cam_8h.html#a321b6139a95d71a26633179c5c526cba">CAMU_StartCapture</a></div><div class="ttdeci">Result CAMU_StartCapture(u32 port)</div><div class="ttdoc">Begins capture on the specified camera port.</div></div>
|
|
<div class="ttc" id="acam_8h_html_a3984303a5065c81cd8a565489c8fff85a17d4aba3a605114a3de59c55de06e4e2"><div class="ttname"><a href="cam_8h.html#a3984303a5065c81cd8a565489c8fff85a17d4aba3a605114a3de59c55de06e4e2">OUTPUT_RGB_565</a></div><div class="ttdeci">@ OUTPUT_RGB_565</div><div class="ttdoc">RGB565.</div><div class="ttdef"><b>Definition:</b> cam.h:157</div></div>
|
|
<div class="ttc" id="acam_8h_html_a3a68c3565d2fec0c45be091333b16688a3acf5f2854e10db6cecf2a3b872f04ef"><div class="ttname"><a href="cam_8h.html#a3a68c3565d2fec0c45be091333b16688a3acf5f2854e10db6cecf2a3b872f04ef">FRAME_RATE_30</a></div><div class="ttdeci">@ FRAME_RATE_30</div><div class="ttdoc">30 FPS.</div><div class="ttdef"><b>Definition:</b> cam.h:77</div></div>
|
|
<div class="ttc" id="acam_8h_html_a5059b91f27e994c2f4ef4a6c9d454675a5ade087b3d19f8d00ce15420304f0b8c"><div class="ttname"><a href="cam_8h.html#a5059b91f27e994c2f4ef4a6c9d454675a5ade087b3d19f8d00ce15420304f0b8c">SHUTTER_SOUND_TYPE_MOVIE</a></div><div class="ttdeci">@ SHUTTER_SOUND_TYPE_MOVIE</div><div class="ttdoc">Shutter sound to begin a movie.</div><div class="ttdef"><b>Definition:</b> cam.h:163</div></div>
|
|
<div class="ttc" id="acam_8h_html_a5059b91f27e994c2f4ef4a6c9d454675a7040268ea714fb4a174ea01ef98f38db"><div class="ttname"><a href="cam_8h.html#a5059b91f27e994c2f4ef4a6c9d454675a7040268ea714fb4a174ea01ef98f38db">SHUTTER_SOUND_TYPE_NORMAL</a></div><div class="ttdeci">@ SHUTTER_SOUND_TYPE_NORMAL</div><div class="ttdoc">Normal shutter sound.</div><div class="ttdef"><b>Definition:</b> cam.h:162</div></div>
|
|
<div class="ttc" id="acam_8h_html_a6337271d6b3abb3d778a09ae28b33e17"><div class="ttname"><a href="cam_8h.html#a6337271d6b3abb3d778a09ae28b33e17">CAMU_SetFrameRate</a></div><div class="ttdeci">Result CAMU_SetFrameRate(u32 select, CAMU_FrameRate frameRate)</div><div class="ttdoc">Sets the frame rate of the given camera.</div></div>
|
|
<div class="ttc" id="acam_8h_html_a67d15fdc4b48f745530df1f27f3d5255a4c8b59d076b8ec347a3e1967408c4fa6"><div class="ttname"><a href="cam_8h.html#a67d15fdc4b48f745530df1f27f3d5255a4c8b59d076b8ec347a3e1967408c4fa6">CONTEXT_A</a></div><div class="ttdeci">@ CONTEXT_A</div><div class="ttdoc">Context A.</div><div class="ttdef"><b>Definition:</b> cam.h:37</div></div>
|
|
<div class="ttc" id="acam_8h_html_a7320e9aa5e1f26b87c19b3f6278bc3a2"><div class="ttname"><a href="cam_8h.html#a7320e9aa5e1f26b87c19b3f6278bc3a2">camExit</a></div><div class="ttdeci">void camExit(void)</div><div class="ttdoc">Closes the cam service.</div></div>
|
|
<div class="ttc" id="acam_8h_html_a853e49e43d5ea322e6629909538a3d37"><div class="ttname"><a href="cam_8h.html#a853e49e43d5ea322e6629909538a3d37">CAMU_StopCapture</a></div><div class="ttdeci">Result CAMU_StopCapture(u32 port)</div><div class="ttdoc">Terminates capture on the specified camera port.</div></div>
|
|
<div class="ttc" id="acam_8h_html_aa771b12ec44b48b19e2621a12cd67072"><div class="ttname"><a href="cam_8h.html#aa771b12ec44b48b19e2621a12cd67072">CAMU_SetSize</a></div><div class="ttdeci">Result CAMU_SetSize(u32 select, CAMU_Size size, CAMU_Context context)</div><div class="ttdoc">Sets the image resolution of the given camera in the given context.</div></div>
|
|
<div class="ttc" id="acam_8h_html_acc3f9baecae7a05ad56b3cfca23131b5"><div class="ttname"><a href="cam_8h.html#acc3f9baecae7a05ad56b3cfca23131b5">CAMU_SetTrimming</a></div><div class="ttdeci">Result CAMU_SetTrimming(u32 port, bool trimming)</div><div class="ttdoc">Sets whether image trimming is enabled.</div></div>
|
|
<div class="ttc" id="acam_8h_html_addadfc1fddea8746332b80f4950202fc"><div class="ttname"><a href="cam_8h.html#addadfc1fddea8746332b80f4950202fc">CAMU_Activate</a></div><div class="ttdeci">Result CAMU_Activate(u32 select)</div><div class="ttdoc">Activates the specified camera.</div></div>
|
|
<div class="ttc" id="acam_8h_html_ae5698f06cef570204824ddf1e30423fe"><div class="ttname"><a href="cam_8h.html#ae5698f06cef570204824ddf1e30423fe">CAMU_PlayShutterSound</a></div><div class="ttdeci">Result CAMU_PlayShutterSound(CAMU_ShutterSoundType sound)</div><div class="ttdoc">Plays the specified shutter sound.</div></div>
|
|
<div class="ttc" id="acam_8h_html_aec8bbd9f72a6a623d9f45d54ee20b5cd"><div class="ttname"><a href="cam_8h.html#aec8bbd9f72a6a623d9f45d54ee20b5cd">CAMU_SetOutputFormat</a></div><div class="ttdeci">Result CAMU_SetOutputFormat(u32 select, CAMU_OutputFormat format, CAMU_Context context)</div><div class="ttdoc">Sets the output format of the given camera in the given context.</div></div>
|
|
<div class="ttc" id="acam_8h_html_aed69646332dd45debb55adbf05ceb8ba"><div class="ttname"><a href="cam_8h.html#aed69646332dd45debb55adbf05ceb8ba">CAMU_SetAutoWhiteBalance</a></div><div class="ttdeci">Result CAMU_SetAutoWhiteBalance(u32 select, bool autoWhiteBalance)</div><div class="ttdoc">Sets whether auto white balance is enabled on the specified camera.</div></div>
|
|
<div class="ttc" id="acam_8h_html_af6b13cf2219bfa0a7b39d7469934290d"><div class="ttname"><a href="cam_8h.html#af6b13cf2219bfa0a7b39d7469934290d">CAMU_GetMaxBytes</a></div><div class="ttdeci">Result CAMU_GetMaxBytes(u32 *maxBytes, s16 width, s16 height)</div><div class="ttdoc">Gets the maximum number of bytes that can be saved to an image buffer.</div></div>
|
|
<div class="ttc" id="acam_8h_html_af715e26dfffd1f8de1c18449e2770cffa17f56155f8d240bf81deab2f5598fe6a"><div class="ttname"><a href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa17f56155f8d240bf81deab2f5598fe6a">PORT_CAM2</a></div><div class="ttdeci">@ PORT_CAM2</div><div class="ttdoc">CAM2 port.</div><div class="ttdef"><b>Definition:</b> cam.h:14</div></div>
|
|
<div class="ttc" id="acam_8h_html_af715e26dfffd1f8de1c18449e2770cffa2e0e7944e8121739c73f311a974ee28f"><div class="ttname"><a href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa2e0e7944e8121739c73f311a974ee28f">PORT_BOTH</a></div><div class="ttdeci">@ PORT_BOTH</div><div class="ttdoc">Both ports.</div><div class="ttdef"><b>Definition:</b> cam.h:17</div></div>
|
|
<div class="ttc" id="acam_8h_html_af715e26dfffd1f8de1c18449e2770cffa83fd114c6c8ad6ed0db9c579935a63ce"><div class="ttname"><a href="cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa83fd114c6c8ad6ed0db9c579935a63ce">PORT_CAM1</a></div><div class="ttdeci">@ PORT_CAM1</div><div class="ttdoc">CAM1 port.</div><div class="ttdef"><b>Definition:</b> cam.h:13</div></div>
|
|
<div class="ttc" id="acam_8h_html_afb730582952b7ceec73d7dc9bf7bef39a218ada760e4ddb14099afb5d6ea88f9a"><div class="ttname"><a href="cam_8h.html#afb730582952b7ceec73d7dc9bf7bef39a218ada760e4ddb14099afb5d6ea88f9a">SELECT_OUT1</a></div><div class="ttdeci">@ SELECT_OUT1</div><div class="ttdoc">Outer camera 1.</div><div class="ttdef"><b>Definition:</b> cam.h:23</div></div>
|
|
<div class="ttc" id="acam_8h_html_afb730582952b7ceec73d7dc9bf7bef39a23c791f6f4305b8c3cc776f1d81dd2c7"><div class="ttname"><a href="cam_8h.html#afb730582952b7ceec73d7dc9bf7bef39a23c791f6f4305b8c3cc776f1d81dd2c7">SELECT_OUT2</a></div><div class="ttdeci">@ SELECT_OUT2</div><div class="ttdoc">Outer camera 2.</div><div class="ttdef"><b>Definition:</b> cam.h:25</div></div>
|
|
<div class="ttc" id="acam_8h_html_afb730582952b7ceec73d7dc9bf7bef39ac1719a15be93e987683f7a8e817c16f9"><div class="ttname"><a href="cam_8h.html#afb730582952b7ceec73d7dc9bf7bef39ac1719a15be93e987683f7a8e817c16f9">SELECT_NONE</a></div><div class="ttdeci">@ SELECT_NONE</div><div class="ttdoc">No camera.</div><div class="ttdef"><b>Definition:</b> cam.h:22</div></div>
|
|
<div class="ttc" id="acam_8h_html_afb730582952b7ceec73d7dc9bf7bef39ae1e625e63a3c56c0d29626709b6f13ad"><div class="ttname"><a href="cam_8h.html#afb730582952b7ceec73d7dc9bf7bef39ae1e625e63a3c56c0d29626709b6f13ad">SELECT_OUT1_OUT2</a></div><div class="ttdeci">@ SELECT_OUT1_OUT2</div><div class="ttdoc">Both outer cameras.</div><div class="ttdef"><b>Definition:</b> cam.h:29</div></div>
|
|
<div class="ttc" id="aconsole_8h_html_a8e014e84f81ff901ca62d7669a8c8de8"><div class="ttname"><a href="console_8h.html#a8e014e84f81ff901ca62d7669a8c8de8">consoleInit</a></div><div class="ttdeci">PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)</div><div class="ttdoc">Initialise the console.</div></div>
|
|
<div class="ttc" id="agfx_8h_html_a0f338920111994110975dc0d1360bb1f"><div class="ttname"><a href="gfx_8h.html#a0f338920111994110975dc0d1360bb1f">gfxSwapBuffers</a></div><div class="ttdeci">void gfxSwapBuffers(void)</div><div class="ttdoc">Updates the configuration of both screens.</div></div>
|
|
<div class="ttc" id="agfx_8h_html_a236a005ae029247c8bfe4a4a649206fc"><div class="ttname"><a href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfxInitDefault</a></div><div class="ttdeci">void gfxInitDefault(void)</div><div class="ttdoc">Initializes the LCD framebuffers with default parameters This is equivalent to calling:</div></div>
|
|
<div class="ttc" id="agfx_8h_html_a332447352568e250a75397a1b2e452db"><div class="ttname"><a href="gfx_8h.html#a332447352568e250a75397a1b2e452db">gfxGetFramebuffer</a></div><div class="ttdeci">u8 * gfxGetFramebuffer(gfxScreen_t screen, gfx3dSide_t side, u16 *width, u16 *height)</div><div class="ttdoc">Retrieves the framebuffer of the specified screen to which graphics should be rendered.</div></div>
|
|
<div class="ttc" id="agfx_8h_html_a356112d87f5cf6bbba3ea3b6b010e09cac1be8c2dee1ab5520b30ba069afa7541"><div class="ttname"><a href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09cac1be8c2dee1ab5520b30ba069afa7541">GFX_BOTTOM</a></div><div class="ttdeci">@ GFX_BOTTOM</div><div class="ttdoc">Bottom screen.</div><div class="ttdef"><b>Definition:</b> gfx.h:27</div></div>
|
|
<div class="ttc" id="agfx_8h_html_a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09"><div class="ttname"><a href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a></div><div class="ttdeci">@ GFX_TOP</div><div class="ttdoc">Top screen.</div><div class="ttdef"><b>Definition:</b> gfx.h:26</div></div>
|
|
<div class="ttc" id="agfx_8h_html_a7b5743ba9ce490263b12d1575af7ebc1"><div class="ttname"><a href="gfx_8h.html#a7b5743ba9ce490263b12d1575af7ebc1">gfxSet3D</a></div><div class="ttdeci">void gfxSet3D(bool enable)</div><div class="ttdoc">Enables or disables the 3D stereoscopic effect on the top screen.</div></div>
|
|
<div class="ttc" id="agfx_8h_html_a9f57f3b6f2e6817c6457d005887fa128"><div class="ttname"><a href="gfx_8h.html#a9f57f3b6f2e6817c6457d005887fa128">gfxSetDoubleBuffering</a></div><div class="ttdeci">void gfxSetDoubleBuffering(gfxScreen_t screen, bool enable)</div><div class="ttdoc">Enables or disables double buffering on a screen.</div></div>
|
|
<div class="ttc" id="agfx_8h_html_aa446ccfdfdd4c575e648956ae96f2a3b"><div class="ttname"><a href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a></div><div class="ttdeci">void gfxExit(void)</div><div class="ttdoc">Deinitializes and frees the LCD framebuffers.</div></div>
|
|
<div class="ttc" id="agfx_8h_html_ab9bacc1d598f0f6e4d5ef8bbeb466b03a1bfda6a35adc49eb4631246ea4e637e1"><div class="ttname"><a href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1bfda6a35adc49eb4631246ea4e637e1">GFX_LEFT</a></div><div class="ttdeci">@ GFX_LEFT</div><div class="ttdoc">Left eye framebuffer.</div><div class="ttdef"><b>Definition:</b> gfx.h:37</div></div>
|
|
<div class="ttc" id="agfx_8h_html_ab9bacc1d598f0f6e4d5ef8bbeb466b03a1e16d704e9b5a318e3f73aaaba2f38f9"><div class="ttname"><a href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1e16d704e9b5a318e3f73aaaba2f38f9">GFX_RIGHT</a></div><div class="ttdeci">@ GFX_RIGHT</div><div class="ttdoc">Right eye framebuffer.</div><div class="ttdef"><b>Definition:</b> gfx.h:38</div></div>
|
|
<div class="ttc" id="agfx_8h_html_aea1808bd74fe0c00f9794e455fc8499b"><div class="ttname"><a href="gfx_8h.html#aea1808bd74fe0c00f9794e455fc8499b">gfxFlushBuffers</a></div><div class="ttdeci">void gfxFlushBuffers(void)</div><div class="ttdoc">Flushes the data cache for the current framebuffers.</div></div>
|
|
<div class="ttc" id="agspgpu_8h_html_abf0a992835649b5fe90e95d8a58b8c45"><div class="ttname"><a href="gspgpu_8h.html#abf0a992835649b5fe90e95d8a58b8c45">gspWaitForVBlank</a></div><div class="ttdeci">#define gspWaitForVBlank()</div><div class="ttdoc">Waits for VBlank.</div><div class="ttdef"><b>Definition:</b> gspgpu.h:151</div></div>
|
|
<div class="ttc" id="ahid_8h_html_a531c35e38ede3ea4e5ba5afb24b29493a616a1f5c4ed36080ca954453084aea3b"><div class="ttname"><a href="hid_8h.html#a531c35e38ede3ea4e5ba5afb24b29493a616a1f5c4ed36080ca954453084aea3b">KEY_START</a></div><div class="ttdeci">@ KEY_START</div><div class="ttdoc">Start.</div><div class="ttdef"><b>Definition:</b> hid.h:15</div></div>
|
|
<div class="ttc" id="ahid_8h_html_a68e8fd75a99650db835f045676a47949"><div class="ttname"><a href="hid_8h.html#a68e8fd75a99650db835f045676a47949">hidKeysHeld</a></div><div class="ttdeci">u32 hidKeysHeld(void)</div><div class="ttdoc">Returns a bitmask of held buttons.</div></div>
|
|
<div class="ttc" id="ahid_8h_html_aa2cababf764bf0b4297dc2e2fffe2a76"><div class="ttname"><a href="hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76">hidKeysDown</a></div><div class="ttdeci">u32 hidKeysDown(void)</div><div class="ttdoc">Returns a bitmask of newly pressed buttons, this frame.</div></div>
|
|
<div class="ttc" id="ahid_8h_html_abbbf0e1f3a79a75e459e19f85a66bee6"><div class="ttname"><a href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a></div><div class="ttdeci">void hidScanInput(void)</div><div class="ttdoc">Scans HID for input data.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a09f47e8301d61442fc76727da0b0554c"><div class="ttname"><a href="svc_8h.html#a09f47e8301d61442fc76727da0b0554c">svcCloseHandle</a></div><div class="ttdeci">Result svcCloseHandle(Handle handle)</div><div class="ttdoc">Closes a handle.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a15341b7a1a479ea489a31a145479f5b8"><div class="ttname"><a href="svc_8h.html#a15341b7a1a479ea489a31a145479f5b8">svcWaitSynchronizationN</a></div><div class="ttdeci">Result svcWaitSynchronizationN(s32 *out, const Handle *handles, s32 handles_num, bool wait_all, s64 nanoseconds)</div><div class="ttdoc">Waits for synchronization on multiple handles.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4eabaa7c25d17e79026434564d484c82"><div class="ttname"><a href="svc_8h.html#a4eabaa7c25d17e79026434564d484c82">svcWaitSynchronization</a></div><div class="ttdeci">Result svcWaitSynchronization(Handle handle, s64 nanoseconds)</div><div class="ttdoc">Waits for synchronization on a handle.</div></div>
|
|
<div class="ttc" id="atypes_8h_html_a92c50087ca0e64fa93fc59402c55f8ca"><div class="ttname"><a href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a></div><div class="ttdeci">uint8_t u8</div><div class="ttdoc">would be nice if newlib had this already</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div>
|
|
<div class="ttc" id="atypes_8h_html_aa980e2c02ba2305e0f489d5650655425"><div class="ttname"><a href="types_8h.html#aa980e2c02ba2305e0f489d5650655425">s16</a></div><div class="ttdeci">int16_t s16</div><div class="ttdoc">16-bit signed integer</div><div class="ttdef"><b>Definition:</b> types.h:27</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_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_ae9b1af5c037e57a98884758875d3a7c4"><div class="ttname"><a href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a></div><div class="ttdeci">int32_t s32</div><div class="ttdoc">32-bit signed integer</div><div class="ttdef"><b>Definition:</b> types.h:28</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>
|