MonoBattery

class

Static class to get Mono’s battery voltage or percentage.

Author
Markus Laire

Public Static Functions

uint8_t MonoBattery::CalculatePercentage(uint16_t voltage, const uint16_t lookupTable[100])

Calculate percentage of battery remaining.

Percentage is calculated using a simple lookup-table of 100 voltage values, in millivolts:

  • if voltage < lookupTable[0], return 0
  • else if voltage < lookupTable[1], return 1
  • ...
  • else if voltage < lookupTable[99], return 99
  • else return 100

Return
Percentage of battery remaining
Parameters
  • voltage -

    Battery voltage as returned by ReadMilliVolts

  • lookupTable -

    Custom lookup-table to use

uint16_t MonoBattery::ReadMilliVolts()

Read the battery voltage in millivolts.

To get higher accuracy battery voltage is sampled multiple times and average of these is returned.

Shortly after Mono has been reset, battery voltage can’t be read. In this case 0 is returned.

Return
The battery voltage in mV

uint8_t MonoBattery::ReadPercentage(const uint16_t lookupTable[100])

Read the battery voltage and return percentage remaining.

See CalculatePercentage for details of how percentage is calculated.

Return
Percentage of battery remaining
Parameters
  • lookupTable -

    Custom lookup-table to use