Common IO - basic v1.0.0
Common IO - basic v1.0.0 Library
 
Loading...
Searching...
No Matches
iot_battery.h
Go to the documentation of this file.
1/*
2 * Common IO - basic V1.0.0
3 * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a copy of
6 * this software and associated documentation files (the "Software"), to deal in
7 * the Software without restriction, including without limitation the rights to
8 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 * the Software, and to permit persons to whom the Software is furnished to do so,
10 * subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in all
13 * copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 *
22 * http://aws.amazon.com/freertos
23 * http://www.FreeRTOS.org
24 */
25
26/*******************************************************************************
27 * @file iot_battery.h
28 *
29 * @brief HAL APIs for Battery
30 *******************************************************************************
31 */
32
39#ifndef _IOT_BATTERY_H_
40#define _IOT_BATTERY_H_
41
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 )
59typedef enum
60{
64
68typedef enum
69{
75
79typedef enum
80{
100
104typedef struct IotBatteryInfo
105{
107 uint16_t usMinVoltage;
108 uint16_t usMaxVoltage;
111 uint16_t usMaxCapacity;
116
120typedef enum IotBatteryIoctlRequest
121{
174
178struct IotBatteryDescriptor;
179
185typedef struct IotBatteryDescriptor * IotBatteryHandle_t;
186
204typedef void ( * IotBatteryCallback_t)( IotBatteryStatus_t xStatus,
205 void * pvUserContext );
206
220IotBatteryHandle_t iot_battery_open( int32_t lBatteryInstance );
221
246 IotBatteryCallback_t xCallback,
247 void * pvUserContext );
248
260
275int32_t iot_battery_current( IotBatteryHandle_t const pxBatteryHandle,
276 uint16_t * pusCurrent );
277
292int32_t iot_battery_voltage( IotBatteryHandle_t const pxBatteryHandle,
293 uint16_t * pusVoltage );
294
309int32_t iot_battery_chargeLevel( IotBatteryHandle_t const pxBatteryHandle,
310 uint8_t * pucChargeLevel );
311
312
327int32_t iot_battery_capacity( IotBatteryHandle_t const pxBatteryHandle,
328 uint16_t * pusCapacity );
329
344int32_t iot_battery_temp( IotBatteryHandle_t const pxBatteryHandle,
345 int32_t * plTemp );
346
363int32_t iot_battery_enable_charging( IotBatteryHandle_t const pxBatteryHandle,
364 uint8_t * pucEnable );
365
379int32_t iot_battery_is_charging( IotBatteryHandle_t const pxBatteryHandle,
380 uint8_t * pucCharging );
381
400int32_t iot_battery_ioctl( IotBatteryHandle_t const pxBatteryHandle,
402 void * const pvBuffer );
403
415int32_t iot_battery_close( IotBatteryHandle_t const pxBatteryHandle );
416
421#endif /* ifndef _IOT_BATTERY_H_ */
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