During manufacturing of electronic devices, external factors, such as equipment wear and tear, may cause each electronic device to have deviations in performance or characteristic. Thus, electronic devices may undergo a calibration operation to reduce the deviations.
Some examples of the present application are described with respect to the following figures:
When an electronic device undergoes a calibration operation, calibration data may be generated and stored for subsequent usage. In some examples, the calibration data may be used by another electronic device during operation so that the two electronic devices can operate correctly together. For example, a digital pen may use calibration data of a display during operation so that the movement of the digital pen can be correctly captured by the digital pen driver. However, when calibration data is stored in a host device that is controlled via an operating system, the way the calibration data is stored may be dependent on the operating system.
Examples described herein provide a method to store calibration data as descriptor information. For example, the method may include, in response to establishing a connection between the computing device and an input device via a communication interface, requesting, via a device driver of the computing device, descriptor information of an electronic device connected to the computing device via a universal serial bus (USB) interface. The method may also include receiving the descriptor information from an operating system of the computing device. The method may further include identifying calibration data of a display device connected to the computing device based on the descriptor information, wherein the calibration data is stored at the electronic device. The method may further include controlling the input device using the calibration data. In this manner, examples described herein may provide a method to store and retrieve calibration data that is independent of an operating system. Thus, design complexity of an application (e.g., a device driver) that consumes the calibration data may be reduced.
Communication interfaces 106 and 110 may be a device or circuit to enable computing device to communicate with another electronic device. In some examples, communication interface 106 may be a wireless interface implementing the Bluetooth protocol. In some examples, communication interface 106 may be a hardware connector implementing at least one type of the USB protocol, such as USB 2.0, USB 3.0, USB 3.1, USB Type-C, etc. Communication interface 110 may be a display interface implementing a DisplayPort interface, a high-definition multimedia interface (HDMI), or any other interface suitable for communication with a display device.
During operation, computing device 100 and first electronic device 112 may be connected via first communication interface 106 and a communication interface 114 of first electronic device 112. Communication interface 114 may be compatible with first communication interface 106. For example, communication interfaces 106 and 114 may implement the same communication protocol. Computing device 100 and a second electronic device 116 may be connected via USB interface 108 and a USB interface 118 of second electronic device 116. USB interface 118 may be compatible with USB interface 108. Computing device 100 and a third electronic device 120 may be connected via second communication interface 110 and a communication interface 122 of third electronic device 120. Communication interface 122 may be compatible with second communication interface 110.
In response to establish a connection with first electronic device 112, computing device 100 may determine, for example via a device driver of first electronic device 112, that first electronic device 112 may operate with third electronic device 120 together and first electronic device 112 may use calibration data 124 during operation. Calibration data 124 may be calibration data of third electronic device 120 and may be generated during a calibration operation of third electronic device 120 during manufacturing. Calibration data 124 may be any information usable to provide correction to a performance deviation or characteristic deviation of third electronic device 120. Second electronic device 116 may store calibration data 124 in descriptor information of the USB protocol. As used herein, descriptor information may be a data structure, as specified in the USB protocol, used by a USB end point device (e.g., second electronic device 116) to provide information about the USB end point device. In some examples, descriptor information may be formatted as a device descriptor, a configuration descriptor, a string descriptor, or an interface association descriptor as specified by the USB protocol.
To retrieve calibration data 24, computing device 100 may transmit a distinct get descriptor request to every electronic device that is connected via the USB protocol. For example, when data communication interface 106 is a USB interface, computing device 100 may transmit a get descriptor request 126 to first electronic device 112. In response to receiving get descriptor request 126, first electronic device 112 may transmit descriptor information 130 of first electronic device 112 to computing device 100.
Computing device 100 may also transmit a get descriptor request 128 to second electronic device 116. In response to receiving get descriptor request 128, second electronic device 116 may transmit descriptor information 132 of second electronic device 116 to computing device 100. Descriptor information 132 may include calibration data 124. As an example, descriptor information 130 and 132 may be formatted as string descriptors of the USB protocol. Thus, calibration data 124 may be formatted to be part of a string descriptor.
Computing device 100 may examine descriptor information 130 and 132 to identify calibration data 124. In some examples, descriptor information 132 may include an identifier string to indicate the presence of calibration data 124. The identifier string may be included in descriptor information 132. When computing device 100 locates the identifier string during examination of descriptor information 132, computing device 100 may determine that calibration data 124 is included in descriptor information 132. Thus, computing device 100 may use calibration data 124 to control first electronic device 112.
First electronic device 112 of
Display device 210 may include an optical pattern 212 that provides positional information to input device 206 during operation. For example, a user may provide input to computing device 200 by using input device 206 to draw on display device 210. Input device 206 may determine movements of input device 206 via optical pattern 212. Input device 206 or computing device 200 may translate the movements to inputs to computing device 200. Optical pattern 212 may be disposed on display device 210 during manufacturing.
During operation, in response to establishing a connection with input device 206, device driver 202 may request operating system 204 to provide descriptor information associated with electronic device(s) connected to computing device 100 via the USB protocol. Operating system 204 may receive descriptor information 214 from data storage device 208 in a manner described in
Computing module 304 may include processor 102, computer-readable storage medium 104, first communication interface 106, USB interface 108, and second communication interface 110. Computing module 304 and data storage device 208 may be connected via USB interface 108 and 118, respectively. Computing module 304 and display device 210 may be connected via communication interface 110 and 122, respectively.
During operation, a connection may be established between computing module 304 and input device 206 via communication interface 106 and 114, respectively. In response to establishing the connection, computing module 304, via processor 102, may request descriptor information from electronic device(s) connected via the USB protocol. For example, computing module 304 may request descriptor information 214 from data storage device 208. Computing module 304 may identify calibration data 216 by examining descriptor information 214. Computing module 304 may control input device 206 using calibration data 216.
Processor 402 may be a central processing unit (CPU), a semiconductor-based microprocessor, and/or other hardware devices suitable for retrieval and execution of instructions stored in computer-readable storage medium 404. Processor 402 may fetch, decode, and execute instructions 406, 408, 410, or a combination thereof. As an alternative or in addition to retrieving and executing instructions, processor 402 may include at least one electronic circuit that includes electronic components for performing the functionality of instructions 406, 408, 410, or a combination thereof.
Computer-readable storage medium 404 may be any electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. Thus, computer-readable storage medium 404 may be, for example, Random Access Memory (RAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, etc. In some examples, computer-readable storage medium 404 may be a non-transitory storage medium, where the term “non-transitory” does not encompass transitory propagating signals. Computer-readable storage medium 404 may be encoded with a series of processor executable instructions 406, 408, and 410.
Descriptor information request instructions 406 may request descriptor information from electronic device(s) connected to computing device 400 via the USB protocol. For example, referring to
Calibration data identification instructions 408 may identify calibration data based on descriptor information. For example, referring to
Electronic device control instructions 410 may control an electronic device using the calibration data. For example, referring to
Method 500 includes, in response to establishing a connection between the computing device and an input device via a communication interface, requesting, via a device driver of the computing device, descriptor information of an electronic device connected to the computing device via a universal serial bus (USB) interface, at 502. For example, referring to
Method 500 further includes identifying calibration data of a display device connected to the computing device based on the descriptor information, where the calibration data is stored at the electronic device, at 506. For example, referring to
The use of “comprising”, “including” or “having” are synonymous and variations thereof herein are meant to be inclusive or open-ended and do not exclude additional unrecited elements or method steps.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2015/062160 | 11/23/2015 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2017/091198 | 6/1/2017 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
7093031 | Ray et al. | Aug 2006 | B2 |
7757010 | Chen et al. | Jul 2010 | B2 |
8230121 | Filer et al. | Jul 2012 | B2 |
9826226 | Kunkel | Nov 2017 | B2 |
10432754 | Fisher | Oct 2019 | B2 |
20040041842 | Lippincott | Mar 2004 | A1 |
20060022963 | Bosch et al. | Feb 2006 | A1 |
20110025650 | Joscelyne | Feb 2011 | A1 |
20130145061 | Parivar et al. | Jun 2013 | A1 |
20140019651 | Ben-Harosh | Jan 2014 | A1 |
Number | Date | Country |
---|---|---|
103246620-1 | Aug 2013 | CN |
WO-2015088544 | Jun 2015 | WO |
Entry |
---|
Yasin Nils Taib, “Universal Controller for Resistive Touch Screens,” Goteborg, Sweden, Aug. 2010, 37 p. |
“Sensitivity and Sensitivity Units of the 333D01 ICPD Accelerometer,” Aug. 11, 2014, 4 p. https://cdn.shopify.com/s/files/1/0607/8661/files/333D01_-_Sensitivity_White_Paper.pdf. |
Number | Date | Country | |
---|---|---|---|
20180232103 A1 | Aug 2018 | US |