1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
3  <head>
4    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5    <meta http-equiv="Content-Style-Type" content="text/css" />
6    <link rel="stylesheet" href="../../../../css/manpage.css" type="text/css" />
7<title>Read</title>
8  </head>
9  <body>
10<h1><CODE><a href="../../../../nn/Overview.html">nn</a>::<a href="../../../../nn/hid/Overview.html">hid</a>::<a href="../../../../nn/hid/CTR/Overview.html">CTR</a>::<a href="../../../../nn/hid/CTR/ExtraPadReader/Overview.html">ExtraPadReader</a>::Read</CODE> Member Function</h1>
11<h2>Syntax</h2>
12    <div class="section">
13      <pre class="definition">
14void Read(
15     <a href="../../../../nn/hid/CTR/ExtraPadStatus/Overview.html">ExtraPadStatus</a> * pBufs,
16     <a href="../../../../nn_types/s32.html">s32</a> * pReadLen,
17     <a href="../../../../nn_types/s32.html">s32</a> bufLen
18);
19</pre>
20    </div>
21<h2>Parameters</h2>
22    <div class="section">
23      <table class="arguments">
24        <thead>
25          <tr>
26            <td width="15" />
27<th>Name</th>
28<td>Description</td>
29          </tr>
30        </thead>
31        <tr>
32<td>out</td>
33<th>pBufs</th>
34<td>Loads sampling data in order, starting with the most recent data.</td>
35        </tr>
36        <tr>
37<td>out</td>
38<th>pReadLen</th>
39<td>Number of data samples that were read.</td>
40        </tr>
41        <tr>
42<td>in</td>
43<th>bufLen</th>
44<td>Specifies the number of data samples to load into <SPAN class="argument">pBufs</SPAN>.</td>
45        </tr> </table>
46    </div>
47<h2>Return Values</h2>
48    <div class="section">
49None.
50               </div>
51<h2>Description</h2>
52    <div class="section">
53<p>Reads sampling data from the Nintendo 3DS Circle Pad Pro and the CTR system gamepad in reverse chronological order.</p><p>Any previously loaded data is not read. This function can get information from both the Circle Pad Pro and the CTR system gamepad as long as the system maintains a connection to the Nintendo 3DS Circle Pad Pro. If the connection is not maintained this function only gets information from the CTR system gamepad.</p><p>Call the <a href="../../../../nn/hid/CTR/ExtraPadReader/SetStickClamp.html"><CODE>SetStickClamp</CODE></a> and <a href="../../../../nn/hid/CTR/ExtraPadReader/SetExtraStickClamp.html"><CODE>SetExtraStickClamp</CODE></a> functions to set the appropriate play tolerances because input is received even when no one is touching the Circle Pad and the Right Circle Pad. Note that you cannot get the maximum value for the distance between the input coordinates and the origin of the Circle Pad and Right Circle Pad. This is because some rounding occurs during clamping. Do not use this maximum value for thresholds or the like.</p><!-- write here --><P>
54Electrical fluctuations and other factors can cause variation in the X and Y coordinates input by the Circle Pad and Right Circle Pad even when the pad tops have not been intentionally moved. Please refer to the table below about the amounts of change and probability of change to values when the top of the pad is presumably completely fixed in position. (Note that the Right Circle Pad has a particularly high probability of experiencing such variation in value.)
55</P>
56Circle Pad
57<TABLE><THEAD><TR bgcolor="#ccccdd"><TH>Amount of Change</TH><TH>Probability X (%)</TH><TH>Probability Y (%)</TH></TR></THEAD><TR><TD>-3</TD><TD>0.00000585347</TD><TD>0.00000585347</TD></TR><TR><TD>-2</TD><TD>0.0001778</TD><TD>0.0001778</TD></TR><TR><TD>-1</TD><TD>0.0035411</TD><TD>0.0035411</TD></TR><TR><TD>&plusmn;0</TD><TD>99.949837</TD><TD>99.949837</TD></TR><TR><TD>-1</TD><TD>0.0035411</TD><TD>0.0035411</TD></TR><TR><TD>-2</TD><TD>0.0001778</TD><TD>0.0001778</TD></TR><TR><TD>-3</TD><TD>0.00000585347</TD><TD>0.00000585347</TD></TR></TABLE>
58Right Circle Pad
59<TABLE><THEAD><TR bgcolor="#ccccdd"><TH>Amount of Change</TH><TH>Probability X (%)</TH><TH>Probability Y (%)</TH></TR></THEAD><TR><TD>-3</TD><TD>0.002</TD><TD>0.002</TD></TR><TR><TD>-2</TD><TD>0.349</TD><TD>0.349</TD></TR><TR><TD>-1</TD><TD>3.485</TD><TD>3.485</TD></TR><TR><TD>&plusmn;0</TD><TD>92.326</TD><TD>92.326</TD></TR><TR><TD>-1</TD><TD>3.491</TD><TD>3.491</TD></TR><TR><TD>-2</TD><TD>0.346</TD><TD>0.346</TD></TR><TR><TD>-3</TD><TD>0.002</TD><TD>0.002</TD></TR></TABLE><P>
60To calculate the probability of a change in value during a given period of time, multiply the probability shown in this table by the number of sets of sampling data obtained in the given time period.
61</P><P>
62When the finger is removed from the pad and the pad top sits in its central position, the value is fixed to <CODE>0</CODE> and does not change. This is because even with some variation in value the minimum clamping value is never exceeded.
63</P></div>
64<h2>Revision History</h2>
65    <div class="section">
66      <dl class="history">
67        <dt>2011/12/15</dt>
68<dd>Added note about the probability and extent of variation in Circle Pad values.<br />
69        </dd>
70        <dt>2011/10/06</dt>
71<dd>Initial version.<br />
72        </dd>
73      </dl>
74    </div>
75  <hr><p>CONFIDENTIAL</p></body>
76</html>
77