Wireless communication protocol for efficient packet management for input devices
A method for wireless communications between an input device and a host. When only displacement data is detected in a period of time, a reduced-size packet is generated with the displacement data while eliminating packet fields corresponding to the other input data. The reduced-size packet is wirelessly transmitted to the host. When other input data is detected in the period of time, a data packet for the other input data is generated with a packet field for the other input data and is wirelessly transmitted to the host.
1 . A method for wireless communications between an input device and a host, the method comprising:
detecting, by the input device, a plurality of types of inputs, including displacement data and other input data;
detecting other input data in a first period of time and generating an other input data packet with a packet field for the other input data;
wirelessly transmitting to the host the other input data packet;
detecting only displacement data in a second period of time and generating a reduced-size packet with the displacement data while eliminating packet fields corresponding to the other input data; and
wirelessly transmitting to the host the reduced-size packet.
2 . The method of claim 1 , further comprising:
receiving, by a transceiver in communication with the host, a packet;
determining, by the transceiver, that the packet is a reduced-size packet;
converting the reduced-size packet into a standard packet including fields for the other input data; and
transmitting the standard packet to the host.
3 . The method of claim 1 wherein the displacement data includes at least one of x-y-z displacement data, wheel rotation data and cursor button data.
4 . The method of claim 1 further comprising varying a size of the reduced-size packet based on a number of bits used to represent an amount of displacement.
5 . The method of claim 1 , wherein the other input data includes a button or key activation.
6 . The method of claim 1 , further comprising including in the reduced-size packet an indication that no acknowledgement should be sent back for a plurality of reduced-size packets.
7 . The method of claim 6 further comprising:
detecting only displacement data in subsequent periods of time after the second period of time;
transmitting accumulated displacement data in the subsequent periods of time, such that an nth period of time no-acknowledgement packet includes first displacement data from the second period of time and all displacement data up to the nth period of time; and
at a threshold number of periods of time with only displacement data, transmitting an acknowledgment request packet.
8 . The method of claim 1 further comprising using a larger number of bits for displacements in a first direction than for displacements in a second direction.
9 . The method of claim 1 wherein the displacement data includes at least one of data from a joystick or mini-joystick, D-pad, accelerometer, tilt sensor, and steering wheel angle.
10 . The method of claim 1 wherein the other input data packet contains button activation data for only buttons activated during a time period.
11 . The method of claim 1 , further comprising:
detecting only displacement data in subsequent periods of time after the second period of time;
for the second period of time where only displacement data is detected, generating a no-acknowledgement packet with the displacement data and an indication that no acknowledgement should be sent;
wirelessly transmitting to the host the no-acknowledgement packet;
transmitting accumulated displacement data in the subsequent periods of time, such that an n th period of time no-acknowledgement packet includes first displacement data from the second period of time and all displacement data up to the n th period of time; and
at a threshold number of periods of time with only displacement data, transmitting an acknowledgment request.
12 . A system for wireless communications between an input device and a host, the system comprising:
an input device;
an input device transceiver mounted in the input device;
a processor mounted in the input device;
a displacement data input mechanism;
an other data input mechanism;
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:
detecting, by the input device, a plurality of types of inputs, including displacement data and other input data;
when only displacement data is detected in a period of time, generating a reduced-size packet with the displacement data while eliminating packet fields corresponding to the other input data;
wirelessly transmitting, through the input device transceiver to the host, the reduced-size packet;
when other input data is detected in the period of time, generating an other input data packet with a packet field for the other input data; and
wirelessly transmitting, through the input device transceiver to the host, the other input data packet.
13 . The system of claim 12 further comprising:
a host transceiver in communication with the host;
a transceiver processor;
a memory coupled to the transceiver processor, the memory including non-transitory computer readable medium having stored thereon software instructions that, when executed by the transceiver processor, cause the transceiver processor to execute the steps comprising:
receiving the reduced-size packet;
converting the reduced-size packet into a standard packet including fields for the other input data; and
transmitting the standard packet to the host.
14 . The system of claim 12 wherein the displacement data includes at least one of x-y-z displacement data, wheel rotation data and cursor button data.
15 . The system of claim 12 further comprising varying a size of the reduced-size packet based on a number of bits used to represent an amount of displacement.
16 . The system of claim 12 , wherein the other input data includes a button or key activation.
17 . The system of claim 12 , further comprising including in the reduced-size packet an indication that no acknowledgement should be sent back for a plurality of reduced-size packets.
18 . A system for wireless communications between an input device and a host, the system comprising:
an input device;
an input device transceiver mounted in the input device;
an input device processor mounted in the input device;
a displacement data input mechanism;
an other data input mechanism;
an input device memory coupled to the input device processor, the input device memory including non-transitory computer readable medium having stored thereon software instructions that, when executed by the an input device processor, cause the an input device processor to execute steps comprising:
detecting, by the input device, a plurality of types of inputs, including displacement data and other input data,
when only displacement data is detected in a period of time, generating a reduced-size packet with the displacement data while eliminating packet fields corresponding to the other input data,
wirelessly transmitting, through the input device transceiver to the host, the reduced-size packet,
when other input data is detected in the period of time, generating an other input data packet with a packet field for the other input data, and wirelessly transmitting, through the input device transceiver to the host, the other input data packet;
a host transceiver in communication with the host;
a transceiver processor; and
a transceiver memory coupled to the transceiver processor, the transceiver memory including non-transitory computer readable medium having stored thereon software instructions that, when executed by the transceiver processor, cause the transceiver processor to execute the steps comprising:
receiving a packet,
determining that the packet is a reduced-size packet;
converting the reduced-size packet into a standard packet including fields for the other input data, and
transmitting the standard packet to the host.
19 . The system of claim 18 wherein the displacement data includes at least one of data from an x, y or z displacement, wheel rotation, cursor button, joystick or mini-joystick, D-pad, accelerometer, tilt sensor, and steering wheel angle.
20 . The system of claim 18 wherein the reduced-size packet has a larger number of bits for displacements in a first direction than for displacements in a second direction.