Improved wireless battery charging
By detecting the reasons for disconnection during wireless charging, determining whether it is caused by electrical noise, and suppressing notifications when necessary, the negative impact of wireless charging interruptions and reconnection on the battery and user experience is solved, and battery life and user experience improvement is achieved.
Patent Information
- Application Number
- CN202380073634.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-09-08
- Filing Date
- 2023-09-06
- Publication Date
- 2025-05-30
AI Technical Summary
During wireless charging, connection disruptions and reconnections due to electrical noise can damage the battery, increase the number of charging cycles, and negatively affect the user experience.
By detecting abnormal battery charger behavior, determining whether the disconnection is caused by electrical noise and suppressing or canceling unnecessary notifications to the user within a specific time range, reducing interruption and reconnection of wireless charging connections.
Reduces the possibility of battery damage, extends battery life, and improves user experience with the device, reducing unnecessary charger status notifications.
Smart Images

Figure CN120077546A_ABST
Abstract
Description
[0001] Cross - reference to related applications
[0002] This application is an international application of U.S. application 17 / 940,509, filed on September 8, 2022, and claims the benefit of that application, which is hereby incorporated by reference in its entirety. Background Art
[0003] An electronic device may include a battery capable of wireless charging. Some batteries may expand, bulge, or otherwise change shape over time. For example, a battery may react to thermal events, aging, corrosion, damage, and other factors of a battery assembly. These factors may be affected by the number of charge cycles completed by the battery. Noise generated due to current variations and other issues during wireless charging may cause the battery to undergo unnecessary charge cycles. Therefore, improved wireless battery charging may be desirable. Brief Description of the Drawings
[0004] Figure 1 is a schematic diagram of an example use case of improved wireless battery charging according to one or more embodiments of the present disclosure.
[0005] Figure 2 is an example process flow for improved wireless battery charging according to one or more embodiments of the present disclosure.
[0006] Figure 3 is an example hybrid data and process flow for determining a probability value and improving wireless battery charging according to one or more embodiments of the present disclosure.
[0007] Figure 4 is a schematic diagram of an example process flow and use case for processing a charging connection notification according to one or more embodiments of the present disclosure.
[0008] Figure 5 is an example process flow for determining whether to trigger charging protection during wireless battery charging according to one or more embodiments of the present disclosure.
[0009] Figure 6 Schematically illustrates an example architecture of an electronic device according to one or more embodiments of the present disclosure.
[0010] The detailed description is set forth with reference to the accompanying drawings. The drawings are provided for illustrative purposes only and depict example embodiments of the disclosure. The drawings are provided to facilitate understanding of the disclosure and should not be regarded as limiting the breadth, scope, or applicability of the disclosure. Like reference numerals are used to indicate like but not necessarily identical or exactly the same components. Different reference numerals may be used to identify like components. Various embodiments may utilize elements or components other than those illustrated in the drawings, and certain elements and / or components may not be present in various embodiments. The use of singular terms to describe a component or element may, depending on the context, cover a plurality of such components or elements and vice versa. Detailed Description
[0011] Overview
[0012] An electronic device may be configured for wireless charging. For example, the device may include a rechargeable battery capable of wireless charging, such as via inductive charging, magnetic charging, near field communication protocol charging, and other wireless charging methods. During wireless charging, the device and / or the device's battery may establish a wireless charging connection with a wireless charger for energy transfer. Sometimes, such a wireless charging connection may be interrupted due to electrical noise, which may be caused by sudden changes in current or other factors. Using the device to play video or audio content, provide haptic feedback to the device, and other actions during wireless charging may increase the likelihood of electrical noise and, thus, may increase the likelihood of the wireless charging connection being interrupted. If the wireless charging connection is interrupted, the wireless charging connection may be disconnected or decoupled and then may be reconnected or otherwise re-established within a certain time interval or duration (such as within 10 seconds). For various reasons, such disconnection and reconnection may be undesirable. For example, such disconnection and reconnection may increase the likelihood of damaging the battery due to thermal events, increase the number of charge cycles completed by the battery, and so on. In addition, such disconnection and reconnection may have a negative impact on the user experience because the user may be presented with audio or visual notifications of the battery charging and not charging states within a short time frame, which is particularly undesirable when playing audio- or video-based content.
[0013] Embodiments of the present disclosure reduce the likelihood of disconnection during wireless charging by allowing determination of whether the disconnection is due to electrical noise and by allowing suppression or cancellation of unnecessary notifications to the user when a wireless charging disconnection and / or reconnection occurs within a specific time range. Certain embodiments may reduce the likelihood of battery damage by preventing reconnection of wireless charging under unnecessary circumstances, such as when the battery is fully charged and / or when the battery has not discharged a certain amount before reconnection occurs. Some embodiments include time-based metrics that may be used to determine whether to enable or disable wireless charging and to determine whether to trigger a charging protection sequence.
[0014] The present disclosure relates to systems, methods, computer-readable media, techniques, and methods for improved wireless charging, thereby reducing the likelihood of battery damage and extending battery life by filtering out unnecessary wireless charging events. Embodiments may improve the user experience of the device by managing the "charger coupled" and / or "charger decoupled" notifications presented to the user.
[0015] See Figure 1 , an example use case of improved wireless battery charging is depicted in accordance with one or more embodiments of the present disclosure. Device 100 may include a rechargeable battery configured to be wirelessly charged and may be any suitable portable device, such as a mobile device, a docked tablet device, an e-reader, a tablet computer, an audio or video streaming device, an Internet of Things (IoT) device, a product ordering button or device, a home sensor, an in-home care device, headphones, a speaker device, or other devices. In Figure 1 the example of, device 100 may be a tablet computer having a rechargeable battery. The battery may be any suitable type of battery, such as a lithium-ion battery, etc. The battery may power the device. Battery 120 may be charged via a connection to a wireless charging device or wireless charger 110.
[0016] Device 100 may include a power management integrated circuit (PMIC) and a charger integrated circuit, a rechargeable battery, and a wireless receiver configured to facilitate wireless charging with wireless charger 110. The battery may be wirelessly charged via wireless charging connection 120. However, sometimes, wireless charging connection 120 may be interrupted. For example, if device 100 presents video and / or audio content 130 during wireless charging, the noise generated by the audio and / or video presentation may interrupt wireless charging connection 120. In such cases of interruption, embodiments of the present disclosure may implement one or more processes to manage subsequent reconnections and / or wireless charging, and actively manage notifications of such interruptions presented to the user (such as audible sounds, pop-up windows, or other visual notifications, etc.).
[0017] Accordingly, embodiments may detect abnormal battery charger behavior (such as when charging has been completed while the battery is coupled to a wireless charger) to enhance battery safety, reliability, and performance. Embodiments may detect intermittent disconnections in the wireless charging protocol or connection 120 and may determine factors such as the charge state of the battery, the length of time the battery has spent on the wireless charger, and / or other factors to determine whether the battery is experiencing an event that has a negative impact on battery health. Using these different detection method inputs, actions may be automatically implemented to modify the battery charging algorithm and reduce stress on the battery and reduce or eliminate the possibility of generating gas expansion.
[0018] When a battery-powered device is coupled to a wireless charger, the device periodically negotiates the power transfer capability to continue providing power to the device being charged. The battery-powered device can provide user functionality (e.g., play video and audio, etc.) while it is coupled to the wireless charger. In addition to the power drawn for wirelessly charging the device's battery, this user functionality also causes power to be drawn from the wireless charger. Interference between these two power draws from the same wireless power source on the device can cause packet corruption in the periodic negotiation protocol between the wireless charger and the device or in the wireless charging connection 120. This interference can reset the wireless charging protocol, resulting in an instantaneous drop in the power of the battery-powered device until the power transfer capability is renegotiated. Different from wired charging, wireless charging removes the charging voltage from the device during interference. This instantaneous disconnection of the power of the battery-powered device can cause a new charging cycle of the battery, in which the battery charging algorithm is reset and multiple processes such as constant current, constant voltage, and charge termination battery charging processes or phases can be initiated. This instantaneous disconnection may not be due to the user-initiated removal of the wireless charger and may cause a fully charged battery to continue to maintain a high charge state.
[0019] Figure 1 An example process flow 140 is illustrated. At a first operation 150, it can be determined whether the device is wirelessly charging. For example, the device can determine whether the wireless charging protocol or the wireless charging connection 120 is active. If a wireless charging connection is established, the device can determine that the battery is being wirelessly charged. At a second operation 160, the device and / or the remote server can determine that the wireless charging is decoupled due to interference. To make such a determination, the device can consider multiple factors, such as whether audio or visual content is being presented at the device, whether the device has physically moved as indicated by accelerometer data, historical disconnection events associated with a particular wireless charger, and / or other factors (such as those of the kind Figures 2 - 5 discussed). At a third operation 170, the device and / or the remote server can determine whether to enable wireless charging when the connection is re-established. For example, the device can determine that the wireless charging connection is re-established. The device can determine whether to enable wireless charging based at least in part on multiple factors, such as the time elapsed since the last disconnection, the current charge state of the battery, whether the device has been physically moved, the length of time the device has been charged on the wireless charger, and / or other factors. At a fourth operation 180, the device can determine whether to suppress notifications of battery charging and / or discharging. For example, regardless of whether wireless charging is enabled or disabled, the device can delay and / or suppress or may not delay and / or suppress notifications indicating charger charging or discharging / disconnection to avoid negatively impacting the user experience of the device.
[0020] Thus, regardless of whether the wireless charging protocol or connection is interrupted or disrupted, the battery can be charged when needed. The device runtime and / or lifespan can be increased. By managing and / or configuring wireless charging, thermal events and / or swelling or other undesirable events can be reduced or avoided.
[0021] In one example embodiment, the device can include a battery and a controller. The controller can be configured to determine that the battery is coupled to a wireless charger, where the wireless charger wirelessly charges the battery, and to determine that the battery is decoupled from the wireless charger at a first time. The controller can determine that the battery is reconnected to the wireless charger at a second time, and can determine that the device is presenting audio and video at the second time. The controller can determine that a first elapsed time between the first time and the second time is less than a first threshold, such as less than one minute. After the battery has been indicated as fully charged by a charge status indication during a previous time interval and / or during the current charging session, the controller can determine that a first charge state of the battery at the second time is at least equal to a second threshold, such as 95% of the maximum capacity. When the device is coupled to the wireless charger for a period of time (such as a few minutes) or until the battery is discharged to a certain amount, the controller can disable the wireless charging of the battery and / or any power charging (including wired charging). The device can disable the presentation of battery charging notifications during that time interval.
[0022] Some embodiments can account for an interruption of wireless charging due to a user removing the device from the wireless charger. For example, the controller can determine that the battery is coupled to the wireless charger at a third time, and can determine that the battery is decoupled from the wireless charger at a fourth time. The controller can determine that a first value indicating the likelihood of the device being removed from the wireless charger is greater than a threshold, and can determine that the battery is coupled to the wireless charger at a fifth time. The controller can enable the wireless charging of the battery.
[0023] Nonetheless, the device can limit wireless charging to a threshold amount, such as one hour, or 20 hours within any given time frame (such as a 24-hour period). For example, the controller can determine that the battery is coupled to the wireless charger at a third time, and can determine that the battery is decoupled from the wireless charger at a fourth time. The controller can determine that a second elapsed time between the third time and the fourth time is greater than 20 hours, and can determine that the battery is coupled to the wireless charger at a fifth time. The controller can determine that a third elapsed time between the fourth time and the fifth time is less than one minute, and can disable the wireless and / or wired charging of the battery.
[0024] Example embodiments of the present disclosure provide multiple technical features or technical effects. For example, according to example embodiments of the present disclosure, certain embodiments of the present disclosure may include a battery that can be wirelessly charged without interruption when the device is being used to present content and / or when the device is coupled to a wireless charger and drawing additional power from the wireless charger. Some embodiments may include a device configured to determine device usage metrics, battery usage metrics, elapsed time lengths, and other metrics. The above examples of the technical features and / or technical effects of example embodiments of the present disclosure are merely illustrative and not exhaustive.
[0025] One or more illustrative embodiments of the present disclosure have been described above. The above embodiments merely illustrate the scope of the present disclosure and are not intended to be limiting in any way. Accordingly, variations, modifications, and equivalents of the embodiments disclosed herein are also within the scope of the present disclosure. The above embodiments of the present disclosure and additional and / or alternative embodiments will be described in detail below with reference to the accompanying drawings.
[0026] Illustrative embodiments and use cases
[0027] Figure 2 is an example process flow 200 for improved wireless battery charging according to one or more embodiments of the present disclosure. In some embodiments, Figure 2 one or more of the operations in can be performed on a client device and / or a remote server. One or more of the operations in process flow 200 can be optional and can be performed in any order or at least partially simultaneously in some embodiments.
[0028] In some embodiments, process flow 200 can be performed on a device coupled to a wireless charger and / or a device having a battery being wirelessly charged. The device can include a battery, a memory configured to store computer-executable instructions, and at least one computer processor configured to access the memory and execute the computer-executable instructions to perform Figure 2 one or more of the operations presented in.
[0029] At block 210 of process flow 200, the device can determine that the device's battery has been decoupled from the wireless charger at a first time. For example, one or more computer processors can execute one or more modules having computer-executable instructions to determine that the device's battery has been decoupled from the wireless charger at a first time. The device can determine that the device is no longer coupled to the wireless charger and / or that wireless charging of the battery has been stopped. In some instances, negotiation of the wireless charging protocol can be restarted, and / or an attempt to re-establish a wireless charging connection can be a signal used to determine whether the battery has been decoupled from the wireless charger.
[0030] At block 220 of process flow 200, it can be determined that the battery is coupled to the wireless charger at a second time. For example, one or more computer processors may execute one or more modules having computer-executable instructions to determine that the battery is coupled to the wireless charger at a second time. The device can determine that the wireless charging protocol has been renegotiated and / or the wireless charging connection has been re-established or otherwise established. In some embodiments, such as by comparing the device identifier of the charger with the device identifier of the wireless charger at block 210, the device can determine that the wireless charger is the same as the wireless charger from which the device was decoupled at block 210.
[0031] At optional block 230 of process flow 200, it can be determined that the disconnection is the result of noise (such as electrical noise and / or a sudden change in current). For example, one or more computer processors may execute one or more modules having computer-executable instructions to determine that the disconnection is the result of noise (such as electrical noise and / or a sudden change in current). In some embodiments, the device can determine the likelihood that the disconnection is due to noise and can compare the likelihood or a corresponding representative value with a threshold to determine whether the disconnection is the result of noise. Other factors can be used to determine the probability value or likelihood that the disconnection is the result of noise, such as historical disconnection data associated with a particular battery and / or a particular wireless charger, whether the device has been physically moved (as evidenced by accelerometer data) (e.g., the device can receive an indication of device movement associated with user movement from a remote server based on accelerometer data, or an indication that the accelerometer data corresponds to user movement, etc.), the length of time elapsed since the device was decoupled from the charger, and / or other factors.
[0032] At block 240 of process flow 200, it can be determined that a first elapsed time between a first time and a second time is equal to or less than a first threshold. For example, one or more computer processors may execute one or more modules having computer-executable instructions to determine that a first elapsed time between a first time and a second time is equal to or less than a first threshold. The first elapsed time can be the difference between the first time and the second time. The first threshold can be a value such that if the difference is less than the first threshold, the disconnection is likely due to noise, and if the difference is greater than the first threshold, the disconnection is likely not due to noise. In some embodiments, the first threshold can be one minute, and in other embodiments, the first threshold can be 20 seconds, 40 seconds, 80 seconds, 100 seconds, or other values.
[0033] At optional block 250 of process flow 200, it may be determined that a first charge state of the battery at a second time is equal to or greater than a second threshold. For example, one or more computer processors may execute one or more modules having computer-executable instructions that may be executed to determine that the first charge state of the battery at the second time is equal to or greater than the second threshold during a previous charging session and / or after the battery has been fully charged within a certain time interval. The charge state of the battery may be the current charge relative to the maximum capacity of the battery. In some embodiments, the second threshold may be represented as a percentage of the maximum capacity of the battery, such as 85%, 90%, 95%, etc. The second threshold may be such that if the charge state is equal to or greater than the second threshold, it may not be necessary to immediately charge the battery and charging of the battery may be delayed, such as in the case where wireless charging of the battery is interrupted due to noise. In some embodiments, the device may determine that the first charge state of the battery at the second time is equal to or greater than the second threshold before disabling wireless and / or wired charging of the battery.
[0034] At block 260 of process flow 200, wireless charging of the battery may be disabled for a first time interval. For example, one or more computer processors may execute one or more modules having computer-executable instructions that may be executed to disable wireless and / or wired charging of the battery for the first time interval. Since the elapsed time between a disconnection and a reconnection event is less than a first threshold, and optionally because (i) the disconnection of the wireless charging is due to noise, and / or (ii) the first charge state of the battery is equal to or greater than the second threshold, wireless and / or wired charging of the battery may be temporarily disabled for the first time interval. As a result, the risk of damaging the battery due to a thermal event is reduced and battery life is improved. Additionally, notifications regarding the charger being coupled or decoupled may be suppressed or cancelled to avoid affecting the user experience, as discussed in more detail Figure 4 below.
[0035] Figure 3 is an example hybrid data and process flow 300 for determining probability values and improving wireless battery charging in accordance with one or more embodiments of the present disclosure. In some embodiments, one or more of the Figure 3 operations of process flow 300 may be performed at a client device and / or a remote server. One or more of the operations of process flow 300 may be optional and may be performed in any order or at least partially simultaneously in some embodiments.
[0036] The data and process flow 300 can be used to determine a probability value that indicates whether a particular disconnection or reconnection event associated with a wireless charger is due to noise. Based at least in part on the probability value, one or more actions of the process flow can be implemented to improve the user experience and / or reduce the likelihood of damaging the battery.
[0037] The charging anomaly model 310 of the battery can be used to output a probability value 320 indicating a charging anomaly (such as electrical noise or other anomalies). The charging anomaly model can be a battery charging algorithm configured to output a probability value and can be an independent algorithm and / or can be integrated with a battery charging algorithm that sends instructions to the PMIC or charger circuit of the device to control battery charging. The charging anomaly model 310 of the battery can use one or more inputs 302. For example, the charging anomaly model 310 of the battery can receive current wireless charging disconnection data, which can indicate the number of disconnection and / or reconnection events that occurred during a previous time interval (such as the most recent hour), or another metric, such as the number of disconnection or reconnection events that have occurred during a charging session. The charging anomaly model 310 of the battery can receive an input of historical wireless charging disconnection data, which can be specific to a particular wireless charger and / or can be specific to the device itself. The charging anomaly model 310 of the battery can receive an input of accelerometer data, which can be used to determine whether a disconnection event is caused by physical movement of the device, in which case the notification should not be suppressed. The charging anomaly model 310 of the battery can receive an optional input of ambient environment data, such as ambient light level, the presence of one or more users (e.g., determined using a camera, microphone, etc.), whether the device is presenting audio and / or video content, etc., where if no user is present, the notification may not have to be suppressed because the notification may not interrupt the user's use of the device. Based at least in part on one or more of these inputs, the charging anomaly model 310 of the battery can output the probability value 320.
[0038] The probability value 320 can be used at the determination block 330, where it can be determined whether the probability value is greater than a first threshold. For example, the device can compare the probability value with the first threshold to determine whether a disconnection or connection event is due to a charging anomaly. If it is determined at the determination block 330 that the probability value is not greater than the first threshold, the process flow can end at block 340, where wireless charging can be enabled.
[0039] If, at decision block 330, it is determined that the probability value is equal to or greater than a first threshold, the process flow may proceed to block 350, where wireless and / or wired charging may be disabled for a time interval (e.g., temporarily disabled, etc.). At block 360, a wireless charging disconnection counter may be incremented, where the wireless charging disconnection counter may represent the number of disconnections that occur during the time interval and / or during a charging session. At optional block 370, the device may determine that the wireless charging disconnection counter is equal to or greater than a second threshold, which may indicate that the battery may be damaged if charging continues. At optional block 380, the device may cause the maximum charging voltage associated with the battery to be reduced for a second time interval (e.g., 24 hours or less, etc.), such as reduced during a temporary period of time, to avoid overcharging of the battery and to provide additional time to avoid the occurrence of a thermal event.
[0040] In some embodiments, the device may determine that the battery is coupled to a wireless charger at a third time, determine that the battery is decoupled from the wireless charger at a fourth time, determine that a first value indicative of the likelihood that the device has been removed from the wireless charger is greater than a threshold, and may determine that the battery is coupled to the wireless charger at a fifth time. The device may enable wireless charging of the battery. The device may optionally determine accelerometer data associated with the device, where the first value is determined at least in part based on the accelerometer data. The device may optionally determine a device identifier associated with the wireless charger, and may determine a historical disconnection rate associated with the device identifier, where the first value is determined at least in part based on the historical disconnection rate. In some embodiments, prior to disabling wireless and / or wired charging of the battery, the device may determine that the ambient light level at a second time is equal to or greater than a second threshold. The historical disconnection rate may indicate a trend of wireless charging disconnections or decouplings when a particular device is being charged by a particular charger. Due to different charging configurations, component placement, etc., the charging interruptions of different chargers may be different when used with different devices. Thus, by tracking the decoupling rate of a particular charger, such historical data may be used to improve the accuracy of determining whether a decoupling is due to electrical noise.
[0041] Figure 4 is a schematic diagram of an example process flow 400 and use case 440 for processing a charging connection notification in accordance with one or more embodiments of the present disclosure. In some embodiments, one or more of the operations may be performed at a client device and / or a remote server. Figure 4 One or more of the operations of process flow 400 may be optional and may be performed in any order or at least partially simultaneously in some embodiments.
[0042] In Figure 4In [the device], a notification can be presented to the user indicating whether the charger is coupled to the device or has been decoupled from the device. Such a notification can be an audible notification or a visual notification. However, when a wireless charging interruption occurs and then wireless charging is re-established, multiple notifications may be continuously presented to the user, which may be undesirable. Therefore, embodiments may cause certain notifications to be cancelled or delayed for a period of time.
[0043] An example of a delayed notification is presented in use case 440, where the device is reconnected to the wireless charger at t = 0, and instead of presenting the notification at t = 1 as it normally does, the notification is presented at t = 3 or another delayed time. In this example, the notification is delayed and can be presented because the reconnection is due to the user physically moving the device rather than noise causing the wireless charging interruption. In other embodiments, if the interruption is due to noise, the notification can be cancelled or otherwise suppressed.
[0044] At block 410 of process flow 400, it can be determined that wireless charging has been decoupled and reconnected within a certain time interval. For example, one or more computer processors can execute one or more modules with computer-executable instructions to determine that wireless charging has been decoupled and reconnected within a certain time interval (such as one minute or another value).
[0045] At block 420 of process flow 400, it can be determined that the probability value that the wireless charging disconnection is due to noise is greater than a threshold. For example, one or more computer processors can execute one or more modules with computer-executable instructions to determine that the probability value that the wireless charging disconnection is due to noise is greater than a threshold, where the probability value can be determined at least as described with respect to Figure 3 discussed. In Figure 4 the example process flow, the probability value can indicate that the disconnection and reconnection are due to electrical noise.
[0046] At block 430 of process flow 400, the connection notification with the wireless charger can be delayed or suppressed. For example, one or more computer processors can execute one or more modules with computer-executable instructions to delay or suppress the connection notification with the wireless charger. In Figure 4 the example process flow, the presentation of the notification can be delayed, as depicted in use case 440. In other embodiments, the notification can be presented without audio and / or can be cancelled.
[0047] In an embodiment, the device can periodically monitor the battery voltage and the battery charge state. Once the device determines that the battery has been fully charged, charging can be disabled. Each time the wireless charger is disconnected, the device can start a timer to estimate the duration of the wireless charger disconnection. The device can also determine the likelihood or probability value that the battery and the wireless charger experience a power transfer capability renegotiation event. The device compares this probability with a predefined threshold, and if the probability is equal to or greater than the threshold, the device disables charging and does not notify the user that a momentary disconnection has occurred. As the device ages, once the predefined threshold is exceeded, the device reduces the maximum battery voltage to improve battery reliability.
[0048] In some embodiments, the device can determine that the battery is coupled to the wireless charger at a third time and can determine that the battery is decoupled from the wireless charger at a fourth time. The device can determine that the second elapsed time between the third time and the fourth time is equal to or greater than a second threshold, such as a number of hours or relative hours in a time interval (e.g., 20 hours within 24 hours, etc.), and can determine that the battery is coupled to the wireless charger at a fifth time. The device can determine that the third elapsed time between the fourth time and the fifth time is less than a third threshold (e.g., one hour, etc.), and disable wireless and / or wired charging of the battery. For example, the third threshold can be used to reset a charging time counter (e.g., the second threshold, etc.). If the device is not decoupled from the wireless charger within the third threshold time length, the counter or timer may not be reset, and wireless charging can remain disabled. Additionally, the device can disable the presentation of battery charging notifications during a first time interval.
[0049] Figure 5 is an example process flow 500 for determining whether to trigger charge protection during wireless battery charging according to one or more embodiments of the present disclosure. In some embodiments, the operations can be performed at a client device and / or a remote server Figure 5 of one or more of the operations. One or more of the operations of process flow 500 can be optional and can be performed in any order or at least partially simultaneously in some embodiments.
[0050] In Figure 5In [the process], at block 510, the device can determine whether the wireless charger is coupled to the device and / or the device's battery. At determination block 520, the device can determine whether charging protection has been triggered. For example, if a certain number of disconnections and / or reconnections have occurred between the wireless charger and the device or its battery within a certain time interval, charging protection can be triggered. If charging protection has not been triggered, the process flow 500 can continue to determination block 530, where it can be determined whether the battery has been fully charged. For example, the device can determine the current charge state of the battery and can use this charge state to determine that the battery has been fully charged. If the determination at determination block 530 is negative, i.e., the battery is not fully charged, the process flow 500 can end at block 540, where the battery can be charged. If the determination at determination block 530 is positive, i.e., the battery has been fully charged, the process flow 500 can continue to block 550, where charging protection is enabled, and then can end at block 540, where the battery is charged. However, if a subsequent wireless charger connection event is detected, the determination at determination block 520 will be positive as a result of block 550.
[0051] If the determination at determination block 520 is positive, i.e., charging protection has been triggered, the process flow 500 can continue to determination block 560, where it can be determined whether the battery has been discharged by a first threshold amount. For example, the device can determine whether the battery has been discharged by a first threshold amount, which can be expressed as a relative percentage (e.g., 5% of the maximum value, etc.), a certain voltage (e.g., 100 mV, etc.), or other values. If the determination at determination block 560 is positive, i.e., the battery has been discharged by a first threshold amount, the process flow 500 can continue to block 570, where charging protection is disabled. As a result, if a subsequent wireless charger connection event is detected, the determination at determination block 520 will be negative. The process flow 500 can continue to block 540, where the battery can be charged.
[0052] If the determination at determination block 560 is negative, i.e., the battery has not been discharged by a first threshold amount, the process flow 500 can continue to determination block 580, where it can be determined whether the battery has been decoupled for a second threshold time length. For example, the device can determine how much time has passed or the elapsed time since the wireless charger was decoupled from the battery. If the determination at determination block 580 is positive, i.e., the battery has been decoupled for a second threshold time length, the process flow 500 can continue to block 570, where charging protection is disabled, and then continue to block 540, where the battery is charged. If the determination at determination block 580 is negative, i.e., the battery has not been decoupled for a second threshold time length, the process flow 500 can continue to block 540, where the battery is charged and charging protection remains enabled.
[0053] Figures 1 - 5 One or more operations of a method, process flow, or use case may have been described above as being performed by a user equipment, or more specifically, by one or more program modules, applications, etc. executing on the equipment. However, it should be understood that Figures 1 - 5 any operation of a method, process flow, or use case can be performed at least in part in a distributed manner by one or more other devices, or more specifically, by one or more program modules, applications, etc. executing on these devices. In addition, it should be understood that the processing performed in response to the execution of computer-executable instructions provided as part of an application, program module, etc. can be described interchangeably herein as being performed by the application or program module itself, or by the device on which the application, program module, etc. executes. Although Figures 1 - 5 the operations of a method, process flow, or use case can be described in the context of an illustrative device, it should be understood that these operations can be implemented in conjunction with many other device configurations.
[0054] Figures 1 - 5 The operations described and depicted in the illustrative methods, process flows, and use cases in can be carried out or executed in any suitable order (such as the depicted order) as required in the various example embodiments of the present disclosure. In addition, in certain example embodiments, at least a portion of the operations can be performed in parallel. In addition, in certain example embodiments, fewer, more, or different operations than those Figures 1 - 5 depicted in can be performed.
[0055] Although specific embodiments of the present disclosure have been described, those of ordinary skill in the art will recognize that many other modifications and alternative embodiments are within the scope of the present disclosure. For example, any functionality and / or processing capabilities described with respect to a particular device or component can be performed by any other device or component. In addition, although various illustrative implementations and architectures have been described in accordance with the embodiments of the present disclosure, those of ordinary skill in the art will understand that many other modifications to the illustrative implementations and architectures described herein are also within the scope of the present disclosure.
[0056] Certain aspects of the present disclosure have been described above with reference to block diagrams and flowcharts of systems, methods, apparatuses, and / or computer program products according to example embodiments. It should be understood that one or more blocks in the block diagrams and flowcharts, and combinations of blocks in the block diagrams and flowcharts, can be implemented by executing computer-executable program instructions, respectively. Similarly, according to some embodiments, some blocks in the block diagrams and flowcharts may not necessarily need to be executed in the order presented, or may not need to be executed at all. In addition, in certain embodiments, there may be additional components and / or operations outside of the blocks in the block diagrams and / or flowcharts.
[0057] Accordingly, the blocks in the block diagrams and flowcharts support combinations of components for performing the specified functions, combinations of elements or steps for performing the specified functions, and program instruction components for performing the specified functions. It should also be understood that each block in the block diagrams and flowcharts, and combinations of blocks in the block diagrams and flowcharts, can be implemented by a dedicated hardware-based computer system that performs the specified functions, elements, or steps, or a combination of dedicated hardware and computer instructions.
[0058] Exemplary Computer Architecture
[0059] Figure 6 is a schematic block diagram of one or more exemplary electronic devices 600 in accordance with one or more example embodiments of the present disclosure. The electronic device 600 may include any suitable computing device, including but not limited to server systems, mobile devices (such as smartphones, tablet computers, e-readers, wearable devices, etc.); desktop computers; laptop computers; content streaming devices; set-top boxes; scanning devices; doorbells; garden lights; spotlights; and so on. The electronic device 600 may correspond to Figures 1 - 5 the illustrative device configuration of the (one or more) devices.
[0060] (One or more) electronic devices 600 may be configured to communicate with one or more servers, user devices, and so on. (One or more) electronic devices 600 may be any suitable device, such as a mobile device, that is configured for wireless charging. (One or more) electronic devices 600 may optionally be configured to present content, detect sounds, output digital content, and other functionality. In some embodiments, a single remote server or a group of remote servers may be configured to perform more than one type of functionality with the electronic device.
[0061] (Multiple) electronic devices 600 may be configured to communicate via one or more networks. Such networks may include, but are not limited to, any one or more different types of communication networks, such as wired networks, public networks (e.g., the Internet), private networks (e.g., frame relay networks), wireless networks, cellular networks, telephone networks (e.g., the public switched telephone network), or any other suitable private or public packet-switched or circuit-switched network. Additionally, such networks may have any suitable communication range associated therewith and may include, for example, global networks (e.g., the Internet), metropolitan area networks (MANs), wide area networks (WANs), local area networks (LANs), or personal area networks (PANs). Further, such networks may include communication links and associated network devices (e.g., link layer switches, routers, etc.) for transmitting network traffic over any appropriate type of medium, including but not limited to coaxial cable, twisted pair (e.g., twisted copper wire), fiber optic, hybrid fiber coaxial (HFC) medium, microwave medium, radio frequency communication medium, satellite communication medium, or any combination thereof.
[0062] In an illustrative configuration, (multiple) electronic devices 600 may include one or more processors ((multiple) processors) 602, one or more memory devices 604 (also referred to herein as memory 604), one or more input / output (I / O) interfaces 606, one or more network interfaces 608, one or more sensors or sensor interfaces 610, one or more transceivers 612, one or more optional cameras and / or microphones 614, one or more optional rechargeable batteries 616, and a data storage device 620. (Multiple) electronic devices 600 may also include one or more buses 618 that functionally couple the various components of (multiple) electronic devices 600. (Multiple) electronic devices 600 may also include one or more antennas 634, which may include, but are not limited to, cellular antennas for transmitting to or receiving from a cellular network infrastructure, antennas for transmitting to or receiving Wi-Fi signals from an access point (AP), global navigation satellite system (GNSS) antennas for receiving GNSS signals from GNSS satellites, Bluetooth antennas for transmitting or receiving Bluetooth signals, near field communication (NFC) antennas for transmitting or receiving NFC signals, and the like. These various components will be described in more detail below.
[0063] The (multiple) buses 618 may include at least one of a system bus, a memory bus, an address bus, or a message bus, and may permit the exchange of information (e.g., data (including computer-executable code), signaling, etc.) between the various components of the (multiple) electronic devices 600. The (multiple) buses 618 may include, but are not limited to, a memory bus or a memory controller, a peripheral bus, an accelerated graphics port, and the like. The (multiple) buses 618 may be associated with any suitable bus architecture, including but not limited to an Industry Standard Architecture (ISA), a Micro Channel Architecture (MCA), an Enhanced ISA (EISA), a Video Electronics Standards Association (VESA) architecture, an Accelerated Graphics Port (AGP) architecture, a Peripheral Component Interconnect (PCI) architecture, a High-Speed PCI architecture, a Personal Computer Memory Card International Association (PCMCIA) architecture, a Universal Serial Bus (USB) architecture, and the like.
[0064] The memory 604 of the (multiple) electronic devices 600 may include volatile memory such as random access memory (RAM) (memory that maintains its state when powered on), and / or non-volatile memory such as read-only memory (ROM), flash memory, ferroelectric RAM (FRAM), etc. (memory that maintains its state even when not powered on). Persistent data storage devices (as the term is used herein) may include non-volatile memory. In certain example embodiments, volatile memory may enable faster read / write access than non-volatile memory. However, in certain other example embodiments, certain types of non-volatile memory (e.g., FRAM) may enable faster read / write access than certain types of volatile memory.
[0065] In various implementations, the memory 604 may include a variety of different types of memory, such as various types of static random access memory (SRAM), various types of dynamic random access memory (DRAM), various types of immutable ROM, and / or writable variants of ROM, such as electrically erasable programmable read-only memory (EEPROM), flash memory, and the like. The memory 604 may include a main memory as well as various forms of cache memory, such as the (multiple) instruction caches, the (multiple) data caches, the (multiple) translation lookaside buffers (TLB), etc. Additionally, cache memory (such as data cache) may be a multi-level cache organized as a hierarchy of one or more cache levels (L1, L2, etc.).
[0066] The data storage device 620 may include a removable storage device and / or a non-removable storage device, including but not limited to a magnetic storage device, an optical storage device, and / or a tape storage device. The data storage device 620 may provide non-volatile storage of computer-executable instructions and other data. The memory 604 and the data storage device 620 (removable and / or non-removable) are examples of computer-readable storage media (CRSM) as used herein.
[0067] The data storage device 620 may store computer-executable code, instructions, etc., which may be loaded into the memory 604 and executed by the processor(s) 602 to cause the processor(s) 602 to perform or initiate various operations. The data storage device 620 may also store data, which may be copied into the memory 604 for use by the processor(s) 602 during the execution of computer-executable instructions. Additionally, output data generated by the processor(s) 602 as a result of executing computer-executable instructions may initially be stored in the memory 604 and may ultimately be copied into the data storage device 620 for non-volatile storage.
[0068] More specifically, the data storage device(s) 620 may store one or more operating systems (O / S) 622; one or more database management systems (DBMS) 624; and one or more program modules, applications, engines, computer-executable code, scripts, etc., such as one or more update modules 626, one or more communication modules 628, and / or one or more battery and charging modules 630. Some or all of these modules may be sub-modules. Any component described as being stored in the data storage device 620 may include any combination of software, firmware, and / or hardware. The software and / or firmware may include computer-executable code, instructions, etc., which may be loaded into the memory 604 for execution by one or more processors 602. Any component described as being stored in the data storage device 620 may support the functionality described for the corresponding component mentioned earlier in this disclosure.
[0069] The data storage device 620 may also store various types of data utilized by components of the (multiple) electronic devices 600. Any data stored in the data storage device 620 may be loaded into the memory 604 for use by the (multiple) processors 602 when executing computer-executable code. Additionally, any data described as being stored in the data storage device 620 may be stored in one or more data repositories and may be accessed via the DBMS 624 and loaded into the memory 604 for use by the (multiple) processors 602 when executing computer-executable code. The (multiple) data repositories may include, but are not limited to, databases (e.g., relational databases, object-oriented databases, etc.), file systems, flat files, distributed data repositories (where data is stored on multiple nodes of a computer network), peer-to-peer network data repositories, and the like. In Figure 6 which, the (multiple) example data repositories may include, for example, historical data for previously identified products, purchase or order histories, user profile information, and / or other information.
[0070] (Multiple) processors 602 may be configured to access the memory 604 and execute computer-executable instructions loaded therein. For example, the (multiple) processors 602 may be configured to execute computer-executable instructions of the (multiple) various program modules, applications, engines, etc. of the (multiple) electronic devices 600 to cause or facilitate the performance of various operations in accordance with one or more embodiments of the present disclosure. The (multiple) processors 602 may include any suitable processing unit capable of accepting data as input, processing the input data according to stored computer-executable instructions, and generating output data. The (multiple) processors 602 may include any type of suitable processing unit, including but not limited to a central processing unit, a microprocessor, a reduced instruction set computer (RISC) microprocessor, a complex instruction set computer (CISC) microprocessor, a microcontroller, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a system-on-chip (SoC), a digital signal processor (DSP), etc. Additionally, the (multiple) processors 602 may have any suitable microarchitecture design, which includes any number of constituent components, such as, for example, registers, multiplexers, arithmetic logic units, cache controllers for controlling read / write operations to cache memory, branch predictors, and the like. The microarchitecture design of the (multiple) processors 602 may be capable of supporting any one of a variety of instruction sets.
[0071] Now referring to Figure 6With respect to the functionality supported by the various program modules depicted, the update module(s) 626 may include computer-executable instructions, code, etc., which, in response to execution by one or more of the processors 602, may perform functions including but not limited to requesting and / or receiving software updates (such as over-the-air updates), requesting battery voltage data, storing data, modifying a charging rate value at an integrated circuit (such as at a power management integrated circuit), controlling a charging scheme and / or charging parameters, and so on.
[0072] The communication module(s) 628 may include computer-executable instructions, code, etc., which, in response to execution by one or more of the processors 602, may perform functions including but not limited to sending and / or receiving data (including content), sending and / or receiving instructions and commands, and so on.
[0073] The battery and charging module(s) 630 may include computer-executable instructions, code, etc., which, in response to execution by one or more of the processors 602, may perform functions including but not limited to determining a charging voltage or other charging parameters, determining a charging rate, calculating elapsed time, calculating battery environmental values, adjusting a charging voltage or charging rate, determining predicted usage, determining voltage and / or temperature data, and so on.
[0074] Now referring to other illustrative components depicted as being stored in the data storage device 620, the O / S 622 may be loaded from the data storage device 620 into the memory 604 and may provide an interface between other application software executed on the electronic device(s) 600 and the hardware resources of the electronic device(s) 600. More specifically, the O / S 622 may include a set of computer-executable instructions for managing the hardware resources of the electronic device(s) 600 and providing common services to other applications (e.g., managing memory allocation among various applications). In certain example embodiments, the O / S 622 may control the execution of other program modules. The O / S 622 may include any operating system known now or that may be developed in the future, including but not limited to any server operating system, any mainframe operating system, or any other proprietary or non-proprietary operating system.
[0075] The DBMS 624 can be loaded into the memory 604 and can support functionality for accessing, retrieving, storing, and / or manipulating data stored in the memory 604 and / or data stored in the data storage device 620. The DBMS 624 can use any one of a variety of database models (e.g., relational model, object model, etc.) and can support any one of a variety of query languages. The DBMS 624 can access data represented in one or more data schemas and stored in any suitable data repository, including but not limited to databases (e.g., relational databases, object-oriented databases, etc.), file systems, flat files, distributed data repositories where data is stored on multiple nodes of a computer network, peer-to-peer network data repositories, and so on. In those example embodiments in which the electronic device(s) 600 is a mobile device, the DBMS 624 can be any suitable lightweight DBMS optimized for performance on a mobile device.
[0076] Now referring to other illustrative components of the electronic device(s) 600, the input / output (I / O) interface(s) 606 can facilitate the electronic device(s) 600 receiving input information from one or more I / O devices and outputting information from the electronic device(s) 600 to one or more I / O devices. The I / O devices can include any one of a variety of components, such as a display or screen having a touch surface or touch screen; an audio output device for generating sound, such as a speaker; an audio capture device, such as a microphone; an image and / or video capture device, such as a camera; a tactile unit; and so on. Any one of these components can be integrated into the electronic device(s) 600 or can be separate. The I / O devices can also include, for example, any number of peripheral devices, such as data storage devices, printing devices, and so on.
[0077] The I / O interface(s) 606 can also include interfaces for external peripheral device connections, such as Universal Serial Bus (USB), FireWire, Thunderbolt, Ethernet ports, or other connection protocols that can be connected to one or more networks. The I / O interface(s) 606 can also include a connection to one or more antennas 634 to connect to one or more networks via a wireless local area network (WLAN) (such as Wi-Fi) radio, Bluetooth, ZigBee, and / or a wireless network radio (such as a radio capable of communicating with a wireless communication network (such as a Long Term Evolution (LTE) network, WiMAX network, 3G network, ZigBee network, etc.)).
[0078] The (multiple) electronic device 600 may further include one or more network interfaces 608 through which the (multiple) electronic device 600 can communicate with various other systems, platforms, networks, devices, etc. The (multiple) network interfaces 608 can communicate with one or more wireless routers, one or more host servers, one or more web servers, etc. via one or more networks.
[0079] The (multiple) antennas 634 can include any suitable type of antenna, e.g., depending on the communication protocol used to transmit or receive signals via the (multiple) antennas 634. Non-limiting examples of suitable antennas can include directional antennas, non-directional antennas, dipole antennas, folded dipole antennas, patch antennas, multiple-input multiple-output (MIMO) antennas, etc. The (multiple) antennas 634 can be communicatively coupled to one or more transceivers 612 or radio components from which signals can be transmitted or received.
[0080] As previously described, the (multiple) antennas 634 can include cellular antennas configured to transmit or receive signals according to established standards and protocols, such as Global System for Mobile Communications (GSM), 3G standards (e.g., Universal Mobile Telecommunications System (UMTS), Wideband Code Division Multiple Access (W-CDMA), CDMA2000, etc.), 4G standards (e.g., Long Term Evolution (LTE), WiMax, etc.), direct satellite communication, etc.
[0081] The (multiple) antennas 634 can additionally or alternatively include Wi-Fi antennas configured to transmit or receive signals according to established standards and protocols (such as the IEEE 802.11 series of standards), including via 2.4 GHz channels (e.g., 802.11b, 802.11g, 802.11n), 5 GHz channels (e.g., 802.11n, 802.11ac), or 60 GHz channels (e.g., 802.11ad). In alternative example embodiments, the (multiple) antennas 634 can be configured to transmit or receive radio frequency signals within any suitable frequency range that forms an unlicensed portion of the radio spectrum.
[0082] The (multiple) antennas 634 can additionally or alternatively include GNSS antennas configured to receive GNSS signals carrying time and position information from three or more GNSS satellites to triangulate a position therefrom. Such GNSS antennas can be configured to receive GNSS signals from any current or planned GNSS, such as the Global Positioning System (GPS), GLONASS system, Compass Navigation System, Galileo system, or Indian Regional Navigation System.
[0083] (Multiple) transceivers 612 may include any suitable radio components for transmitting or receiving radio frequency (RF) signals in a bandwidth and / or channel corresponding to a communication protocol used by (multiple) electronic devices 600 to communicate with other devices (in cooperation with (multiple) antennas 634). (Multiple) transceivers 612 may include hardware, software, and / or firmware for modulating, transmitting, or receiving communication signals according to any of the communication protocols discussed above (possibly in cooperation with any (multiple) antennas 634), the communication protocols including but not limited to one or more Wi-Fi and / or Wi-Fi Direct protocols (standardized by the IEEE 802.11 standard), one or more non-Wi-Fi protocols, or one or more cellular communication protocols or standards. (Multiple) transceivers 612 may also include hardware, firmware, or software for receiving GNSS signals. (Multiple) transceivers 612 may include any known receivers and basebands suitable for communicating via the communication protocols used by (multiple) electronic devices 600. (Multiple) transceivers 612 may also include a low noise amplifier (LNA), additional signal amplifiers, analog / digital (A / D) converters, one or more buffers, digital basebands, and the like.
[0084] (Multiple) sensors / sensor interfaces 610 may include or may be capable of interfacing with any suitable type of sensing device, such as, for example, inertial sensors, force sensors, thermal sensors, photocells, etc. Example types of inertial sensors may include accelerometers (e.g., MEMS-based accelerometers), gyroscopes, etc.
[0085] (Multiple) cameras 614 may be any device configured to capture ambient light or images. (Multiple) microphones 614 may be any device configured to receive analog sound input or voice data. (Multiple) rechargeable batteries 616 may be any suitable power storage device, such as a lithium-ion battery, and may have various form factors, such as a pouch form factor, a cylindrical form factor, etc.
[0086] It should be understood that Figure 6 the program modules, applications, computer-executable instructions, code, etc. depicted as being stored in data storage device 620 are merely illustrative and not exhaustive, and the processing described as being supported by any particular module may alternatively be distributed across multiple modules or performed by different modules. Additionally, various program modules, scripts, plugins, application programming interfaces (APIs), or any other suitable computer-executable code may be provided, which are locally hosted on (multiple) electronic devices 600 and / or hosted on (multiple) other computing devices accessible via one or more networks, to support the processing performed by Figure 6The functionality and / or additional or alternative functionality provided by the (one or more) program modules, applications, or computer-executable code depicted therein. Additionally, the functionality can be modularized in different ways such that processing described as being jointly supported by a collection of (one or more) program modules depicted in Figure 6 can be performed by fewer or more numbers of (one or more) modules, or functionality described as being supported by any particular module can be at least partially supported by another module. Additionally, the (one or more) program modules that support the functionality described herein can form part of one or more applications that can be executed on any number of systems or devices according to any suitable computing model (such as, for example, the client-server model, the peer-to-peer model, etc.). Additionally, any functionality described as being supported by any one of the (one or more) program modules depicted in Figure 6 can be at least partially implemented in hardware and / or firmware on any number of devices.
[0087] It should also be understood that the (one or more) electronic devices 600 can include alternative and / or additional hardware, software, or firmware components in addition to the hardware, software, or firmware components described or depicted, without departing from the scope of the present disclosure. More specifically, it should be understood that the software, firmware, or hardware components depicted as forming part of the (one or more) electronic devices 600 are merely illustrative, and in various embodiments, some components may be absent or additional components may be provided. Although the (one or more) various illustrative program modules have been depicted and described as (one or more) software modules stored in the data storage device 620, it should be understood that the functionality described as being supported by the (one or more) program modules can be implemented by any combination of hardware, software, and / or firmware. It should also be understood that in various embodiments, each of the (one or more) modules mentioned above can represent a logical partitioning of the supported functionality. This logical partitioning is depicted for ease of explaining the functionality and may not represent the structure of the software, hardware, and / or firmware for implementing the functionality. Thus, it should be understood that the functionality described as being provided by a particular module can be at least partially provided by one or more other modules in various embodiments. Additionally, in certain embodiments, one or more of the depicted modules may be absent, while in other embodiments, additional modules not depicted may be present and can support at least a portion of the described functionality and / or additional functionality. Additionally, although (one or more) certain modules may be depicted and described as (one or more) sub-modules of another module, in certain embodiments, (one or more) such modules can be provided as (one or more) independent modules or (one or more) sub-modules of (one or more) other modules.
[0088] The (multiple) program modules, applications, etc. disclosed herein may include one or more software components, including, for example, software objects, methods, data structures, etc. Each such software component may include computer-executable instructions that, upon execution, cause at least a portion of the functionality described herein (e.g., one or more operations of the illustrative methods described herein) to be performed.
[0089] The software components may be coded in any of a variety of programming languages. Illustrative programming languages may be lower-level programming languages, such as assembly languages associated with a particular hardware architecture and / or operating system platform. Software components containing assembly language instructions may need to be converted by an assembler into executable machine code before they can be executed by the hardware architecture and / or platform.
[0090] Another example programming language may be a high-level programming language that can be ported across multiple architectures. Software components containing high-level programming language instructions may need to be converted by an interpreter or compiler into an intermediate representation before execution.
[0091] Other examples of programming languages include, but are not limited to, macro languages, shell or command languages, job control languages, scripting languages, database query or search languages, or report writing languages. In one or more example embodiments, software components containing instructions in one of the above examples of programming languages may be directly executed by an operating system or other software components without first being converted into another form.
[0092] The software components may be stored as files or other data storage constructs. Software components of similar type or related functionality may be stored together, such as, for example, in a particular directory, folder, or library. The software components may be static (e.g., pre-established or fixed) or dynamic (e.g., created or modified at execution time).
[0093] The software components may call other software components or be called by other software components through any of a variety of mechanisms. The software components being called or doing the calling may include other custom-developed application software, operating system functionality (e.g., device drivers, data storage (e.g., file management) routines, other common routines and services, etc.), or third-party software components (e.g., middleware, encryption or other security software, database management software, file transfer or other network communication software, mathematical or statistical software, image processing software, and format conversion software).
[0094] Software components associated with a particular solution or system can reside on and execute on a single platform, or can be distributed across multiple platforms. The multiple platforms can be associated with more than one hardware vendor, underlying chip technology, or operating system. Additionally, software components associated with a particular solution or system can initially be written in one or more programming languages, but can call software components written in another programming language.
[0095] Computer-executable program instructions can be loaded onto a special-purpose computer or other particular machine, a processor, or other programmable data processing apparatus to create a particular machine, such that execution of the instructions on the computer, processor, or other programmable data processing device causes one or more of the functions or operations specified in the flowchart to be performed. These computer program instructions can also be stored in a computer-readable storage medium (CRSM), which, when executed, can direct a computer or other programmable data processing apparatus to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce a manufacture including instruction means for implementing one or more of the functions or operations specified in the flowchart. The computer program instructions can also be loaded onto a computer or other programmable data processing device to cause a series of operational elements or steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process.
[0096] Additional types of CRSM that may be present in any of the devices described herein can include, but are not limited to, programmable random access memory (PRAM), SRAM, DRAM, RAM, ROM, electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage devices, magnetic tape cartridges, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store information and can be accessed. Any of the foregoing combinations are also included within the scope of CRSM. Alternatively, a computer-readable communication medium (CRCM) can include computer-readable instructions, program modules, or other data transmitted in a data signal, such as a carrier wave or other transmission. However, as used herein, CRSM does not include CRCM.
[0097] Although embodiments have been described in specific language specific to structural features and / or method acts, it is to be understood that the disclosure is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as illustrative forms of implementing embodiments. Unless expressly stated otherwise or otherwise understood within the context in which it is used, conditional language such as "can," "could," "might," or "may" generally aims to convey that certain embodiments can include certain features, elements, and / or steps, while other embodiments do not include these features, elements, and / or steps. Thus, such conditional language is generally not intended to imply that the features, elements, and / or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding whether these features, elements, and / or steps are included or are to be performed in any particular embodiment, regardless of user input or prompting.
[0098] Embodiments of the disclosure can be described in view of one or more of the following aspects:
[0099] Embodiment 1 can include a device that includes: a battery; a memory configured to store computer-executable instructions; and at least one computer processor configured to access the memory and execute the computer-executable instructions to: determine that the battery is decoupled from a wireless charger at a first time; determine that the battery is coupled to the wireless charger at a second time; determine that a first elapsed time between the first time and the second time is equal to or less than a first threshold; and disable charging of the battery for a first duration.
[0100] Embodiment 2 can include Embodiment 1, wherein the at least one processor is further configured to access the memory and execute the computer-executable instructions to: determine that the device is presenting audio or video at the second time.
[0101] Embodiment 3 can include any one or more of Embodiments 1 to 2, wherein the at least one processor is further configured to access the memory and execute the computer-executable instructions to: before disabling charging of the battery, determine that a first charge state of the battery before the second time indicates that the battery has been fully charged; and determine that a second charge state of the battery at the second time is equal to or greater than a second threshold.
[0102] Embodiment 4 can include any one or more of Embodiments 1 to 3, wherein the at least one processor is further configured to access the memory and execute the computer-executable instructions to: increment a wireless charging disconnection counter; determine that a current value of the wireless charging disconnection counter is equal to or greater than a second threshold; and reduce a maximum charging voltage associated with the battery for a second duration.
[0103] Example 5 may include any one or more of Examples 1 to 4, wherein the second duration is equal to or greater than twice the first duration.
[0104] Example 6 may include any one or more of Examples 1 to 5, wherein at least one processor is further configured to access a memory and execute computer-executable instructions to: determine that the battery is coupled to a wireless charger at a third time; determine that the battery is decoupled from the wireless charger at a fourth time; determine that a first value is greater than a threshold based at least in part on accelerometer data associated with the device, wherein the first value represents the likelihood that the device is removed from the wireless charger; determine that the battery is coupled to the wireless charger at a fifth time; and enable charging of the battery.
[0105] Example 7 may include any one or more of Examples 1 to 6, wherein at least one processor is further configured to access a memory and execute computer-executable instructions to: send accelerometer data to a remote server; and receive an indication of device movement associated with user movement based on the accelerometer data from the remote server.
[0106] Example 8 may include any one or more of Examples 1 to 7, wherein at least one processor is further configured to access a memory and execute computer-executable instructions to: determine a device identifier associated with the wireless charger; and determine a historical disconnection rate associated with the device identifier; wherein the first value is determined based at least in part on the historical wireless disconnection rate.
[0107] Example 9 may include any one or more of Examples 1 to 8, wherein at least one processor is further configured to access a memory and execute computer-executable instructions to: determine that the battery is coupled to a wireless charger at a third time; determine that the battery is decoupled from the wireless charger at a fourth time; determine that a second elapsed time between the third time and the fourth time is equal to or greater than a second threshold; determine that the battery is coupled to the wireless charger at a fifth time; determine that a third elapsed time between the fourth time and the fifth time is less than a third threshold; and disable charging of the battery.
[0108] Example 10 may include any one or more of Examples 1 to 9, wherein at least one processor is further configured to access a memory and execute computer-executable instructions to: disable the presentation of battery charge notifications and battery discharge notifications during a duration.
[0109] Example 11 may include a method, including: determining, by a device including a battery, that the battery is decoupled from a wireless charger at a first time; determining that the battery is coupled to the wireless charger at a second time; determining that a first elapsed time between the first time and the second time is equal to or less than a first threshold; and disabling charging of the battery for a first duration.
[0110] Embodiment 12 may include Embodiment 11, and further include: before disabling the charging of the battery, determining that a first charge state of the battery before a second time indicates that the battery has been fully charged; and determining that a second charge state of the battery at the second time is equal to or greater than a second threshold.
[0111] Embodiment 13 may include Embodiment 11, and further include: before disabling the charging of the battery, determining that a first charge state of the battery before a second time indicates that the battery has been fully charged; and determining that a second charge state of the battery at the second time is equal to or greater than a second threshold.
[0112] Embodiment 14 may include any one or more of Embodiments 11 to 13, and further include: determining that the battery is coupled to a wireless charger at a third time; determining that the battery is decoupled from the wireless charger at a fourth time; determining whether a first value indicating a likelihood of the device being removed from the wireless charger is greater than a threshold; determining that the battery is coupled to the wireless charger at a fifth time; and enabling the charging of the battery.
[0113] Embodiment 15 may include any one or more of Embodiments 11 to 14, and further include: determining that the battery is coupled to a wireless charger at a third time; determining that the battery is decoupled from the wireless charger at a fourth time; determining whether a second elapsed time between the third time and the fourth time is equal to or greater than a second threshold; determining that the battery is coupled to the wireless charger at a fifth time; determining that a third elapsed time between the fourth time and the fifth time is less than a third threshold; and disabling the charging of the battery.
Claims
1. A device, comprising: a battery; a memory configured to store computer-executable instructions; and at least one computer processor configured to access the memory and execute the computer-executable instructions to: determine that the battery is decoupled from a wireless charger at a first time; determine that the battery is coupled to the wireless charger at a second time; determine that a first elapsed time between the first time and the second time is equal to or less than a first threshold; and disable charging of the battery for a first duration.
2. The device according to claim 1, wherein the at least one processor is further configured to access the memory and execute the computer-executable instructions to: determine that the device is presenting audio or video at the second time.
3. The device according to any one of claims 1 to 2, wherein the at least one processor is further configured to access the memory and execute the computer-executable instructions to: before disabling charging of the battery, determine that a first charge state of the battery before the second time indicates that the battery has been fully charged; and determine that a second charge state of the battery at the second time is equal to or greater than a second threshold.
4. The device according to any one of claims 1 to 3, wherein the at least one processor is further configured to access the memory and execute the computer-executable instructions to: increment a wireless charging disconnection counter; determine that a current value of the wireless charging disconnection counter is equal to or greater than a second threshold; and reduce a maximum charging voltage associated with the battery for a second duration.
5. The device according to any one of claims 1 to 4, wherein the second duration is equal to or greater than twice the first duration.
6. The device according to any one of claims 1 to 5, wherein the at least one processor is further configured to access the memory and execute the computer-executable instructions to: determine that the battery is coupled to the wireless charger at a third time; determine that the battery is decoupled from the wireless charger at a fourth time; determine that a first value is greater than a threshold at least in part based on accelerometer data associated with the device, wherein the first value represents a likelihood that the device is removed from the wireless charger; determine that the battery is coupled to the wireless charger at a fifth time; and enable charging of the battery.
7. The device according to any one of claims 1 to 6, wherein the at least one processor is further configured to access the memory and execute the computer-executable instructions to: send the accelerometer data to a remote server; and receive from the remote server an indication of device movement associated with user movement based on the accelerometer data.
8. The device according to any one of claims 1 to 7, wherein the at least one processor is further configured to access the memory and execute the computer-executable instructions to: determine a device identifier associated with the wireless charger; and Determine a historical disconnection rate associated with the device identifier; wherein the first value is determined based at least in part on the historical wireless disconnection rate.
9. The device according to any one of claims 1 to 8, wherein the at least one processor is further configured to access the memory and execute the computer-executable instructions to: Determine that the battery is coupled to the wireless charger at a third time; Determine that the battery is decoupled from the wireless charger at a fourth time; Determine that a second elapsed time between the third time and the fourth time is equal to or greater than a second threshold; Determine that the battery is coupled to the wireless charger at a fifth time; Determine that a third elapsed time between the fourth time and the fifth time is less than a third threshold; and Disable charging of the battery.
10. The device according to any one of claims 1 to 9, wherein the at least one processor is further configured to access the memory and execute the computer-executable instructions to: Disable the presentation of battery charging notifications and battery discharging notifications during the duration.
11. A method, comprising: Determining, by a device including a battery, that the battery is decoupled from a wireless charger at a first time; Determining that the battery is coupled to the wireless charger at a second time; Determining that a first elapsed time between the first time and the second time is equal to or less than a first threshold; and Disabling charging of the battery for a first duration.
12. The method according to claim 11, further comprising: Before disabling charging of the battery, determining that a first charge state of the battery before the second time indicates that the battery has been fully charged; and Determining that a second charge state of the battery at the second time is equal to or greater than a second threshold.
13. The method according to any one of claims 11 to 12, further comprising: Incrementing a wireless charging disconnection counter; Determining that the wireless charging disconnection counter is equal to or greater than a second threshold; and Reducing a maximum charging voltage associated with the battery for a second duration.
14. The method according to any one of claims 11 to 13, further comprising: Determining that the battery is coupled to the wireless charger at a third time; Determining that the battery is decoupled from the wireless charger at a fourth time; Determining that a first value indicating a likelihood that the device is removed from the wireless charger is greater than a threshold; Determining that the battery is coupled to the wireless charger at a fifth time; and Enabling charging of the battery.
15. The method according to any one of claims 11 to 14, further comprising: Determining that the battery is coupled to the wireless charger at a third time; Determining that the battery is decoupled from the wireless charger at a fourth time; Determining that a second elapsed time between the third time and the fourth time is equal to or greater than a second threshold; Determining that the battery is coupled to the wireless charger at a fifth time; Determining that a third elapsed time between the fourth time and the fifth time is less than a third threshold; and Disabling charging of the battery.