Skip to content

Commit 00859bb

Browse files
MarekPietarlubos
authored andcommitted
applications: nrf_desktop: Inform about motion report rate
Introduce additional information that can be useful for HID report rate measurements. Jira: NCSDK-22790 Signed-off-by: Marek Pieta <[email protected]>
1 parent 60aadc4 commit 00859bb

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

applications/nrf_desktop/doc/motion.rst

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,8 @@ Implementation details
133133
**********************
134134

135135
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.
136138

137139
Movement data from motion sensors
138140
=================================
@@ -204,3 +206,27 @@ Otherwise, the :c:func:`k_cycle_get_32` function is used for that purpose.
204206
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.
205207
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.
206208
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

Comments
 (0)