AIROC™ BTSDK v4.6 - Documentation | ||||
Defines a driver to facilitate interfacing with the Battery Monitor. More...
Functions | |
BYTE | wiced_hal_batmon_config (uint8_t adcInputConnected, uint32_t measurementInterval, uint8_t numMeasurementsToAvg, uint16_t fullVoltage, uint16_t emptyVoltage, uint16_t shutdownVoltage, uint8_t maxLevel, uint8_t reportID, uint8_t reportLength, uint8_t reportOnConnect) |
Supported ADC input channel selection for battery connection. More... | |
void | wiced_hal_batmon_init (void) |
Initialize and then start the Battery Monitor. More... | |
void | wiced_hal_batmon_poll_monitor (void) |
Polls the battery by monitoring the voltage via the ADC. More... | |
Defines a driver to facilitate interfacing with the Battery Monitor.
The driver uses the Analog-to-Digital Converter (ADC) driver to take a moving average of the battery voltage, and decides when to suspend or shutdown the system based upon the threshold values defined by the user. This watchful protector ensures that the system is able to cleanly shut down and notify the application and/or host before there is not enough power necessary for proper system functionality. Note that the Battery Monitor relies on polling to check on the status of the battery.
BYTE wiced_hal_batmon_config | ( | uint8_t | adcInputConnected, |
uint32_t | measurementInterval, | ||
uint8_t | numMeasurementsToAvg, | ||
uint16_t | fullVoltage, | ||
uint16_t | emptyVoltage, | ||
uint16_t | shutdownVoltage, | ||
uint8_t | maxLevel, | ||
uint8_t | reportID, | ||
uint8_t | reportLength, | ||
uint8_t | reportOnConnect | ||
) |
Supported ADC input channel selection for battery connection.
typedef enum ADC_INPUT_CHANNEL_SEL { ADC_INPUT_P17 = 0x0, //GPIO 16 ADC_INPUT_P16 = 0x1, //GPIO 17 ADC_INPUT_P15 = 0x2, //GPIO 18 ADC_INPUT_P14 = 0x3, //GPIO 19 ADC_INPUT_P13 = 0x4, //GPIO 20 ADC_INPUT_P12 = 0x5, //GPIO 21 ADC_INPUT_P11 = 0x6, //GPIO 22 ADC_INPUT_P10 = 0x7, //GPIO 23 ADC_INPUT_P9 = 0x8, //GPIO 24 ADC_INPUT_P8 = 0x9, //GPIO 25 ADC_INPUT_P1 = 0xA, //GPIO 26 ADC_INPUT_P0 = 0xB, //GPIO 27 ADC_INPUT_VDDIO = 0xC, //ADC_INPUT_VBAT_VDDIO ADC_INPUT_VDD_CORE = 0xD, //ADC_INPUT_VDDC ADC_INPUT_ADC_BGREF = 0xE, ADC_INPUT_ADC_REFGND = 0xF, ADC_INPUT_P38 = 0x10, //GPIO 0 ADC_INPUT_P37 = 0x11, //GPIO 1 ADC_INPUT_P36 = 0x12, //GPIO 2 ADC_INPUT_P35 = 0x13, //GPIO 3 ADC_INPUT_P34 = 0x14, //GPIO 4 ADC_INPUT_P33 = 0x15, //GPIO 5 ADC_INPUT_P32 = 0x16, //GPIO 6 ADC_INPUT_P31 = 0x17, //GPIO 7 ADC_INPUT_P30 = 0x18, //GPIO 8 ADC_INPUT_P29 = 0x19, //GPIO 9 ADC_INPUT_P28 = 0x1A, //GPIO 10 ADC_INPUT_P23 = 0x1B, //GPIO 11 ADC_INPUT_P22 = 0x1C, //GPIO 12 ADC_INPUT_P21 = 0x1D, //GPIO 13 ADC_INPUT_P19 = 0x1E, //GPIO 14 ADC_INPUT_P18 = 0x1F, //GPIO 15 ADC_INPUT_CHANNEL_MASK = 0x1f, }ADC_INPUT_CHANNEL_SEL;
Sets the configuration parameters of the Battery Monitor. This function is optional, since the Battery Monitor parameters are pre-populated with default values on startup. See the param descriptions below for the default values.
adcInputConnected | - HW line connected to battery, used by ADC. Default = ADC_INPUT_VDDIO (P15). |
measurementInterval | - Period in millisecs between battery measurements. Default = 60000 (60 seconds). |
numMeasurementsToAvg | - Number of measurements averaged for a report, max 16. Default = 8. |
fullVoltage | - The nominal full battery voltage in millivolts. Should be greater than emptyVoltage and shutdownVoltage. Default = 3200 (3.2v). |
emptyVoltage | - The voltage at which the battery is considered drained in millivolts. Should be less than fullVoltage but greater than shutdownVoltage. Default = 1800 (1.8v). |
shutdownVoltage | - System should shutdown if it detects battery voltage at or below this value in millivolts. 0 disables shutdown. Should be less than fullVoltage and emptyVoltage. Default = 1700 (1.7v). |
maxLevel | - Sets the range of the reported number of steps. Set it to 100 to report battery as a percentage. Default = 100. |
reportID | - ID of the battery report. Default = 0x03. |
reportLength | - Length of the battery report in bytes. Default = 8. |
reportOnConnect | - Flag indicating that a report should be sent to the host when a connection is established. Default = 1. |
void wiced_hal_batmon_init | ( | void | ) |
Initialize and then start the Battery Monitor.
Also initializes the ADC driver.
none |
void wiced_hal_batmon_poll_monitor | ( | void | ) |
Polls the battery by monitoring the voltage via the ADC.
Takes a running average of the measured voltage and determines whether to suspend or shut down the system based upon the provided threshold values. See wiced_hal_batmon_config().
none |