51 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # 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.
 | 
