blob: dc762f10eaf2b549aaeef1aacd838d7a68c442ad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#ifndef NITRO_TP_H_
#define NITRO_TP_H_
#define TP_TOUCH_OFF 0 // Not being touched
#define TP_TOUCH_ON 1 // Being touched
#define TP_VALIDITY_VALID 0 // Valid
#define TP_VALIDITY_INVALID_X 1 // Data with invalid X coordinate
#define TP_VALIDITY_INVALID_Y 2 // Data with invalid Y coordinate
#define TP_VALIDITY_INVALID_XY (TP_VALIDITY_INVALID_X | TP_VALIDITY_INVALID_Y) // Data with invalid X and Y coordinates
// Touch panel input structure
typedef struct
{
u16 x; // x coordinate ( 0 - 4095 )
u16 y; // y coordinate ( 0 - 4095 )
u16 touch; // Touch yes/no
u16 validity; // Valid yes/no
}
TPData;
typedef struct NvTpData
{
s16 x0; // X origin coordinate
s16 y0; // Y origin coordinate
s16 xDotSize; // X dot size
s16 yDotSize; // Y dot size
}
TPCalibrateParam;
void TP_Init(void);
void TP_SetCalibrateParam(const TPCalibrateParam *param);
BOOL TP_GetUserInfo(TPCalibrateParam *calibrate);
void TP_RequestSamplingAsync(void);
u32 TP_WaitRawResult(TPData *result);
void TP_GetLatestRawPointInAuto(TPData *result);
void TP_GetCalibratedPoint(TPData *disp, const TPData *raw);
static inline u32 TP_RequestRawSampling(TPData *result)
{
TP_RequestSamplingAsync();
return TP_WaitRawResult(result);
}
#endif //NITRO_TP_H_
|