You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: applications/nrf_desktop/doc/motion.rst
+26Lines changed: 26 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -133,6 +133,8 @@ Implementation details
133
133
**********************
134
134
135
135
Implementation details depend on the selected implementation.
136
+
See the following sections for details specific to a given implementation.
137
+
The :ref:`nrf_desktop_motion_report_rate` section is common for all implementations and contains information useful for the HID report rate measurements.
136
138
137
139
Movement data from motion sensors
138
140
=================================
@@ -204,3 +206,27 @@ Otherwise, the :c:func:`k_cycle_get_32` function is used for that purpose.
204
206
When a HID subscriber connects, that is when the device is connected either over USB or Bluetooth LE, the module submits the first :c:struct:`motion_event` containing motion calculated from the previously reported position.
205
207
The subsequent :c:struct:`motion_event` is submitted when the previously generated motion data is sent to the subscriber, that is when :c:struct:`hid_report_sent_event` is received by the module.
206
208
The values of motion for X and Y axes are generated from an updated timestamp and the previously reported position.
209
+
210
+
.. _nrf_desktop_motion_report_rate:
211
+
212
+
Motion report rate
213
+
==================
214
+
215
+
If the device is polled for HID data with high frequency, that is when the :c:struct:`hid_report_sent_event` is received often by the module, the generated :c:struct:`motion_event` may contain value of ``0`` for both X and Y axes.
216
+
217
+
.. note::
218
+
A HID report with reporting motion of ``0`` for both axes may be ignored by host computer's tools that analyze the HID report rate.
219
+
220
+
You can perform the following actions to ensure that non-zero motion is reported by the motion module:
221
+
222
+
* ``Movement data from motion sensors``
223
+
By constantly moving your mouse, you can ensure that the used motion sensor always reports motion for at least one of the axes.
224
+
You can also increase the motion sensor's CPI to make the sensor report bigger values of motion per every inch of distance covered by the mouse.
225
+
* ``Movement data from buttons``
226
+
Increase a motion generated per second during a button press.
227
+
* ``Simulated movement data``
228
+
Increase the value of the used scale factor or reduce time for transition between two points in the trajectory to increase the generated motion values.
229
+
Keep in mind that the generated shape is periodically repeated, so the transition time between two points in the trajectory should not be too short.
230
+
If it is, it might cause the same point to generate twice which would also result in submitting a :c:struct:`motion_event` with values set to ``0`` for both axes.
231
+
232
+
See the :ref:`nrf_desktop_motion_configuration` section for details on how to modify configuration for a given implementation of the module.
0 commit comments