24 lines
576 B
Python
24 lines
576 B
Python
from compLib.ADC import ADC
|
|
|
|
BATTERY_CHANNEL = 2
|
|
BATTERY_COUNT = 2
|
|
BATTERY_MULTIPLIER = 3
|
|
BATTERY_MIN_VOLTAGE = 3.6
|
|
BATTERY_MAX_VOLTAGE = 4.2
|
|
|
|
adc = ADC()
|
|
|
|
|
|
class Battery(object):
|
|
"""Used to interact with the battery
|
|
"""
|
|
|
|
@staticmethod
|
|
def percent() -> int:
|
|
"""Get battery percentage
|
|
|
|
:return: Percentage between 0 and 100
|
|
:rtype: int
|
|
"""
|
|
voltage = adc.read(BATTERY_CHANNEL) * BATTERY_MULTIPLIER
|
|
return int(((voltage / BATTERY_COUNT) - BATTERY_MIN_VOLTAGE) / (BATTERY_MAX_VOLTAGE - BATTERY_MIN_VOLTAGE) * 100)
|