|
|
@@ -0,0 +1,51 @@
|
|
|
+# Battery Driver
|
|
|
+
|
|
|
+This driver provides support for sampling battery level.
|
|
|
+
|
|
|
+## Usage
|
|
|
+
|
|
|
+To use this driver, add the following to your `rules.mk`:
|
|
|
+
|
|
|
+```make
|
|
|
+BATTERY_DRIVER_REQUIRED = yes
|
|
|
+```
|
|
|
+
|
|
|
+## Basic Configuration {#basic-configuration}
|
|
|
+
|
|
|
+Add the following to your `config.h`:
|
|
|
+
|
|
|
+|Define |Default |Description |
|
|
|
+|--------------------------|--------|--------------------------------------------------|
|
|
|
+|`BATTERY_SAMPLE_INTERVAL` |`30000` |The time between battery samples in milliseconds. |
|
|
|
+
|
|
|
+## Driver Configuration {#driver-configuration}
|
|
|
+
|
|
|
+Driver selection can be configured in `rules.mk` as `BATTERY_DRIVER`. Valid values are `adc` (default), `vendor`, or `custom`. See below for information on individual drivers.
|
|
|
+
|
|
|
+### ADC Driver {#adc-driver}
|
|
|
+
|
|
|
+This is the default battery driver. The default configuration assumes the battery is connected to a ADC capable pin through a voltage divider.
|
|
|
+
|
|
|
+```make
|
|
|
+BATTERY_DRIVER = adc
|
|
|
+```
|
|
|
+
|
|
|
+The following `#define`s apply only to the `adc` driver:
|
|
|
+
|
|
|
+|Define |Default |Description |
|
|
|
+|-----------------------------|--------------|--------------------------------------------------------------|
|
|
|
+|`BATTERY_PIN` |*Not defined* |The GPIO pin connected to the voltage divider. |
|
|
|
+|`BATTERY_REF_VOLTAGE_MV` |`3300` |The ADC reverence voltage, in millivolts. |
|
|
|
+|`BATTERY_VOLTAGE_DIVIDER_R1` |`100000` |The voltage divider resistance, in kOhm. Set to 0 to disable. |
|
|
|
+|`BATTERY_VOLTAGE_DIVIDER_R1` |`100000` |The voltage divider resistance, in kOhm. Set to 0 to disable. |
|
|
|
+|`BATTERY_ADC_RESOLUTION` |`10` |The ADC resolution configured for the ADC Driver. |
|
|
|
+
|
|
|
+## Functions
|
|
|
+
|
|
|
+### `uint8_t battery_get_percent(void)` {#api-battery-get-percent}
|
|
|
+
|
|
|
+Sample battery level.
|
|
|
+
|
|
|
+#### Return Value {#api-battery-get-percent-return}
|
|
|
+
|
|
|
+The battery percentage, in the range 0-100.
|