Abstract:
Systems and methods for debouncing a signal line within a computer device are provided. The mechanical nature of physical buttons and switches oftentimes present irregular or noisy signals on a signal line when depressed by a user. Thus, noise and/or irregular waveforms may be present on a signal line that is monitored to produce interrupt signals, when deemed valid and genuine. In many embodiments given herein, debounce modules and techniques set a debounce interval timer and/or a noise filtering interval timer in which debounce modules and/or techniques may note whether the signal line is still asserted (e.g., possibly a genuine interrupt signal) during the debounce interval timer and stable (e.g., no further interrupts have fired) during the noise filtering interval timer.
Abstract:
Consumption of power by device components is profiled on a per-session basis of user interaction. A session engine determines start of a user interaction session with the device (e.g., by detecting screen turn on). The engine generates a session identifier (SID) and broadcasts same to device component(s). In response to the SID, the component(s) record power consumption data. Upon receiving a signal indicating end of the user interaction session (e.g., screen turn off), the session engine broadcasts a notice allowing component(s) to stop recording power consumption data. The components communicate aggregated data to the session engine for storage in a centralized location (e.g., trace buffer). In response to a query posed within a command line prompt, stored data may be parsed on a per-session basis for inclusion in a detailed report of power consumption. Power consumption inefficiencies endemic to components and/or user behaviors may be thus be identified and remediated.