Field repair recalibration

Methods, systems, and computer program products are provided for field repair recalibration. A field repairable device with a field repairable component (e.g., field replaceable unit (FRU)) is recalibrated in the field. A light sensor dependent on one or more optical layers in a display module is recalibrated in the field based at least in part on the properties of a post-repair FRU that replaced a damaged/inoperable pre-repair FRU. A field recalibrator (e.g., in a field repairable device and/or in a field repair device) may be configured to generate an in-field recalibration of a sensor based at least in part on a pre-repair sample generated by the sensor before repair of a field repairable component and a post-repair sample generated by the sensor after repair of the field repairable component.

BACKGROUND

Field repair of device components is frequently performed without complex factory equipment (e.g., jigs, special lab equipment) and without a tightly controlled environment. Such repair, including replacement of a component, may affect operation of another component and/or combined operation, resulting in degraded performance.

SUMMARY

Methods, systems, and computer program products are provided for field repair recalibration. A field repairable device with a field repairable component (e.g., field replaceable unit (FRU)) is recalibrated in the field. A light sensor dependent on one or more optical layers in a display module is recalibrated in the field based at least in part on the properties of a post-repair FRU that replaced a damaged/inoperable pre-repair FRU. A field recalibrator (e.g., in a field repairable device and/or in a field repair device) may be configured to generate an in-field recalibration of a sensor based at least in part on a pre-repair sample generated by the sensor before repair of a field repairable component and a post-repair sample generated by the sensor after repair of the field repairable component.

Further features and advantages of the subject matter (e.g., examples) disclosed herein, as well as the structure and operation of various embodiments, are described in detail below with reference to the accompanying drawings. It is noted that the present subject matter is not limited to the specific embodiments described herein. Such embodiments are presented herein for illustrative purposes only. Additional embodiments will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein.

DETAILED DESCRIPTION

The following detailed description discloses numerous example embodiments. The scope of the present patent application is not limited to the disclosed embodiments, but also encompasses combinations of the disclosed embodiments, as well as modifications to the disclosed embodiments. It is noted that any section/subsection headings provided herein are not intended to be limiting. Embodiments are described throughout this document, and any type of embodiment may be included under any section/subsection. Furthermore, embodiments disclosed in any section/subsection may be combined with any other embodiments described in the same section/subsection and/or a different section/subsection in any manner.

II. Example Implementations

Field repair of device components is frequently performed without complex factory equipment (e.g., jigs, special lab equipment) and without a tightly controlled environment. Such repair, including replacement of a component, may affect operation of another component and/or combined operation, resulting in degraded performance. A lack of calibration and/or generic recalibration for repaired devices often degrades performance and reduces user satisfaction.

Furthermore, a device (e.g., a tablet, cellular phone) with a display module (e.g., a touch display module (TDM)) may utilize one or more sensors. For example, a light and color sensor may be used to dynamically change the display backlight and color scheme according to the ambient light condition outside a device to deliver the most accurate colors and pleasant lighting intensity to a user. A light sensor may be placed within the display assembly, such as on a bezel or beneath a display module (e.g., a liquid crystal display (LCD)).

Still further, a display (e.g., a TDM module) may be replaced in a tablet device, for example, due to breakage or other malfunction. The calibration of the light and color sensor may be affected by a repair or replacement of all or a portion of a display. A coverglass “decoration” (e.g., the sensor's aperture within black print) may have production variations, e.g., in terms of optical performance (e.g., properties/characteristics).

A similarity in performance of the display after repair compared to performance before damage/inoperability (e.g., ability to adapt to an ambient environment before a TDM replacement process is performed) may be determined in a factory production setting using expensive equipment that is not available for field service providers.

Embodiments overcome such limitations. For instance, in embodiments, light and color measurements of a light and color sensor before and after TDM replacement may be used to determine one or more recalibration factors/parameters, which may be calculated to allow the light and color sensor to deliver accurate measurements without a factory process.

As such, methods, systems, and computer program products are provided for field repair recalibration. A field repairable device with a field repairable component (e.g., field replaceable unit (FRU)) may be recalibrated in the field. Field recalibration may be component-specific without sophisticated factory calibration equipment. For example, a light sensor (e.g., brightness and/or color measurements) dependent on one or more optical layers in a display module (e.g., a touch display module) may be recalibrated in the field based on the properties of the post-repair FRU that replaced a damaged/inoperable pre-repair FRU (e.g., TDM or a portion thereof). A sensor may be integrated in or separate from an FRU. A field recalibrator (e.g., in a field repairable device and/or in a field repair device) may be configured to generate an in-field recalibration of a sensor based at least in part on a pre-repair sample generated by the sensor before repair of a field repairable component; and a post-repair sample generated by the sensor after repair of the field repairable component.

For example, an in-field measurement of light and color of the ambient environment (e.g., as recorded by the sensor) before the TDM is replaced may be obtained. An in-field measurement of light and color of the ambient environment (e.g., as recorded by the sensor) after the new TDM is installed may be obtained. Both measurements are made with respect to the ambient environment to provide a common baseline to isolate differences due to TDM replacement.

In particular, a factor may be calculated between the sensor reading with the old TDM installed and the sensor ambient environment reading when the new TDM is installed. The recalibration parameter(s) may be added to the device's non-volatile memory to be applied by the color sensor to ambient environment measurements to improve accuracy without factory measurement equipment. In turn, the display light and color output of the field-repaired TDM may be more accurate. The field recalibration adaptation feature may be enabled or disabled to affect or not affect the output of the display.

An alternative (e.g., default or non-component-customized) recalibration may be generated, stored, applied, for example, if the TDM is damaged/broken in the sensor area. The non-customized recalibration may provide degraded performance relative to the component-customized recalibration.

Such embodiments may be implemented in various configurations and environments, examples of which are shown and discussed relative toFIGS.1-7. For instance,FIG.1shows a factory (re)calibration and field recalibration environment100, according to an example embodiment. Example environment100includes one or more factory ambient conditions102and one or more field ambient conditions134. Environment100further includes a factory device104, a reconfigurable device112and a field device136. As shown inFIG.1, factory device104includes one or more central processing units (CPUs)106, a memory108(which includes a factory calibrator110), and a device communication interface144. Device112includes first-third components114,116, and118(which respectively include first-third sensors162,164, and166), a device communication interface148, and a display module120, which includes one or more CPUs124and a memory126that includes a field recalibrator128, one or more applications130, and (re)calibration data132. Field device136includes one or more CPUs138, a memory140(that includes a field recalibrator142), and a field device communication interface152. Example environment100presents one of many possible examples of the calibration/recalibrations of devices and is described in further detail as follows.

Factory device104may be a computing device with CPU(s)106, memory108, and/or other computing components, such as components shown by example inFIG.7. Factory device104may store (e.g., in memory108) and execute (e.g., by CPU(s)106) factory calibrator110, for example, among one or more applications, operating systems, virtual machines (VMs), etc., that may be executed, hosted, and/or stored therein or via one or more other computing devices via network(s) (not shown). In various examples, factory device104may be any type of stationary or mobile computing device, including a mobile computer or mobile computing device, server, or other type of device mentioned elsewhere herein or otherwise known. A computing environment may be any computing environment (e.g., any combination of hardware, software, and firmware). An example computing device with example features is presented inFIG.7.

Factory device104may be communicatively coupled to device112. For example, a factory device communication interface144may be communicatively coupled to a device communication interface148via a wireless and/or a wired communication connection. Factory device104may execute one or more processes in one or more computing environments. A process is any type of executable (e.g., binary, program, application) that is being executed by a computing device. A process may include a (re)calibration process (e.g., an instance of factory calibrator110), which may be used to (re)calibrate one or more components in device112in a factory setting with factory ambient condition(s)102(e.g., lighting conditions, temperature, and/or the like). For example, factory calibrator110may calibrate one or more sensors in device112(e.g., if/when device112is manufactured) and/or recalibrate one or more sensors in device112(e.g., if/when device112is repaired). Technician154may be a factory technician interacting with a user interface provided by factory calibrator110.

In an embodiment, field device136may be present in environment100, and in environment100is a field repair device used to repair other devices (e.g., performs in-field recalibration through operation of field recalibrator142) such as reconfigurable device112, in which case reconfigurable device112is considered a field repairable device. In embodiments, field device136may be a computing device with CPU(s)138, memory140, and/or other computing components, such as components shown by example inFIG.7. Field device136may store (e.g., in memory140) and execute (e.g., by CPU(s)138) field recalibrator142, for example, among one or more applications, operating systems, virtual machines (VMs), etc., that may be executed, hosted, and/or stored therein or via one or more other computing devices via network(s) (not shown). In various examples, field device136may be any type of stationary or mobile computing device, including a mobile computer or mobile computing device, server, or other type of device mentioned elsewhere herein or otherwise known.

Field device136may be communicatively coupled to device112. For example, a field device communication interface152may be communicatively coupled to a device communication interface148via a wireless and/or a wired communication connection. Field device136may execute one or more processes in one or more computing environments. A process is any type of executable (e.g., binary, program, application) that is being executed by a computing device. A process may include an in-field recalibration process (e.g., an instance of field recalibrator142), which may be used to recalibrate one or more components in device112in a field setting with field ambient condition(s)134(e.g., lighting conditions, temperature, and/or the like). For example, field recalibrator142may recalibrate one or more sensors in device112if/when device112is repaired. Technician154may be a factory technician interacting with a user interface provided by factory calibrator110.

In embodiments, reconfigurable device112may be a field repair device and/or a field repairable device. For instance, in environment100, device112may be repaired by field device136(operating as a field repair device to perform in-field recalibration). Alternatively, device112may be both a field repair device and field repairable device that repairs itself (operating as field repair device to perform in-field recalibration by operation of field recalibrator132, while also operating as a field repairable device being recalibrated). Device112may be a computing device with CPU(s)124, memory126, and/or other computing components, such as components shown by example inFIG.7. Device112may store (e.g., in memory126) and execute (e.g., by CPU(s)124) field application(s)130and (e.g., in some examples) recalibrator128, for example, among one or more applications, operating systems, virtual machines (VMs), etc., that may be executed, hosted, and/or stored therein or via one or more other computing devices via network(s) (not shown). In various examples, device112may be any type of stationary or mobile computing device, including a mobile computer or mobile computing device, server, or other type of device mentioned elsewhere herein or otherwise known.

Device112may be, for example, a tablet computing device, a cellular phone, a camera, or any other device that utilizes at least one calibrated component. Device (e.g., tablet)112may include, for example, display module120, which may be a touch display module (TDM). Display module120may include an optical stack up, which may include one or more layers, such as a diffuser, lens, cover glass, aperture, decoration, holes, filters (e.g., IR ink), etc. Display module120and each of the layers and therein may be a field repairable component that may be repaired (e.g., replaced) in the field when determined to be damaged, defective, or otherwise operating improperly or otherwise designated for repair/replacement. When replaceable as a whole, display module120may be considered a field replaceable unit (FRU). One or more layers in the optical stack up may be associated with (e.g., may physically cover) one or more calibrated components, such as first, second, and/or third components114,116,118. In some examples, first, second, and third components114,116,118may be first, second, and third sensors162,164,166(e.g., adaptable color sensor (ACS), adaptable light sensor (ALS), color and light sensor, accelerometer sensor, gyroscope sensor). Light sensor, ACS, ALS, color and light sensor, and the like may be used interchangeably herein. The example discussed is a light sensor (e.g., first component114) calibrated based on an optical stack up in display module120, although the disclosure is applicable to many other examples of components calibrated based on field repairable components.

Components (e.g., sensors) may be, for example, on-TDM components, non-TDM components, or partial-TDM components. On-TDM components may be part of a TDM, such that they may be replaced during a TDM field replacement. Non-TDM components may not be part of a TDM, such that they may not be replacement in a TDM field replacement. Partial-TDM components may not be part of a TDM, but may be affected themselves or other associated components may be affected by repair/replacement of one or more portions (e.g., layers) of a TDM. For example, an application or algorithm that utilize sensor measurements may be affected by a sensor if measurements made by the sensor are based on (e.g., sensitive to) the properties/characteristics/operation of one or more field repairable portions of a TDM.

Device memory126may represent one or more memories associated with (e.g., read and/or written by) one or more components. For example, device memory126may represent an EEPROM storing calibration data132associated with display module120, an NVRAM associated with field recalibrator128, system memory storing application(s)130, operating system(s) (not shown), etc. Device memory126may store, for example, field recalibrator128, application(s)130and calibration data132. Calibration data132may include calibration data generated by factory calibrator110and/or field recalibration data generated by field recalibrator128and/or field recalibrator142. One or more applications130may use calibration data130, for example, to perform calculations, comparisons, make determinations, etc. In some examples, calibration data may be determined/generated and stored by factory calibrator110to adjust light sensor measurement values (e.g., light and/or color property values) based on the optical properties of one or more (e.g., all) layers in display module120, which may vary among display modules.

Device112may execute one or more processes in one or more computing environments. A process is any type of executable (e.g., binary, program, application) that is being executed by a computing device. A process may include one or more instances of applications130and/or field recalibrator128. One or more applications130may utilize calibration data132. For example, an application may apply calibration data to light sensor measurement data generated by first component (e.g., light sensor)114. A process executed by device112may include a firmware interface to access and/or modify firmware (e.g., calibration data132). For example, a firmware interface may include or comprise a unified extensible firmware interface (UEFI), which allows operating system access to firmware. Field recalibrator128/142may be configured to read and write calibration data132via UEFI logic instructions. Field recalibrator128/142may be configured to access other device information (e.g., adaptive color sensor (ACS) sample data), for example, via

An in-field repair/replacement of one or more components in device112may be implemented, for example, by technician154, who may be a field technician interacting with a user interface provided by field recalibrator128executed by device112and/or a field recalibrator142executed by field device136. References to field recalibrator128are interchangeable with references to field recalibrator142.

Field device136may be communicatively coupled to device112to perform an in-field repair/replacement as a field repair device. For example, a field device communication interface152may be communicatively coupled to a device communication interface148via a wireless and/or a wired communication connection150. A field recalibration process (e.g., an instance of field recalibrator128) may (re)calibrate one or more components in device112in a field setting with field ambient condition(s)134. For example, field recalibrator128may be executed to recalibrate one or more components in device112(e.g., first component114, such as a light sensor) if/when device112is repaired (e.g., based on replacement of one or more layers in the optical stack up of display module120).

Field recalibrator128may be executed, for example, if one or more components in display module120are repaired/replaced. Field recalibrator128may be executed in field ambient condition(s)134, for example, if/when repair/replacement of a component might impact operation (e.g., generated values) of one or more components (e.g., sensors) or applications130that utilize information from one or more calibrated components. Field recalibrator128may, for example, read and/or modify calibration data132that an application applies for sensor measurements by first component114. Calibration data132may be modified in the field, for example, to account for differences between display module120before replacement and display module120after a repair/replacement.

FIG.2shows an example of a system200in a computing environment for field recalibration, according to an example embodiment. As shown inFIG.2, system200includes a reconfigurable device202communicating (e.g., wirelessly and/or wired) with a field device218, for example, during a field repair operation on reconfigurable device202. Reconfigurable device202is an example of reconfigurable device112ofFIG.1, and field device218is an example of field device136ofFIG.1.FIG.2corresponds to an example ofFIG.1where field device136operates field recalibrator142, although other examples may be implemented with or without a field device136operating field recalibrator142. As shown in system200, reconfigurable device202includes a display module, such as a touch display module (TDM)204, a firmware interface such as a unified extensible firmware interface (UEFI)208, and a system aggregator module (SAM)212. Field device218includes a UEFI tool220, system information tool (“sys info tool”)222, a field calibrator224, and a solid-state device (SSD)226. TDM204includes an EEPROM206, UEFI208includes logic210, and SAM212includes logic214and NVRAM216. System200is described in further detail as follows.

TDM204may be, for example, a touch display screen, such as on a phone, laptop, notebook, tablet, and/or other computing devices. TDM204is an example of a field replaceable unit. TDM204may include an optical stack up, which may include one or more layers, such as a diffuser, lens, cover glass, aperture, decoration, holes, filters (e.g., IR ink), etc. Each of the layers of TDM204may be considered a field repairable component. One or more layers in the optical stack up may be associated with (e.g., may cover) one or more calibrated components, such as first, second, and/or third components114,116,118, as shown inFIG.1. For example, first component114may be a light sensor calibrated based on an optical stack up in TDM204. TDM204may include a memory module (e.g., a non-volatile memory module), such as electrically erasable programmable read-only memory (EEPROM)206. EEPROM206may store information for TDM204. Information may include, for example, factory calibration parameters, such as offsets, adjustment factors, recalibration parameter(s), etc., which may be customized for the performance of TDM204.

UEFI208may provide a software interface between an operating system (OS) and firmware. UEFI208may include logic210(e.g., firmware) that supports communication and operations, such as accessing information in (e.g., reading from and/or writing to) EEPROM206. UEFI logic210may process UEFI commands received from UEFI tool220in field device220. UEFI208logic210may implement security, such as time-limited access for a field repair of reconfigurable device202. Logic210may detect, for example, if/when information in EEPROM206changes, which may trigger logic. For example, logic210may detect if/when all or a portion of TDM204is repaired/replaced, such as by detecting an altered serial number for TDM204stored in EEPROM206.

SAM212may provide a subsystem platform to access information, such as for the power supply, batteries, sensors, etc. SAM214may include logic214, for example, to communicate with field device222, e.g., process system information (sys info) commands from sys info tool222in field device222. SAM212may include a memory module, such as non-volatile random access memory (NVRAM)216. For example, SAM212may access sensor measurements (e.g., by first component114) and store them in NVRAM before and after repair (e.g., replacement) of a component (e.g., all or a portion of TDM204). In some examples, SAM212may function as a field recalibrator of one or more components based on a field repair of one or more components. For example, SAM212may calculate, verify, and/or apply one or more recalibrations (e.g., multipliers, such as one or more scaling factors), which may be applied to one or more sensor measurement values based on sensor samples taken before and after a field repair. In some examples, the multipliers may be applied by one or more applications130that use the sensor measurements. In various examples, hardware, software, firmware and/or a combination thereof may apply one or more recalibrations (e.g., multipliers).

Field device218may include, for example, a UEFI tool220, a system information (sys info) tool222, a field recalibrator224, and a solid state drive (SSD)226. Field recalibrator224may utilize UEFI tool220and sys info tool222to communicate with UEFI208and SAM212, respectively, in support of a field repair of reconfigurable device202, which may include a field recalibration of one or more components. UEFI tool220may issue UEFI commands to UEFI208, for example, to read from and/or write information to EEPROM206, request that SAM212perform one or more calculations, etc. Sys info tool222may issue sys info requests to SAM212, for example, to access and/or store measurements by first component (e.g., light sensor)114before and after technician154repairs one or more components in reconfigurable device202(e.g., TDM204), and/or to determine one or more recalibration parameters. Field recalibrator224may store pre-repair samples, post-repair samples, recalibration data, etc. on a memory device, such as SSD226.

In some examples, TDM sensor calibration data may be stored on TDM EEPROM206during production. TDM sensor and/or other component configuration data may be copied to SAM NVRAM216during field replacement operations for TDM204. UEFI208may be used to copy calibration data from EEPROM206to NVRAM216.

In some examples, security may be implemented by EUFI208and/or SAM212to limit access (e.g., access time) to repair/replace components in reconfigurable device202. For example, after TDM FRU mode is detected, SAM212may allow sys info requests (e.g., commands) for 2 hours.

In some example, SAM212may perform all or a portion of the functions of field recalibrator218. For example, SAM212may perform repair/replacement logic (e.g., logic214) to verify samples, calculate recalibration multiplier(s), verify thresholds, etc. In some examples, field recalibrator224may sample the sensor(s) (e.g., ACS), store samples on SSD226, and send commands (e.g., sys info requests) to SAM212.

FIG.3shows an example of using recalibration of sensor measurement data for a display, according to an example embodiment. Field recalibration system300is one of many example implementations. The functionality in functional blocks shown in system300may be implemented, in whole or in part, for example, by reconfigurable device112/202. System300may include, for example, memory302, calibrator304, recalibrator306, color space converter308, and/or display adjuster310. Various implementations may rearrange, combine, and/or eliminate functional blocks shown in system300. For example, calibrator and recalibrator may be combined/merged in some implementations.

Sensor channels A, B, C, IR may provide a series (e.g., a stream) of measurements generated, for example, by first component (e.g., light sensor)114.

Measurement converter304may calibrate measurements on sensor channels A, B, C, IR, generating calibrated sensor channel values A, B, C, IR with a confidence assessment in the accuracy of the calibrated values. Measurement converter may access and apply calibration parameters, such as offset values, adjustment factors, etc., to convert measurements on sensor channels A, B, C, IR. Calibration parameters may have been determined and saved in memory302during factory calibration, and/or modified based on one or more recalibrations.

Recalibrator306may access memory302for one or more recalibration parameters, such as one or more field-replaceable unit (FRU) multipliers. Recalibrator306may multiply calibrated sensor channel data by the one or more recalibration parameters, generating recalibrated sensor channels A, B, C, IR, and confidence value(s). In some examples, recalibration may be merged with calibration. In some examples, recalibration may be implemented in an order other than as shown in system300.

In some examples, an FRU multiplier may be determined as a product of a previous multiplier and a newly calculated multiplier in accordance with Eq. (1):
FruMultipliernew=FruMultipliercalculated·FruMultiplierprevious(1)
Factory calibration may set an initial multiplier (e.g., FruMultiplierprevious) by default to a value of 1.0. In some examples, a FRU multiplier may be limited within an allowed range, which may be defined by MULITPLIER_MAX (e.g., 1.8) and MULTIPLIER_MIN (e.g., 0.5).

Color space converter308may convert recalibrated sensor channel data to a color space, such as CIE, generating CIE Yxy, and confidence value(s). Additional functionality may be omitted. For example, a display adjuster may adjust the color space, e.g., by adjusting brightness and/or white balance.

FIG.4shows an example flowchart of a method400of field recalibration operations based on pre-repair and post-repair sensor measurements, according to an example embodiment. Embodiments disclosed herein and other embodiments may operate in accordance with example method400. Example method400comprises steps402-416, one or more of which are indicated as optional by dashed lines. However, other embodiments may operate according to other methods. Other structural and operational embodiments will be apparent to persons skilled in the relevant art(s) based on the foregoing discussion of embodiments. No order of steps is required unless expressly indicated or inherently required. There is no requirement that a method embodiment implement all of the steps illustrated inFIG.4.FIG.4is simply one of many possible embodiments. Embodiments may implement fewer, more or different steps.FIG.4is described as follows with reference toFIGS.1and2to illustrate example embodiments.

In step402, pre-repair samples may be obtained from one or more sensors. For example, with reference toFIGS.1and2, field recalibrator224may cause sys info tool222to request that SAM212obtain pre-repair sensor measurements (samples) from first component114(e.g., sensor162as a light sensor) before one or more components in display module120(e.g., TDM204) are replaced by technician154. SAM212may obtain and store the samples in NVRAM216.

In step404, all or part of a TDM may be removed. For example, as shown inFIGS.1and2, technician154may remove display module120(e.g., TDM202).

In step406, all or part of a TDM may be repaired/replaced (e.g., one or more layers in an optical stack up may be attached). For example, as shown inFIGS.1and2, technician154may attach one or more layers in an optical stack up of display module120(e.g., TDM202).

In step408, a determination may be made whether the TDM was damaged in an area of the sensor(s) and/or whether ambient lighting changed since pre-repair samples were taken in step402. For example, as shown inFIGS.1and2, field recalibrator224may query technician154via a user interface to indicate whether the repaired display module120(e.g., TDM202) was damaged in the area of first component114(e.g., sensor162), which may impact the accuracy of measurements. An indication of no to both questions may transition example method400from step408to step410. An indication of yes to either question may transition example method400from step408to step414. Field recalibrator128/142may determine whether pre-repair field ambient condition(s)134are similar enough to post-repair field ambient condition(s)134, for example, to determine whether pre-repair and post repair samples are based on comparable ambient conditions, making a comparison valid or invalid with or without compensation. For example, technician (e.g., a user) may be requested to maintain ambient conditions during sensor sampling.

In step410, sensor-based field calibration is selected. For example, as shown inFIGS.1and2, field recalibrator224may select field recalibration of display module120(e.g., TDM202) based on measurements by first component (e.g., light sensor)114before and after a repair.

In step412, sensor-based field calibration may be performed, for example, by obtaining post-repair sensor values, calculating one or more scaling factors (e.g., FRU multipliers), validating that the scaling factor(s) is(are) within a threshold range, and storing the scaling factor(s). For example, as shown inFIGS.1-3, field recalibrator142/224may cause sys info tool222to request that SAM212obtain post-repair sensor measurements from first component (e.g., light sensor)114after one or more components in display module120(e.g., TDM204) are replaced by technician154. SAM212may obtain and store the samples in NVRAM216. Field recalibrator142/224may cause sys info tool222to request that SAM212perform field recalibration calculations by calculating one or more scaling factors (e.g., for sensor channels A, B, C, IR), such as one or more FRU multipliers, utilizing pre-repair samples and post repair samples. Field recalibrator142/224may determine and/or may cause SAM212to determine whether the scaling factor(s) and/or the result they may generate based on calibration range(s) is(are) within a threshold range. For example, field recalibrator142/224may provide SAM212with the threshold range(s) for the determination. Field recalibrator142/224may cause SAM212to store the calculated (e.g., or otherwise determined) scaling factor(s), for example, in SAM NVRAM216. Field recalibrator142/224may or may cause SAM212or may cause UEFI tool220to cause UEFI208to store the calculated (e.g., or otherwise determined) scaling factor(s), for example, in TDM EEPROM206.

In step414, alternative calibration is selected. For example, as shown inFIGS.1and2, field recalibrator224may select a default field recalibration of display module120(e.g., TDM202). A default field recalibration may be, e.g., in whole or in part, a general or non-customized field calibration, which may degrade TDM performance (e.g., compared to customized field recalibration in step412using measurements based on the actual part(s)/component(s)) in reconfigurable device112/202.

In step416, alternative calibration may be performed, for example, by storing the alternate calibration (e.g., one or more alternate calibration multipliers). For example, as shown inFIGS.1and2, field recalibrator224may store a default field recalibration of display module120(e.g., TDM202). Field recalibrator142/224may cause SAM212to store the alternate (e.g., default) scaling factor(s), for example, in SAM NVRAM216. Field recalibrator142/224may cause SAM212or may cause UEFI tool220to cause UEFI208to store the alternate (e.g., default) recalibration, for example, in TDM EEPROM206.

FIGS.5A-5Cshow an example of an interaction diagram for field recalibration based on pre-repair and post-repair sensor measurements, according to an example embodiment. Embodiments disclosed herein and other embodiments may operate in accordance with example methods500A-500C. Methods500A-500C comprise steps502-538. However, other embodiments may operate according to other methods. Other structural and operational embodiments will be apparent to persons skilled in the relevant art(s) based on the foregoing discussion of embodiments. No order of steps is required unless expressly indicated or inherently required. There is no requirement that a method embodiment implement all of the steps illustrated inFIGS.5A-5C.FIGS.5A-5Care simply one of many possible embodiments. Embodiments may implement fewer, more or different steps. Methods500A-500C are described as follows with reference toFIGS.1-3to illustrate various example embodiments.

FIGS.5A-5Cshow one of many possible examples of the example operation described in other figures (e.g.,FIGS.1-4,6and7).FIGS.5A-5Cshow example method500A-500C, respectively, using field device136operating field recalibrator142and reconfigurable device112, although other examples may be implemented with or without a field device136operating field recalibrator142. For example, reconfigurable device may operate field recalibrator128(e.g., using display module120or a display module on field device136(not shown).

FIG.5Ashows method500A of an example of a pre-repair procedure to obtain and verify sensor samples, e.g., for use in a recalibration procedure. As shown in the example interaction diagram ofFIG.5A, in step502, the field recalibrator may get pre-repair adaptive color sensor (ACS) samples. For example, as shown inFIGS.1and2, field recalibrator224may cause sys info tool222to request that SAM212obtain pre-repair sensor measurements (samples) from first component114(e.g., light sensor/ACS) before one or more components in display module120(e.g., TDM204) are replaced by technician154.

In step504, SAM212may access the sensor (e.g., ACS). For example, as shown inFIGS.1and2, SAM212may access first component (e.g., light sensor/ACS)114to obtain sensor measurements (e.g., for each of sensor channels A, B, C, IR) prior to repair of display module120(e.g., TDM204). SAM212may store the pre-repair samples, for example, in NVRAM216.

In step506, the pre-repair samples may be evaluated/verified. For example, as shown inFIGS.1and2, field recalibrator142/224may determine and/or (e.g., as shown by example inFIG.5A) may cause SAM212to determine whether the pre-repair samples (e.g., for sensor channels A, B, C, IR) are within a threshold range. For example, field recalibrator142/224may provide SAM212with the threshold range(s) for the determination(s) about the pre-repair samples.

In step508, a determination may be made about the validity of the pre-repair samples. For example, as shown inFIGS.1and2, field recalibrator142/224may proceed to step506if the samples are within a valid range. Field recalibrator142/224may proceed to step508if the samples are not within a valid range. By determining that the samples are within a valid range, it may be established that there has not been a component/sensor malfunction.

In step510, valid (e.g., in-range) pre-repair samples may be stored. For example, as shown inFIGS.1and2, field recalibrator142/224may cause SAM212to store the samples in NVRAM216and/or field recalibrator142/224may store the samples in SSD226. The example method may proceed from step510to the end of the pre-repair procedure at step514.

In step512, e.g., if the samples are invalid/out-of-range, a technician may be provided with an opportunity to retry pre-repair sample collection. For example, as shown inFIGS.1and2, field recalibrator142/224may ask technician154whether technician154wants to retry pre-repair sample collection. A “no” response may cause the example method to end a pre-repair portion of the method at step514. A “yes” response may cause example method to return to step502.

FIG.5Bshows method500B of an example of a post-repair procedure to obtain and verify sensor samples and determine one or more recalibration parameters, e.g., for use in a recalibration procedure.FIG.5Cshows method500C, which is a continuation of method500B ofFIG.5B.FIGS.5B and5Care described in further detail as follows.

As shown in method500B of the example interaction diagram ofFIG.5B, in step516, the field recalibrator may get post-repair ACS samples. For example, as shown inFIGS.1and2, field recalibrator224may cause sys info tool222to request that SAM212obtain post-repair sensor measurements (samples) from first component114(e.g., light sensor/ACS) after technician154replaces one or more components in display module120(e.g., TDM204).

In step518, SAM212may access the sensor (e.g., ACS). For example, as shown inFIGS.1and2, SAM212may access first component (e.g., light sensor/ACS)114to obtain sensor measurements (e.g., for each of sensor channels A, B, C, IR) after to repair of display module120(e.g., TDM204). SAM212may store the post-repair samples, for example, in NVRAM216.

In step520, the post-repair samples may be evaluated/verified. For example, as shown inFIGS.1and2, field recalibrator142/224may determine and/or (e.g., as shown by example inFIG.5A) may cause SAM212to determine whether the post-repair samples (e.g., for sensor channels A, B, C, IR) are within a threshold range. For example, field recalibrator142/224may provide SAM212with the threshold range(s) for the determination(s) about the validity of the post-repair samples.

In step522, a determination may be made about the validity of the post-repair samples. For example, as shown inFIGS.1and2, Field recalibrator142/224may proceed to step524if the samples are not within a valid range (e.g., indicating component/sensor malfunction). Field recalibrator142/224may proceed to step526if the samples are within a valid range. Again, by determining that the samples are within a valid range, it may be established that there has not been a component/sensor malfunction.

In step524, e.g., if the post-repair samples are invalid/out-of-range, a technician may be provided with an opportunity to retry post-repair sample collection. For example, as shown inFIGS.1and2, field recalibrator142/224may ask technician154whether technician154wants to retry post-repair sample collection. A “no” response may cause example the example method to proceed to alternative calibration at step536of method500C shown inFIG.5C. A “yes” response may cause the example method to return to step516.

In step526, valid (e.g., in-range) pre-repair samples may be loaded from memory. For example, as shown inFIGS.1and2, field recalibrator142/224may cause SAM212to load the pre-repair samples in NVRAM216and/or field recalibrator142/224may load the pre-repair samples from SSD226. The example method may proceed from step526to step528.

In step528, pre-repair samples and post-repair samples are provided by field recalibrator to the SAM. For example, as shown inFIGS.1and2, field recalibrator142/224may provide pre-repair samples and post-repair samples to SAM212.

In step530, recalibration may be performed, for example, by calculating one or more FRU multipliers. For example, as shown inFIGS.1-3, SAM212may determine one or more multipliers to apply to sensor channels A, B, C, IR to attempt to provide consistent performance of first component (e.g., light sensor/ACS)114before damage/malfunction (e.g., based on factory calibration) and post-repair with one or more components of display module120(e.g., TDM204) repaired (e.g., replaced). The operation/performance (e.g., optical characteristics) of one or more components (e.g., the measurements/samples provided by first component114) may vary between pre-repair and post-repair of display module120(e.g., TDM204). SAM212may use pre-repair samples and post-repair samples to adjust factory calibration (e.g., and/or previous factory/field recalibration) with one or more field recalibrations, which may be referred to as an FRU multiplier. Field recalibration of samples may (e.g., effectively) be used by reconfigurable device112to recalibrate operation of one or more components, e.g., display module120(TDM204), that may be dependent on sensor samples.FIG.3shows an example of adjusting device calibration (e.g., calibrator304) with recalibration (e.g., recalibrator306) by applying one or more field recalibration parameters determined by field recalibrator128/142/224.

As shown in method500C ofFIG.5C, in step532, the determined recalibration parameters (e.g., FRU multiplier(s)) and the performance consistency of reconfigurable device102and/or a portion thereof (e.g., display module120, such as TDM204)) relative to factory configured (e.g., and/or previously reconfigured) performance may be evaluated/verified, e.g., by the SAM. For example, as shown inFIGS.1and2, field recalibrator142/224may determine and/or (e.g., as shown by example inFIG.5C) may cause SAM212to determine whether the determined recalibration parameters (e.g., FRU multiplier(s), such as for sensor channels A, B, C, IR) and the performance consistency of reconfigurable device102and/or a portion thereof (e.g., display module120, such as TDM204)) are within a threshold range. For example, field recalibrator142/224may provide SAM212with the threshold range(s) for the determination(s) about the recalibration parameters (e.g., FRU multiplier(s)) and the performance consistency of reconfigurable device102and/or a portion thereof (e.g., display module120, such as TDM204)). The example method may proceed to step536if the recalibration parameters (e.g., FRU multiplier(s)) and the performance consistency of reconfigurable device102or a portion thereof (e.g., display module120, such as TDM204)) are within a valid range. The example method may proceed to step508if the recalibration parameters (e.g., FRU multiplier(s)) and the performance consistency of reconfigurable device102or a portion thereof (e.g., display module120, such as TDM204)) are not within a valid range.

In step534, valid recalibration parameters (e.g., FRU multiplier(s)) may be stored in memory. For example, as shown inFIGS.1and2, field recalibrator142/224may store the valid recalibration parameters (e.g., FRU multiplier(s)) in NVRAM216and/or field recalibrator142/224may cause SAM212to store the valid recalibration parameters (e.g., FRU multiplier(s)) in NVRAM216and/or URFI208to store the recalibration parameters (e.g., FRU multiplier(s)) in EEPROM206. Step534, e.g., upon completion, may proceed to the end of the example method at step538.

In step536, alternative calibration may be performed if the recalibration parameters (e.g., FRU multiplier(s)) and/or the performance consistency of reconfigurable device102or a portion thereof (e.g., display module120, such as TDM204)) are beyond a valid range. For example, as shown inFIGS.1and2, field recalibrator224may select a default field recalibration of display module120(e.g., TDM202). A default field recalibration may be, e.g., in whole or in part, a general or non-customized field calibration, which may degrade TDM performance (e.g., compared to customized field recalibration in step412using measurements based on the actual part(s)/component(s)) in reconfigurable device112/202. Step536, e.g., upon completion, may proceed to the end of the example method at step538.

FIG.6shows an example flowchart providing a method600of the operation of field repair recalibration, according to an example embodiment. Embodiments disclosed herein and other embodiments may operate in accordance with example method600. Method600comprises steps602-606, one or more of which are indicated as optional by dashed lines. However, other embodiments may operate according to other methods. Other structural and operational embodiments will be apparent to persons skilled in the relevant art(s) based on the foregoing discussion of embodiments. No order of steps is required unless expressly indicated or inherently required. There is no requirement that a method embodiment implement all of the steps illustrated inFIG.6.FIG.6is simply one of many possible embodiments. Embodiments may implement fewer, more or different steps. Method600ofFIG.6is described as follows with reference toFIGS.1-3to illustrate example embodiments.

Method600may (e.g., optionally) comprise step602. In step602, an in-field recalibration may be generated for a field repairable device. The field repairable device may comprise a field repairable component and a sensor configured to generate samples dependent on the field repairable component. By the sensor generating samples dependent on the field repairable component, the samples may be used to determine changes due to changing out the field repairable component. The in-field recalibration may be generated based on: a pre-repair sample generated by the sensor before repair of the field repairable component; and a post-repair sample generated by the sensor after repair of the field repairable component in the field repairable device. For example, as shown inFIGS.1and2, reconfigurable device112comprises display module120, first component (e.g., light sensor), second component116, and third component118. First component114may generate samples that depend on display module120. Field recalibrator128and/or field recalibrator142may generate an in-field recalibration for (e.g., future) samples generated by first component114based on (e.g., light and/or color) measurements generated by first component (e.g., light sensor)114before and after repair/replacement of display module120(e.g., TDM204).

In step604, the in-field recalibration may be applied to samples generated by the sensor. For example, as shown inFIG.3, recalibrator306may apply the recalibration determined in step602to samples for one or more channels (e.g., A, B, C, IR) generated by first component114. The recalibration value(s) may be applied, for example, in accordance with Eq. (1).

III. Example Computing Device Embodiments

As noted herein, the embodiments described, along with any circuits, components and/or subcomponents thereof, as well as the flowcharts/flow diagrams described herein, including portions thereof, and/or other embodiments, may be implemented in hardware, or hardware with any combination of software and/or firmware, including being implemented as computer program code configured to be executed in one or more processors and stored in a computer readable storage medium, or being implemented as hardware logic/electrical circuitry, such as being implemented together in a system-on-chip (SoC), a field programmable gate array (FPGA), and/or an application specific integrated circuit (ASIC). A SoC may include an integrated circuit chip that includes one or more of a processor (e.g., a microcontroller, microprocessor, digital signal processor (DSP), etc.), memory, one or more communication interfaces, and/or further circuits and/or embedded firmware to perform its functions.

Embodiments disclosed herein may be implemented in one or more computing devices that may be mobile (a mobile device) and/or stationary (a stationary device) and may include any combination of the features of such mobile and stationary computing devices. Examples of computing devices in which embodiments may be implemented are described as follows with respect toFIG.7.FIG.7shows a block diagram of an exemplary computing environment700that includes a computing device702. Computing device702is an example of factory device104, reconfigurable device112, and field device136ofFIG.1, each of which may include one or more of the components of computing device702. In some embodiments, computing device702is communicatively coupled with devices (not shown inFIG.7) external to computing environment700via network704. Network704comprises one or more networks such as local area networks (LANs), wide area networks (WANs), enterprise networks, the Internet, etc., and may include one or more wired and/or wireless portions. Network704may additionally or alternatively include a cellular network for cellular communications. Computing device702is described in detail as follows

Computing device702can be any of a variety of types of computing devices. For example, computing device702may be a mobile computing device such as a handheld computer (e.g., a personal digital assistant (PDA)), a laptop computer, a tablet computer (such as an Apple iPad™), a hybrid device, a notebook computer (e.g., a Google Chromebook™ by Google LLC), a netbook, a mobile phone (e.g., a cell phone, a smart phone such as an Apple® iPhone® by Apple Inc., a phone implementing the Google® Android™ operating system, etc.), a wearable computing device (e.g., a head-mounted augmented reality and/or virtual reality device including smart glasses such as Google® Glass™, Oculus Rift® of Facebook Technologies, LLC, etc.), or other type of mobile computing device. Computing device702may alternatively be a stationary computing device such as a desktop computer, a personal computer (PC), a stationary server device, a minicomputer, a mainframe, a supercomputer, etc.

As shown inFIG.7, computing device702includes a variety of hardware and software components, including a processor710, a storage720, one or more input devices730, one or more output devices750, one or more wireless modems760, one or more wired interfaces780, a power supply782, a location information (LI) receiver784, and an accelerometer786. Storage720includes memory756, which includes non-removable memory722and removable memory724, and a storage device790. Storage720also stores an operating system712, application programs714, and application data716. Wireless modem(s)760include a Wi-Fi modem762, a Bluetooth modem764, and a cellular modem766. Output device(s)750includes a speaker752and a display754. Input device(s)730includes a touch screen732, a microphone734, a camera736, a physical keyboard738, and a trackball740. Not all components of computing device702shown inFIG.7are present in all embodiments, additional components not shown may be present, and any combination of the components may be present in a particular embodiment. These components of computing device702are described as follows.

A single processor710(e.g., central processing unit (CPU), microcontroller, a microprocessor, signal processor, ASIC (application specific integrated circuit), and/or other physical hardware processor circuit) or multiple processors710may be present in computing device702for performing such tasks as program execution, signal coding, data processing, input/output processing, power control, and/or other functions. Processor710may be a single-core or multi-core processor, and each processor core may be single-threaded or multithreaded (to provide multiple threads of execution concurrently). Processor710is configured to execute program code stored in a computer readable medium, such as program code of operating system712and application programs714stored in storage720. Operating system712controls the allocation and usage of the components of computing device702and provides support for one or more application programs714(also referred to as “applications” or “apps”). Application programs714may include common computing applications (e.g., e-mail applications, calendars, contact managers, web browsers, messaging applications), further computing applications (e.g., word processing applications, mapping applications, media player applications, productivity suite applications), one or more machine learning (ML) models, as well as applications related to the embodiments disclosed elsewhere herein.

Any component in computing device702can communicate with any other component according to function, although not all connections are shown for ease of illustration. For instance, as shown inFIG.7, bus706is a multiple signal line communication medium (e.g., conductive traces in silicon, metal traces along a motherboard, wires, etc.) that may be present to communicatively couple processor710to various other components of computing device702, although in other embodiments, an alternative bus, further buses, and/or one or more individual signal lines may be present to communicatively couple components. Bus706represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures.

Storage720is physical storage that includes one or both of memory756and storage device790, which store operating system712, application programs714, and application data716according to any distribution. Non-removable memory722includes one or more of RAM (random access memory), ROM (read only memory), flash memory, a solid-state drive (SSD), a hard disk drive (e.g., a disk drive for reading from and writing to a hard disk), and/or other physical memory device type. Non-removable memory722may include main memory and may be separate from or fabricated in a same integrated circuit as processor710. As shown inFIG.7, non-removable memory722stores firmware718, which may be present to provide low-level control of hardware. Examples of firmware718include BIOS (Basic Input/Output System, such as on personal computers) and boot firmware (e.g., on smart phones). Removable memory724may be inserted into a receptacle of or otherwise coupled to computing device702and can be removed by a user from computing device702. Removable memory724can include any suitable removable memory device type, including an SD (Secure Digital) card, a Subscriber Identity Module (SIM) card, which is well known in GSM (Global System for Mobile Communications) communication systems, and/or other removable physical memory device type. One or more of storage device790may be present that are internal and/or external to a housing of computing device702and may or may not be removable. Examples of storage device790include a hard disk drive, a SSD, a thumb drive (e.g., a USB (Universal Serial Bus) flash drive), or other physical storage device.

One or more programs may be stored in storage720. Such programs include operating system712, one or more application programs714, and other program modules and program data. Examples of such application programs may include, for example, computer program logic (e.g., computer program code/instructions) for implementing one or more of factory calibrator110, field recalibrator128, application(s)130, field recalibrator142, UEFI208, logic210, SAM212, logic214, field recalibrator224, system300, calibrator304, recalibrator306, color space converter308, along with any components and/or subcomponents thereof, as well as the flowcharts/flow diagrams (e.g., methods400,500A,500B,500C, and/or600) described herein, including portions thereof, and/or further examples described herein.

Storage720also stores data used and/or generated by operating system712and application programs714as application data716. Examples of application data716include web pages, text, images, tables, sound files, video data, and other data, which may also be sent to and/or received from one or more network servers or other devices via one or more wired or wireless networks. Storage720can be used to store further data including a subscriber identifier, such as an International Mobile Subscriber Identity (IMSI), and an equipment identifier, such as an International Mobile Equipment Identifier (IMEI). Such identifiers can be transmitted to a network server to identify users and equipment.

A user may enter commands and information into computing device702through one or more input devices730and may receive information from computing device702through one or more output devices750. Input device(s)730may include one or more of touch screen732, microphone734, camera736, physical keyboard738and/or trackball740and output device(s)750may include one or more of speaker752and display754. Each of input device(s)730and output device(s)750may be integral to computing device702(e.g., built into a housing of computing device702) or external to computing device702(e.g., communicatively coupled wired or wirelessly to computing device702via wired interface(s)780and/or wireless modem(s)760). Further input devices730(not shown) can include a Natural User Interface (NUI), a pointing device (computer mouse), a joystick, a video game controller, a scanner, a touch pad, a stylus pen, a voice recognition system to receive voice input, a gesture recognition system to receive gesture input, or the like. Other possible output devices (not shown) can include piezoelectric or other haptic output devices. Some devices can serve more than one input/output function. For instance, display754may display information, as well as operating as touch screen732by receiving user commands and/or other information (e.g., by touch, finger gestures, virtual keyboard, etc.) as a user interface. Any number of each type of input device(s)730and output device(s)750may be present, including multiple microphones734, multiple cameras736, multiple speakers752, and/or multiple displays754.

One or more wireless modems760can be coupled to antenna(s) (not shown) of computing device702and can support two-way communications between processor710and devices external to computing device702through network704, as would be understood to persons skilled in the relevant art(s). Wireless modem760is shown generically and can include a cellular modem766for communicating with one or more cellular networks, such as a GSM network for data and voice communications within a single cellular network, between cellular networks, or between the mobile device and a public switched telephone network (PSTN). Wireless modem760may also or alternatively include other radio-based modem types, such as a Bluetooth modem764(also referred to as a “Bluetooth device”) and/or Wi-Fi762modem (also referred to as an “wireless adaptor”). Wi-Fi modem762is configured to communicate with an access point or other remote Wi-Fi-capable device according to one or more of the wireless network protocols based on the IEEE (Institute of Electrical and Electronics Engineers) 802.11 family of standards, commonly used for local area networking of devices and Internet access. Bluetooth modem764is configured to communicate with another Bluetooth-capable device according to the Bluetooth short-range wireless technology standard(s) such as IEEE 802.15.1 and/or managed by the Bluetooth Special Interest Group (SIG).

Computing device702can further include power supply782, LI receiver784, accelerometer786, and/or one or more wired interfaces780. Example wired interfaces780include a USB port, IEEE 1394 (FireWire) port, a RS-232 port, an HDMI (High-Definition Multimedia Interface) port (e.g., for connection to an external display), a DisplayPort port (e.g., for connection to an external display), an audio port, an Ethernet port, and/or an Apple® Lightning® port, the purposes and functions of each of which are well known to persons skilled in the relevant art(s). Wired interface(s)780of computing device702provide for wired connections between computing device702and network704, or between computing device702and one or more devices/peripherals when such devices/peripherals are external to computing device702(e.g., a pointing device, display754, speaker752, camera736, physical keyboard738, etc.). Power supply782is configured to supply power to each of the components of computing device702and may receive power from a battery internal to computing device702, and/or from a power cord plugged into a power port of computing device702(e.g., a USB port, an A/C power port). LI receiver784may be used for location determination of computing device702and may include a satellite navigation receiver such as a Global Positioning System (GPS) receiver or may include other type of location determiner configured to determine location of computing device702based on received information (e.g., using cell tower triangulation, etc.). Accelerometer786may be present to determine an orientation of computing device702.

Note that the illustrated components of computing device702are not required or all-inclusive, and fewer or greater numbers of components may be present as would be recognized by one skilled in the art. For example, computing device702may also include one or more of a gyroscope, barometer, proximity sensor, ambient light sensor, digital compass, etc. Processor710and memory756may be co-located in a same semiconductor device package, such as being included together in an integrated circuit chip, FPGA, or system-on-chip (SOC), optionally along with further components of computing device702.

In embodiments, computing device702is configured to implement any of the above-described features of flowcharts herein. Computer program logic for performing any of the operations, steps, and/or functions described herein may be stored in storage720and executed by processor710.

In some embodiments, server infrastructure770may be present in computing environment700and may be communicatively coupled with computing device702via network704. Server infrastructure770, when present, may be a network-accessible server set (e.g., a cloud-based environment or platform). As shown inFIG.7, server infrastructure770includes clusters772. Each of clusters772may comprise a group of one or more compute nodes and/or a group of one or more storage nodes. For example, as shown inFIG.7, cluster772includes nodes774. Each of nodes774are accessible via network704(e.g., in a “cloud-based” embodiment) to build, deploy, and manage applications and services. Any of nodes774may be a storage node that comprises a plurality of physical storage disks, SSDs, and/or other physical storage devices that are accessible via network704and are configured to store data associated with the applications and services managed by nodes774. For example, as shown inFIG.7, nodes774may store application data778.

Each of nodes774may, as a compute node, comprise one or more server computers, server systems, and/or computing devices. For instance, a node774may include one or more of the components of computing device702disclosed herein. Each of nodes774may be configured to execute one or more software applications (or “applications”) and/or services and/or manage hardware resources (e.g., processors, memory, etc.), which may be utilized by users (e.g., customers) of the network-accessible server set. For example, as shown inFIG.7, nodes774may operate application programs776. In an implementation, a node of nodes774may operate or comprise one or more virtual machines, with each virtual machine emulating a system architecture (e.g., an operating system), in an isolated manner, upon which applications such as application programs776may be executed.

In an embodiment, one or more of clusters772may be co-located (e.g., housed in one or more nearby buildings with associated components such as backup power supplies, redundant data communications, environmental controls, etc.) to form a datacenter, or may be arranged in other manners. Accordingly, in an embodiment, one or more of clusters772may be a datacenter in a distributed collection of datacenters. In embodiments, exemplary computing environment700comprises part of a cloud-based platform such as Amazon Web Services® of Amazon Web Services, Inc. or Google Cloud Platform™ of Google LLC, although these are only examples and are not intended to be limiting.

In an embodiment, computing device702may access application programs776for execution in any manner, such as by a client application and/or a browser at computing device702. Example browsers include Microsoft Edge® by Microsoft Corp. of Redmond, Washington, Mozilla Firefox®, by Mozilla Corp. of Mountain View, California, Safari®, by Apple Inc. of Cupertino, California, and Google® Chrome by Google LLC of Mountain View, California.

For purposes of network (e.g., cloud) backup and data security, computing device702may additionally and/or alternatively synchronize copies of application programs714and/or application data716to be stored at network-based server infrastructure770as application programs776and/or application data778. For instance, operating system712and/or application programs714may include a file hosting service client, such as Microsoft® OneDrive® by Microsoft Corporation, Amazon Simple Storage Service (Amazon S3)® by Amazon Web Services, Inc., Dropbox® by Dropbox, Inc., Google Drive™ by Google LLC, etc., configured to synchronize applications and/or data stored in storage720at network-based server infrastructure770.

In some embodiments, on-premises servers792may be present in computing environment700and may be communicatively coupled with computing device702via network704. On-premises servers792, when present, are hosted within an organization's infrastructure and, in many cases, physically onsite of a facility of that organization. On-premises servers792are controlled, administered, and maintained by IT (Information Technology) personnel of the organization or an IT partner to the organization. Application data798may be shared by on-premises servers792between computing devices of the organization, including computing device702(when part of an organization) through a local network of the organization, and/or through further networks accessible to the organization (including the Internet). Furthermore, on-premises servers792may serve applications such as application programs796to the computing devices of the organization, including computing device702. Accordingly, on-premises servers792may include storage794(which includes one or more physical storage devices such as storage disks and/or SSDs) for storage of application programs796and application data798and may include one or more processors for execution of application programs796. Still further, computing device702may be configured to synchronize copies of application programs714and/or application data716for backup storage at on-premises servers792as application programs796and/or application data798.

Embodiments described herein may be implemented in one or more of computing device702, network-based server infrastructure770, and on-premises servers792. For example, in some embodiments, computing device702may be used to implement systems, clients, or devices, or components/subcomponents thereof, disclosed elsewhere herein. In other embodiments, a combination of computing device702, network-based server infrastructure770, and/or on-premises servers792may be used to implement the systems, clients, or devices, or components/subcomponents thereof, disclosed elsewhere herein.

As noted above, computer programs and modules (including application programs714) may be stored in storage720. Such computer programs may also be received via wired interface(s)780and/or wireless modem(s)760over network704. Such computer programs, when executed or loaded by an application, enable computing device702to implement features of embodiments discussed herein. Accordingly, such computer programs represent controllers of the computing device702.

Embodiments are also directed to computer program products comprising computer code or instructions stored on any computer-readable medium or computer-readable storage medium. Such computer program products include the physical storage of storage720as well as further physical storage types.

Methods, systems, and computer program products are provided for field repair recalibration. A field repairable device with a field repairable component (e.g., field replaceable unit (FRU)) may be recalibrated in the field. Field recalibration may be component-specific without sophisticated factory calibration equipment. For example, a light sensor (e.g., brightness and/or color measurements) dependent on one or more optical layers in a display module (e.g., a touch display module) may be recalibrated in the field based on the properties of the post-repair FRU that replaced a damaged/inoperable pre-repair FRU (e.g., TDM or a portion thereof). A sensor may be integrated in or separate from an FRU. A field recalibrator (e.g., in a field repairable device and/or in a field repair device) may be configured to generate an in-field recalibration of a sensor based on a pre-repair sample generated by the sensor before repair of a field repairable component; and a post-repair sample generated by the sensor after repair of the field repairable component.

In examples, a device (e.g., alone and/or with a field repair device) may perform self-calibration of display light and/or color output. One or more layers in a display may be repaired/replaced in a computing device. The computing device may perform a recalibration of a repaired (e.g., newly installed) display. Existing or new sensors may be used for the recalibration of the repaired display. The sensor(s) may generate display light intensity and/or color output measurements prior to repair/replacement. The sensor(s) may be used to measure the display light intensity and/or color provided by the repaired (e.g., new) display, for example, based on the same or similar signals provided to the pre-repaired display and the repaired display for light and/or color (re)calibration and/or based on the same or similar ambient condition(s) for pre- and post-repair samples. The measured difference(s) in the sampled display light and/or color output may be used to make adjustments to the signals used to drive display light and/or color output, e.g., to more closely match the original display light and/or color output provided using the signals during calibration. The adjustments may be used to control the signals provided to the repaired display to provide display output.

In examples, one or more devices may implement a method for in-field correction/re-calibration of a light sensor after TDM in-field repair/replacement. Light strength may be measured (e.g., in lux) by a light sensor while using the pre-repair TDM (e.g., before replacement). Light strength may be measured (e.g., in lux) by the light sensor while using the post-repair (e.g., new) TDM (e.g., after replacement). A recalibration parameter (e.g., a factor, ratio) may be determined based on (e.g., between) the old TDM light strength measurement and the new TDM light strength measurement. The recalibration factor may be stored (e.g., as a re-calibration parameter) in firmware. Light sensor samples may be multiplied by the recalibration factor, for example, to generate more accurate sensor measurement calibrations (e.g., according to an uncalibrated repair/replacement component, such as cover glass). An application (e.g., a script) may instruct a user to complete a step-by-step process and to monitor progress. Alternate recalibration may be implemented, for example, if the re-calibration method fails, if the TDM is broken in sensor area, and/or if ambient lighting changes after light and/or color measurements while using the old TDM (e.g., before replacement). For example, a TDM and/or sensor may be recalibrated individually, which may allow in-field replacement while generating a new end-to-end (re)calibration value. For example, a default recalibration value (e.g., nominal factory value) may be implemented after repair/replacement (e.g., based on one or more failures in pre-repair and post-repair sensor-measurement-based recalibration).

In examples, a device may comprise a field recalibrator configured to generate an in-field recalibration of a sensor based at least in part on: a pre-repair sample generated by the sensor before repair of a field repairable component; and a post-repair sample generated by the sensor after repair of the field repairable component.

A device may provide the in-field recalibration to a field repairable device comprising the field repairable component and the sensor.

A device may (e.g., further) comprise the field repairable component and the sensor, which may generate samples dependent on the field repairable component. The device may apply the in-field recalibration.

The sensor may be integrated with the field repairable component. The sensor may, alternatively, be separate from the field repairable component.

The field repairable component may comprise a field replaceable unit (FRU).

The FRU may comprise at least one layer in an optical stack up of a touch display module (TDM).

In some examples, the sensor may comprise a light and color sensor. The pre-repair sample may comprise an in-field pre-repair measurement of light and color of an ambient environment. The post-repair sample may comprise an in-field post-repair measurement of light and color of the ambient environment.

The in-field recalibration may comprise a multiplier applied to a plurality of sensor sample channels generated by the sensor (e.g., A, B, C and infrared (IR) channels. The in-field recalibration may be applied before color space conversion of the samples in the channel(s).

The field recalibrator may be (e.g., further) configured to perform at least one of the following: determine whether the pre-repair sample is within a valid pre-repair range (to confirm the pre-repair sample is consistent with proper device operation and thus is usable); determine whether the post-repair sample is within a valid post-repair range (to confirm the post-repair sample is consistent with proper device operation and thus is usable); determine whether the in-field recalibration (e.g., scaling factor) is within a valid recalibration range; or determine whether the post-repair performance (e.g., operation) of at least a portion of the device is within a valid performance range (e.g., relative to/consistent with pre-repair performance, to confirm device replacement was successful without degraded device performance).

In examples, a method may comprise generating an in-field recalibration for a field repairable device comprising a field repairable component and a sensor configured to generate samples dependent on the field repairable component based at least in part on: a pre-repair sample generated by the sensor before repair of the field repairable component; and a post-repair sample generated by the sensor after repair of the field repairable component in the field repairable device.

A method may (e.g., further) comprise providing the in-field recalibration to the field repairable device.

In some examples, the device may comprise the field repairable device. The method may (e.g., further) comprise applying the in-field recalibration to samples generated by the sensor.

The sensor may be integrated with the field repairable component or the sensor may be separate from the field repairable component.

The field repairable component may comprise at least one layer in an optical stack up of a touch display module (TDM).

The sensor may comprise a light and color sensor. The pre-repair sample may comprise an in-field pre-repair measurement of light and color of an ambient environment. The post-repair sample may comprise an in-field post-repair measurement of light and color of the ambient environment.

The in-field recalibration may comprise a multiplier applied to a plurality of sensor sample channels generated by the sensor (e.g., A, B, C and infrared (IR) channels). The recalibration may be applied before color space conversion of the samples in the channel(s).

A method may (e.g., further) comprise at least one of the following: determining whether the pre-repair sample is within a valid pre-repair range; determining whether the post-repair sample is within a valid post-repair range; determining whether the in-field recalibration (e.g., scaling factor) is within a valid recalibration range; or determining whether the post-repair performance (e.g., operation) of at least a portion of the method is within a valid performance range (e.g., relative to/consistent with pre-repair performance).

In examples, a computer-readable storage medium may have program instructions recorded thereon that, when executed by a processing circuit, perform a method, which may comprise generating an in-field recalibration for a field repairable device comprising a field repairable component and a sensor configured to generate samples dependent on the field repairable component based at least in part on: a pre-repair sample generated by the sensor before repair of the field repairable component; and a post-repair sample generated by the sensor after repair of the field repairable component in the field repairable device.

A method may (e.g., further) comprise applying the in-field recalibration to samples generated by the sensor.

The field repairable component may comprise at least one layer in an optical stack up of a touch display module (TDM). The sensor may comprise a light and color sensor. The pre-repair sample may comprise an in-field pre-repair measurement of light and color of an ambient environment. The post-repair sample may comprise an in-field post-repair measurement of light and color of the ambient environment.

In the discussion, unless otherwise stated, adjectives such as “substantially” and “about” modifying a condition or relationship characteristic of a feature or features of an embodiment of the disclosure, are understood to mean that the condition or characteristic is defined to within tolerances that are acceptable for operation of the embodiment for an application for which it is intended. Furthermore, where “based on” is used to indicate an effect being a result of an indicated cause, it is to be understood that the effect is not required to only result from the indicated cause, but that any number of possible additional causes may also contribute to the effect. Thus, as used herein, the term “based on” should be understood to be equivalent to the term “based at least in part on.”