nn::hid::CTR::ExtraPadReader::Read Member Function
void Read(
ExtraPadStatus * pBufs,
s32 * pReadLen,
s32 bufLen
);
| Name | Description | |
|---|---|---|
| out | pBufs | Loads sampling data in order, starting with the most recent data. |
| out | pReadLen | Number of data samples that were read. |
| in | bufLen | Specifies the number of data samples to load into pBufs. |
Reads sampling data from the Nintendo 3DS Circle Pad Pro and the CTR system gamepad in reverse chronological order.
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.
Call the SetStickClamp and SetExtraStickClamp 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.
Electrical 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.)
Circle Pad| Amount of Change | Probability X (%) | Probability Y (%) |
|---|---|---|
| -3 | 0.00000585347 | 0.00000585347 |
| -2 | 0.0001778 | 0.0001778 |
| -1 | 0.0035411 | 0.0035411 |
| ±0 | 99.949837 | 99.949837 |
| -1 | 0.0035411 | 0.0035411 |
| -2 | 0.0001778 | 0.0001778 |
| -3 | 0.00000585347 | 0.00000585347 |
| Amount of Change | Probability X (%) | Probability Y (%) |
|---|---|---|
| -3 | 0.002 | 0.002 |
| -2 | 0.349 | 0.349 |
| -1 | 3.485 | 3.485 |
| ±0 | 92.326 | 92.326 |
| -1 | 3.491 | 3.491 |
| -2 | 0.346 | 0.346 |
| -3 | 0.002 | 0.002 |
To 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.
When the finger is removed from the pad and the pad top sits in its central position, the value is fixed to 0 and does not change. This is because even with some variation in value the minimum clamping value is never exceeded.
CONFIDENTIAL