forked from inorichi/zmk-pmw3610-driver
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Kconfig
166 lines (133 loc) · 4.07 KB
/
Kconfig
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# Sensor data simulator
#
# Copyright (c) 2019 Nordic Semiconductor
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#
menuconfig PMW3610
bool "PMW3610 mouse optical sensor"
select SPI
help
Enable PMW3610 mouse optical sensor.
if PMW3610
config PMW3610_SMART_ALGORITHM
bool "Enable an algorithm of PMW3610 to enhance surface coverage"
default y
help
Enable the integration of the smart algorithm as the datasheet implementation.
The algorithm is used to extend the tracking acrocss a wider range of surfaces
such as graniles and tiles.
config PMW3610_CPI
int "PMW3610's default CPI"
default 800
range 200 3200
help
Default CPI value, with 200 step
config PMW3610_CPI_DIVIDOR
int "PMW3610's default CPI dividor"
default 1
range 1 100
help
Default CPI dividor value.
config PMW3610_SNIPE_CPI
int "PMW3610's CPI in snipe mode"
default 200
range 200 3200
help
Snipe CPI value, with 200 step
config PMW3610_SNIPE_CPI_DIVIDOR
int "PMW3610's CPI dividor in snipe mode"
default 1
range 1 100
help
Snipe CPI dividor value.
config PMW3610_SCROLL_TICK
int "PMW3610's required ticks to produce a scroll report"
default 20
help
Scroll tick value.
choice
prompt "Select PMW3610's polling rate"
default PMW3610_POLLING_RATE_250
config PMW3610_POLLING_RATE_250
bool "250 Hz"
config PMW3610_POLLING_RATE_125
bool "125 Hz"
config PMW3610_POLLING_RATE_125_SW
bool "125 Hz with software implementation"
endchoice
config PMW3610_FORCE_AWAKE
bool "PMW3610 forced awake mode"
help
This setting forces the sensor to always be in the RUN state.
config PMW3610_RUN_DOWNSHIFT_TIME_MS
int "PMW3610's default RUN mode downshift time"
default 128
range 13 3264
help
Default RUN mode downshift down time in milliseconds.
Time after which sensor goes from RUN to REST1 mode.
config PMW3610_REST1_SAMPLE_TIME_MS
int "PMW3610's sample time in REST1 stage"
default 40
range 10 2550
help
Default REST1 mode sample period in millisecond
config PMW3610_REST1_DOWNSHIFT_TIME_MS
int "PMW3610's default REST1 mode downshift time"
default 9600
help
Default REST1 mode downshift down time in milliseconds.
Time after which sensor goes from REST1 to REST2 mode.
config PMW3610_REST2_SAMPLE_TIME_MS
int "PMW3610's sample time in REST2 stage"
default 0
range 0 2550
help
Default REST2 mode sample period in millisecond.
Minimum value is 10.
No optimal value provided by datasheet.
config PMW3610_REST2_DOWNSHIFT_TIME_MS
int "PMW3610's default REST2 mode downshift time"
default 0
help
Default REST2 mode downshift down time in milliseconds.
Time after which sensor goes from REST2 to REST3 mode.
No optimal value provided by datasheet.
config PMW3610_REST3_SAMPLE_TIME_MS
int "PMW3610's sample time in REST3 stage"
default 0
range 0 2550
help
Default REST2 mode sample period in millisecond.
Minimum value is 10.
No optimal value provided by datasheet.
choice
prompt "Select PMW3610 sensor orientation"
default PMW3610_ORIENTATION_0
config PMW3610_ORIENTATION_0
bool "PMW3610 not rotated"
config PMW3610_ORIENTATION_90
bool "PMW3610 rotated 90 deg clockwise"
config PMW3610_ORIENTATION_180
bool "PMW3610 rotated 180 deg clockwise"
config PMW3610_ORIENTATION_270
bool "PMW3610 rotated 270 deg clockwise"
endchoice
config PMW3610_INVERT_X
bool "Invert the X axis of PMW3610 sensor"
config PMW3610_INVERT_Y
bool "Invert the Y axis of PMW3610 sensor"
config PMW3610_INVERT_SCROLL_X
bool "Invert the X axis of the scroll"
default PMW3610_INVERT_X
config PMW3610_INVERT_SCROLL_Y
bool "Invert the Y axis of the scroll"
default PMW3610_INVERT_Y
config PMW3610_AUTOMOUSE_TIMEOUT_MS
int "Amount of milliseconds the mouse layer will be active after using the trackball"
default 400
module = PMW3610
module-str = PMW3610
source "${ZEPHYR_BASE}/subsys/logging/Kconfig.template.log_config"
endif #PMW3610