INTERFACING APPLICATION PROGRAMS AND MOTION SENSORS OF A DEVICE
First Claim
1. A method for providing an interface for one or more application programs provided on a motion sensing device, the method comprising:
- receiving a high-level command from an application program running on the motion sensing device, wherein the application program implements one of a plurality of different types of applications available for use on the motion sensing device, the high-level command requesting high-level information derived from the output of at least one motion sensor of the motion sensing device;
translating the high-level command to cause low-level processing of multiple axes of motion sensor data output by the motion sensors, the low-level processing following requirements of the type of application and intelligently determining the high-level information from the motion sensor data in response to receiving the high-level command, wherein the at least one motion sensor includes at least one rotational motion sensor or at least one linear motion sensor sensors; and
providing the high-level information to the application program.
1 Assignment
0 Petitions
Accused Products
Abstract
Interfacing application programs and motion sensors of a device. In one aspect, a high-level command is received from an application program running on a motion sensing device, where the application program implements one of multiple different types of applications available for use on the device. The high-level command requests high-level information derived from the output of motion sensors of the device that include rotational motion sensors and linear motion sensors. The command is translated to cause low-level processing of motion sensor data output by the motion sensors, the low-level processing following requirements of the type of application and determining the high-level information in response to the command. The application program is ignorant of the low-level processing, and the high-level information is provided to the application program.
263 Citations
33 Claims
-
1. A method for providing an interface for one or more application programs provided on a motion sensing device, the method comprising:
-
receiving a high-level command from an application program running on the motion sensing device, wherein the application program implements one of a plurality of different types of applications available for use on the motion sensing device, the high-level command requesting high-level information derived from the output of at least one motion sensor of the motion sensing device; translating the high-level command to cause low-level processing of multiple axes of motion sensor data output by the motion sensors, the low-level processing following requirements of the type of application and intelligently determining the high-level information from the motion sensor data in response to receiving the high-level command, wherein the at least one motion sensor includes at least one rotational motion sensor or at least one linear motion sensor sensors; and providing the high-level information to the application program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for providing motion sensor data from motion sensors on a motion sensing device to an application program running on the motion sensing device, the method comprising:
-
sampling motion sensor data output by the motion sensors at a first sampling rate, wherein the motion sensors include a plurality of rotational motion sensors and a plurality of linear motion sensors; storing the motion sensor data in a buffer; and retrieving at least a portion of the buffered motion sensor data for the application program at a second sampling rate required by an application implemented by the application program, the second sampling rate being lower than the first sampling rate. - View Dependent Claims (19, 20, 21, 22)
-
-
23. A method for processing motion sensor data from motion sensors on a motion sensor device, the method comprising:
-
sampling motion sensor data output by the motion sensors at a first sampling rate, such that the motion sensor data is used to provide information to a first application program implementing a first application on the motion sensor device, wherein the motion sensors include a plurality of rotational motion sensors and a plurality of linear motion sensors; and low-pass filtering the motion sensor data to a second sampling rate lower than the first sampling rate, wherein the filtered motion sensor data is used to provide information to a second application program implementing a second application on the motion sensor device different from the first application, wherein the first and second application programs are running simultaneously on the motion sensor device, and wherein the first application requires motion sensor data to be sampled at sampling rate greater than the second sampling rate.
-
-
24. A computer readable medium storing program instructions to be executed by a computer and for providing an interface for one or more application programs provided on a motion sensing device, the program instructions performing steps comprising:
-
receiving a high-level command from an application program running on the motion sensing device, wherein the application program implements one of a plurality of different types of applications available for use on the motion sensing device, the high-level command requesting high-level information derived from the output of a plurality of motion sensors of the motion sensing device; translating the high-level command to cause low-level processing of multiple axes of motion sensor data output by the motion sensors, the low-level processing following requirements of the type of application and intelligently determining the high-level information from the motion sensor data in response to receiving the high-level command, wherein the motion sensors include at least one rotational motion sensor and at least one linear motion sensor; and providing the high-level information to the application program. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
-
31. A motion sensing device including an interface for one or more application programs provided on the motion sensing device, the motion sensing device comprising:
-
a motion processing unit including a plurality of motion sensors for sensing the motion of the motion sensing device, the motion sensors including at least one rotational motion sensor and at least one linear motion sensor; and an application processor coupled to the motion processing unit, the application processor providing an application program that implements one of a plurality of different types of applications available for use on the motion sensing device, and an application interface that receives a high-level command from the application program, the high-level command requesting high-level information derived from the output of the motion sensors of the motion sensing device, wherein the application interface translates the high-level command to cause low-level processing of motion sensor data output by the motion sensors, the low-level processing following requirements of the type of application and determining the high-level information in response to receiving the high-level command, and wherein the application interface provides the high-level information to the application program.
-
-
32. A method for providing an interface for an application program running on a handheld electronic device, the electronic device comprising a display and a set of motion sensors sensing rotational rate around at least three axes and linear acceleration along at least three axes, the method comprising:
-
receiving a high-level command from the application program, the high-level command requesting high-level motion information; and providing high-level motion information to the application program, where the high-level motion information is based on motion sensor data produced by at least one motion sensor and on the high-level command.
-
-
33. A method for providing an interface for a plurality of motion-responsive application programs running on a handheld electronic device, the electronic device comprising a display and a set of motion sensors sensing rotational rate around at least one axis and linear acceleration along at least one axis, each of the motion-responsive application programs capable of utilizing high-level motion information, the method comprising:
-
receiving a high-level command from at least one motion-responsive application program, the high-level command requesting specific high-level motion information; and providing high-level motion information to the application program, where the high-level motion information is based on motion sensor data produced by at least one motion sensor and on the high-level command.
-
Specification