HID report rate increase while keeping a low power consumption
A method and apparatus for wireless communications between a displacement input device and a host. Instead of using actual displacements from the displacement input device, projected positions are used for display. A slower rate of displacements from the displacement input device are transmitted, saving power, while the host determines, from the state of the displacement input device (e.g., position and velocity) where to predict future positions before the next measured displacement is received from the displacement input device.
1 . A method for communications between a displacement input device and a host, the method comprising:
receiving, at the host, a displacement from the displacement input device;
determining, at the host, projected future positions for the displacement input device at multiple future times;
displaying, on a host display, the projected future positions at the multiple future times;
receiving, at the host, an updated displacement from the displacement input device; and
upon receipt of the updated displacement, calculating a projection curve of projected future positions based on the updated displacement;
moving a starting point of the projection curve to a midpoint between a position of the updated displacement and a current position based on a previous projected position at the time of the updated displacement;
determining a transition line between the current position and an intersection point on the projection curve one time step before a new updated displacement measurement is expected; and
determining, at the host, new projected future positions for the displacement input device at multiple future times along the transition line.
2 . The method of claim 1 further comprising determining a state of the displacement input device, wherein the state comprises at least a position and velocity.
3 . The method of claim 2 wherein the state further includes an acceleration.
4 . The method of claim 1 wherein the projected future positions form a curve.
5 . The method of claim 4 wherein the curve is a straight line.
6 . The method of claim 1 wherein the displacement input device is one of a computer mouse, a trackball, a joystick, a gamepad, a steering wheel or a touchpad.
7 . The method of claim 6 wherein the displacement is data from a sensor in the displacement input device including at least one of x-y displacement data, z-displacement data, wheel rotation data, trackball rotation data, joystick or mini-joystick data, D-pad data, accelerometer data or tilt sensor data.
8 . The method of claim 1 wherein the host comprises a USB dongle that is communicatively coupled to the host.
9 . The method of claim 1 wherein the host receives the displacements from the displacement input device via a wireless RF link.
10 . A method for communications between a displacement input device and a host, the method comprising:
receiving, at the host, a displacement from the displacement input device;
determining, at the host, projected future positions for the displacement input device at multiple future times;
displaying, on a host display, the projected future positions at the multiple future times;
receiving, at the host, an updated displacement from the displacement input device;
upon receipt of the updated displacement, calculating a projection curve of projected future positions based on the updated displacement;
moving a starting point of the projection curve to a midpoint between a position of the updated displacement and a current position based on a previous projected position at the time of the updated displacement;
determining a transition line between the current position and an intersection point on the projection curve one time step before a new updated displacement measurement is expected; and
determining, at the host, new projected future positions for the displacement input device at multiple future times along the transition line.
11 . The method of claim 10 further comprising determining a state of the displacement input device, wherein the state comprises at least a position and velocity.
12 . The method of claim 11 wherein the state further includes an acceleration.
13 . The method of claim 10 wherein the host comprises a USB dongle that is communicatively coupled connected to the host.
14 . A system for communications between a displacement input device and a host, the system comprising:
a displacement input device;
a displacement sensor mounted in the displacement input device;
a host;
a processor mounted at the host; and
a memory coupled to the processor, the memory including non-transitory computer readable medium having stored thereon software instructions that, when executed by the processor, cause the processor to execute steps comprising:
receiving, at the host, a displacement from the displacement input device;
determining, at the host, projected future positions for the displacement input device at multiple future times;
displaying, on a host display, the projected future positions at the multiple future times;
receiving, at the host, an updated displacement for the displacement input device; and
upon receipt of the updated displacement, calculating a projection curve of projected future positions based on the updated displacement;
moving a starting point of the projection curve to a midpoint between a position of the updated displacement and a current position based on a previous projected position at the time of the updated displacement;
determining a transition line between the current position and an intersection point on the projection curve one time step before a new updated displacement measurement is expected; and
determining, at the host, new projected future positions for the displacement input device at multiple future times along the transition line.