39#ifndef _IOT_BATTERY_H_
40#define _IOT_BATTERY_H_
50#define IOT_BATTERY_SUCCESS ( 0 )
51#define IOT_BATTERY_INVALID_VALUE ( 1 )
52#define IOT_BATTERY_NOT_EXIST ( 2 )
53#define IOT_BATTERY_READ_FAILED ( 3 )
54#define IOT_BATTERY_FUNCTION_NOT_SUPPORTED ( 4 )
104typedef struct IotBatteryInfo
120typedef enum IotBatteryIoctlRequest
178struct IotBatteryDescriptor;
205 void * pvUserContext );
247 void * pvUserContext );
276 uint16_t * pusCurrent );
293 uint16_t * pusVoltage );
310 uint8_t * pucChargeLevel );
328 uint16_t * pusCapacity );
364 uint8_t * pucEnable );
380 uint8_t * pucCharging );
402 void *
const pvBuffer );
int32_t iot_battery_close(IotBatteryHandle_t const pxBatteryHandle)
iot_battery_close is used to de-Initialize Battery driver.
IotBatteryHandle_t iot_battery_open(int32_t lBatteryInstance)
iot_battery_open is used to initialize the Battery and Charging driver.
IotBatteryInfo_t * iot_battery_getInfo(IotBatteryHandle_t const pxBatteryHandle)
iot_battery_getInfo is used to get the battery info
IotBatteryType_t
Battery Type.
Definition: iot_battery.h:60
IotBatteryChargeSource_t
Charger type.
Definition: iot_battery.h:69
void iot_battery_set_callback(IotBatteryHandle_t const pxBatteryHandle, IotBatteryCallback_t xCallback, void *pvUserContext)
iot_battery_set_callback is used to set the callback to be called when a notification needs to be sen...
int32_t iot_battery_ioctl(IotBatteryHandle_t const pxBatteryHandle, IotBatteryIoctlRequest_t xRequest, void *const pvBuffer)
iot_battery_ioctl is used to set Battery configuration and Battery properties like battery threshold,...
IotBatteryIoctlRequest_t
Ioctl request types.
Definition: iot_battery.h:121
int32_t iot_battery_chargeLevel(IotBatteryHandle_t const pxBatteryHandle, uint8_t *pucChargeLevel)
iot_battery_chargeLevel is used to get the battery charging level in percentage (from 1 to 100).
int32_t iot_battery_capacity(IotBatteryHandle_t const pxBatteryHandle, uint16_t *pusCapacity)
iot_battery_capacity is used to get the current battery capacity value in mAh
IotBatteryStatus_t
Battery status.
Definition: iot_battery.h:80
int32_t iot_battery_is_charging(IotBatteryHandle_t const pxBatteryHandle, uint8_t *pucCharging)
iot_battery_is_charging is used to query if the battery is currently charging.
int32_t iot_battery_current(IotBatteryHandle_t const pxBatteryHandle, uint16_t *pusCurrent)
iot_battery_current is used to get the battery current in mA.
struct IotBatteryDescriptor * IotBatteryHandle_t
IotBatteryHandle_t type is the Battery handle returned by calling iot_battery_open() this is initiali...
Definition: iot_battery.h:185
int32_t iot_battery_temp(IotBatteryHandle_t const pxBatteryHandle, int32_t *plTemp)
iot_battery_temp is used to get the battery temperature in milliCelsius
int32_t iot_battery_enable_charging(IotBatteryHandle_t const pxBatteryHandle, uint8_t *pucEnable)
iot_battery_enable_charging is used to enable battery charging if charging is supported....
void(* IotBatteryCallback_t)(IotBatteryStatus_t xStatus, void *pvUserContext)
Battery notification callback type. This callback is passed to the driver by using iot_battery_set_ca...
Definition: iot_battery.h:204
int32_t iot_battery_voltage(IotBatteryHandle_t const pxBatteryHandle, uint16_t *pusVoltage)
iot_battery_voltage is used to get the battery voltage in milli-volts.
@ eBatteryChargeable
Definition: iot_battery.h:61
@ eBatteryNotChargeable
Definition: iot_battery.h:62
@ eBatteryChargePowerSupply
Definition: iot_battery.h:72
@ erBatteryChargeWireless
Definition: iot_battery.h:73
@ eBatteryChargeUSB
Definition: iot_battery.h:71
@ eBatteryChargeNone
Definition: iot_battery.h:70
@ eGetBatteryMaxVoltageThreshold
Definition: iot_battery.h:150
@ eGetBatteryChargeTimer
Definition: iot_battery.h:168
@ eSetBatteryMaxBatteryTempThreshold
Definition: iot_battery.h:133
@ eGetBatteryOCV
Definition: iot_battery.h:152
@ eGetBatteryMaxBatteryTempThreshold
Definition: iot_battery.h:158
@ eSetBatteryMaxVoltageThreshold
Definition: iot_battery.h:126
@ eGetBatteryStatus
Definition: iot_battery.h:172
@ eGetBatteryChargeSource
Definition: iot_battery.h:170
@ eSetBatteryChargeTimer
Definition: iot_battery.h:146
@ eSetBatteryMaxChargeTempThreshold
Definition: iot_battery.h:139
@ eGetBatteryMinChargeTempThreshold
Definition: iot_battery.h:160
@ eGetBatteryMinBatteryTempThreshold
Definition: iot_battery.h:156
@ eGetBatteryBootVoltage
Definition: iot_battery.h:154
@ eGetBatteryMinVoltageThreshold
Definition: iot_battery.h:148
@ eSetBatteryMinBatteryTempThreshold
Definition: iot_battery.h:130
@ eSetBatteryMaxInputChargeCurrent
Definition: iot_battery.h:144
@ eGetBatteryMaxChargeTempThreshold
Definition: iot_battery.h:162
@ eSetBatteryMaxOutputCurrent
Definition: iot_battery.h:142
@ eGetBatteryMaxInputChargeCurrent
Definition: iot_battery.h:166
@ eGetBatteryMaxOutputCurrent
Definition: iot_battery.h:164
@ eSetBatteryMinVoltageThreshold
Definition: iot_battery.h:122
@ eSetBatteryMinChargeTempThreshold
Definition: iot_battery.h:136
@ eBatteryUnderTemp
Definition: iot_battery.h:93
@ eBatteryChargeLow
Definition: iot_battery.h:88
@ eBatteryUnderChargingTemp
Definition: iot_battery.h:95
@ eBatteryOverChargingTemp
Definition: iot_battery.h:94
@ eBatteryUnknown
Definition: iot_battery.h:98
@ eBatteryChargeFull
Definition: iot_battery.h:86
@ eBatteryChargeTimeExpired
Definition: iot_battery.h:96
@ eBatteryCharging
Definition: iot_battery.h:81
@ eBatteryDischarging
Definition: iot_battery.h:82
@ eBatteryOverTemp
Definition: iot_battery.h:92
@ eBatteryOverVoltage
Definition: iot_battery.h:90
@ eBatteryUnderVoltage
Definition: iot_battery.h:91
@ eBatteryNotCharging
Definition: iot_battery.h:84
Battery information.
Definition: iot_battery.h:105
uint16_t usMaxCapacity
Definition: iot_battery.h:111
uint8_t ucAsyncSupported
Definition: iot_battery.h:112
int16_t sMinTemperature
Definition: iot_battery.h:109
IotBatteryType_t xBatteryType
Definition: iot_battery.h:106
int32_t lMaxTemperature
Definition: iot_battery.h:110
uint16_t usMinVoltage
Definition: iot_battery.h:107
uint16_t usMaxVoltage
Definition: iot_battery.h:108