Format code with clang-format
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
07326189f8
commit
233fd3c7a7
2 changed files with 619 additions and 423 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -21,10 +21,11 @@
|
|||
#ifndef _ADAFRUIT_BQ25628E_H
|
||||
#define _ADAFRUIT_BQ25628E_H
|
||||
|
||||
#include "Arduino.h"
|
||||
#include <Adafruit_BusIO_Register.h>
|
||||
#include <Adafruit_I2CDevice.h>
|
||||
|
||||
#include "Arduino.h"
|
||||
|
||||
/*! Default I2C address for the BQ25628E */
|
||||
#define BQ25628E_DEFAULT_ADDR 0x6A
|
||||
|
||||
|
|
@ -82,14 +83,18 @@ typedef enum {
|
|||
#define BQ25628E_STATUS0_WD_STAT (1 << 0) /*!< WD timer expired */
|
||||
#define BQ25628E_STATUS0_SAFETY_TMR_STAT (1 << 1) /*!< Safety timer expired */
|
||||
#define BQ25628E_STATUS0_VINDPM_STAT (1 << 2) /*!< In VINDPM regulation */
|
||||
#define BQ25628E_STATUS0_IINDPM_STAT (1 << 3) /*!< In IINDPM/ILIM regulation */
|
||||
#define BQ25628E_STATUS0_IINDPM_STAT (1 << 3) /*!< In IINDPM/ILIM regulation \
|
||||
*/
|
||||
#define BQ25628E_STATUS0_VSYS_STAT (1 << 4) /*!< In VSYSMIN regulation */
|
||||
#define BQ25628E_STATUS0_TREG_STAT (1 << 5) /*!< In thermal regulation */
|
||||
#define BQ25628E_STATUS0_ADC_DONE_STAT (1 << 6) /*!< ADC conversion complete */
|
||||
#define BQ25628E_STATUS0_ADC_DONE_STAT (1 << 6) /*!< ADC conversion complete \
|
||||
*/
|
||||
|
||||
/*! Status register bit masks for REG0x1E_Charger_Status_1 */
|
||||
#define BQ25628E_STATUS1_VBUS_STAT_MASK (0x07) /*!< VBUS status mask bits 2:0 */
|
||||
#define BQ25628E_STATUS1_CHG_STAT_MASK (0x18) /*!< Charge status mask bits 4:3 */
|
||||
#define BQ25628E_STATUS1_VBUS_STAT_MASK (0x07) /*!< VBUS status mask bits 2:0 \
|
||||
*/
|
||||
#define BQ25628E_STATUS1_CHG_STAT_MASK \
|
||||
(0x18) /*!< Charge status mask bits 4:3 */
|
||||
#define BQ25628E_STATUS1_CHG_STAT_SHIFT (3) /*!< Charge status bit shift */
|
||||
|
||||
/*! VBUS Status values */
|
||||
|
|
@ -97,7 +102,8 @@ typedef enum {
|
|||
#define BQ25628E_VBUS_STAT_UNKNOWN_ADAPTER (0x04) /*!< Unknown adapter */
|
||||
|
||||
/*! Charge Status values */
|
||||
#define BQ25628E_CHG_STAT_NOT_CHARGING (0x00) /*!< Not charging or terminated */
|
||||
#define BQ25628E_CHG_STAT_NOT_CHARGING (0x00) /*!< Not charging or terminated \
|
||||
*/
|
||||
#define BQ25628E_CHG_STAT_CHARGING (0x01) /*!< Trickle/Pre/Fast charge */
|
||||
#define BQ25628E_CHG_STAT_TAPER (0x02) /*!< Taper charge (CV mode) */
|
||||
#define BQ25628E_CHG_STAT_TOPOFF (0x03) /*!< Top-off timer active */
|
||||
|
|
@ -105,7 +111,8 @@ typedef enum {
|
|||
/*! Fault status register bit flags for REG0x1F_FAULT_Status_0 */
|
||||
#define BQ25628E_FAULT_VBUS_FAULT_STAT (1 << 7) /*!< VBUS fault (OVP/sleep) */
|
||||
#define BQ25628E_FAULT_BAT_FAULT_STAT (1 << 6) /*!< Battery fault (OCP/OVP) */
|
||||
#define BQ25628E_FAULT_SYS_FAULT_STAT (1 << 5) /*!< System fault (short/OVP) */
|
||||
#define BQ25628E_FAULT_SYS_FAULT_STAT (1 << 5) /*!< System fault (short/OVP) \
|
||||
*/
|
||||
#define BQ25628E_FAULT_TSHUT_STAT (1 << 3) /*!< Thermal shutdown */
|
||||
#define BQ25628E_FAULT_TS_STAT_MASK (0x07) /*!< TS status mask bits 2:0 */
|
||||
|
||||
|
|
@ -121,21 +128,27 @@ typedef enum {
|
|||
|
||||
/*! Charger flag register bit flags for REG0x20_Charger_Flag_0 */
|
||||
#define BQ25628E_FLAG0_WD_FLAG (1 << 0) /*!< WD timer expired flag */
|
||||
#define BQ25628E_FLAG0_SAFETY_TMR_FLAG (1 << 1) /*!< Safety timer expired flag */
|
||||
#define BQ25628E_FLAG0_SAFETY_TMR_FLAG \
|
||||
(1 << 1) /*!< Safety timer expired flag */
|
||||
#define BQ25628E_FLAG0_VINDPM_FLAG (1 << 2) /*!< VINDPM regulation flag */
|
||||
#define BQ25628E_FLAG0_IINDPM_FLAG (1 << 3) /*!< IINDPM/ILIM regulation flag */
|
||||
#define BQ25628E_FLAG0_IINDPM_FLAG (1 << 3) /*!< IINDPM/ILIM regulation flag \
|
||||
*/
|
||||
#define BQ25628E_FLAG0_VSYS_FLAG (1 << 4) /*!< VSYSMIN regulation flag */
|
||||
#define BQ25628E_FLAG0_TREG_FLAG (1 << 5) /*!< Thermal regulation flag */
|
||||
#define BQ25628E_FLAG0_ADC_DONE_FLAG (1 << 6) /*!< ADC conversion complete flag */
|
||||
#define BQ25628E_FLAG0_ADC_DONE_FLAG \
|
||||
(1 << 6) /*!< ADC conversion complete flag */
|
||||
|
||||
/*! Charger flag register bit flags for REG0x21_Charger_Flag_1 */
|
||||
#define BQ25628E_FLAG1_VBUS_FLAG (1 << 0) /*!< VBUS status changed flag */
|
||||
#define BQ25628E_FLAG1_CHG_FLAG (1 << 3) /*!< Charge status changed flag */
|
||||
|
||||
/*! Fault flag register bit flags for REG0x22_FAULT_Flag_0 */
|
||||
#define BQ25628E_FAULT_FLAG_VBUS_FAULT (1 << 7) /*!< VBUS OVP/sleep fault flag */
|
||||
#define BQ25628E_FAULT_FLAG_BAT_FAULT (1 << 6) /*!< Battery OCP/OVP fault flag */
|
||||
#define BQ25628E_FAULT_FLAG_SYS_FAULT (1 << 5) /*!< System OVP/short fault flag */
|
||||
#define BQ25628E_FAULT_FLAG_VBUS_FAULT \
|
||||
(1 << 7) /*!< VBUS OVP/sleep fault flag */
|
||||
#define BQ25628E_FAULT_FLAG_BAT_FAULT \
|
||||
(1 << 6) /*!< Battery OCP/OVP fault flag */
|
||||
#define BQ25628E_FAULT_FLAG_SYS_FAULT \
|
||||
(1 << 5) /*!< System OVP/short fault flag */
|
||||
#define BQ25628E_FAULT_FLAG_TSHUT (1 << 3) /*!< Thermal shutdown fault flag */
|
||||
#define BQ25628E_FAULT_FLAG_TS_CHANGED (1 << 0) /*!< TS status changed flag */
|
||||
|
||||
|
|
@ -143,7 +156,8 @@ typedef enum {
|
|||
#define BQ25628E_MASK0_ADC_DONE_MASK (1 << 6) /*!< ADC conversion mask */
|
||||
#define BQ25628E_MASK0_TREG_MASK (1 << 5) /*!< Thermal regulation mask */
|
||||
#define BQ25628E_MASK0_VSYS_MASK (1 << 4) /*!< VSYSMIN regulation mask */
|
||||
#define BQ25628E_MASK0_IINDPM_MASK (1 << 3) /*!< IINDPM/ILIM regulation mask */
|
||||
#define BQ25628E_MASK0_IINDPM_MASK (1 << 3) /*!< IINDPM/ILIM regulation mask \
|
||||
*/
|
||||
#define BQ25628E_MASK0_VINDPM_MASK (1 << 2) /*!< VINDPM regulation mask */
|
||||
#define BQ25628E_MASK0_SAFETY_TMR_MASK (1 << 1) /*!< Safety timer mask */
|
||||
#define BQ25628E_MASK0_WD_MASK (1 << 0) /*!< Watchdog timer mask */
|
||||
|
|
@ -162,21 +176,27 @@ typedef enum {
|
|||
/*! Combined interrupt mask positions for 32-bit interface */
|
||||
#define BQ25628E_INT_MASK_WD (1UL << 0) /*!< Watchdog timer interrupt */
|
||||
#define BQ25628E_INT_MASK_SAFETY_TMR (1UL << 1) /*!< Safety timer interrupt */
|
||||
#define BQ25628E_INT_MASK_VINDPM (1UL << 2) /*!< VINDPM regulation interrupt */
|
||||
#define BQ25628E_INT_MASK_IINDPM (1UL << 3) /*!< IINDPM/ILIM regulation interrupt */
|
||||
#define BQ25628E_INT_MASK_VINDPM (1UL << 2) /*!< VINDPM regulation interrupt \
|
||||
*/
|
||||
#define BQ25628E_INT_MASK_IINDPM \
|
||||
(1UL << 3) /*!< IINDPM/ILIM regulation interrupt */
|
||||
#define BQ25628E_INT_MASK_VSYS (1UL << 4) /*!< VSYSMIN regulation interrupt */
|
||||
#define BQ25628E_INT_MASK_TREG (1UL << 5) /*!< Thermal regulation interrupt */
|
||||
#define BQ25628E_INT_MASK_ADC_DONE (1UL << 6) /*!< ADC conversion interrupt */
|
||||
#define BQ25628E_INT_MASK_VBUS (1UL << 8) /*!< VBUS status change interrupt */
|
||||
#define BQ25628E_INT_MASK_CHG (1UL << 11) /*!< Charge status change interrupt */
|
||||
#define BQ25628E_INT_MASK_CHG (1UL << 11) /*!< Charge status change interrupt \
|
||||
*/
|
||||
#define BQ25628E_INT_MASK_TS (1UL << 16) /*!< TS status change interrupt */
|
||||
#define BQ25628E_INT_MASK_TSHUT (1UL << 19) /*!< Thermal shutdown interrupt */
|
||||
#define BQ25628E_INT_MASK_SYS_FAULT (1UL << 21) /*!< System fault interrupt */
|
||||
#define BQ25628E_INT_MASK_BAT_FAULT (1UL << 22) /*!< Battery fault interrupt */
|
||||
#define BQ25628E_INT_MASK_BAT_FAULT (1UL << 22) /*!< Battery fault interrupt \
|
||||
*/
|
||||
#define BQ25628E_INT_MASK_VBUS_FAULT (1UL << 23) /*!< VBUS fault interrupt */
|
||||
|
||||
/*! Default interrupt mask: Enable only CHG and VBUS interrupts, disable all others */
|
||||
#define BQ25628E_INT_MASK_DEFAULT (~(BQ25628E_INT_MASK_CHG | BQ25628E_INT_MASK_VBUS))
|
||||
/*! Default interrupt mask: Enable only CHG and VBUS interrupts, disable all
|
||||
* others */
|
||||
#define BQ25628E_INT_MASK_DEFAULT \
|
||||
(~(BQ25628E_INT_MASK_CHG | BQ25628E_INT_MASK_VBUS))
|
||||
|
||||
/*!
|
||||
* @brief ADC sample rate settings
|
||||
|
|
@ -241,10 +261,10 @@ typedef enum {
|
|||
* the BQ25628E I2C Battery Charger
|
||||
*/
|
||||
class Adafruit_BQ25628E {
|
||||
public:
|
||||
public:
|
||||
Adafruit_BQ25628E();
|
||||
~Adafruit_BQ25628E();
|
||||
bool begin(uint8_t i2c_addr = BQ25628E_DEFAULT_ADDR, TwoWire *wire = &Wire);
|
||||
bool begin(uint8_t i2c_addr = BQ25628E_DEFAULT_ADDR, TwoWire* wire = &Wire);
|
||||
|
||||
bool setChargeCurrentLimitA(float current_a);
|
||||
float getChargeCurrentLimitA();
|
||||
|
|
@ -366,8 +386,8 @@ public:
|
|||
float getThermistorPercent();
|
||||
float getDieTempC();
|
||||
|
||||
private:
|
||||
Adafruit_I2CDevice *i2c_dev; /*!< Pointer to I2C bus interface */
|
||||
private:
|
||||
Adafruit_I2CDevice* i2c_dev; /*!< Pointer to I2C bus interface */
|
||||
};
|
||||
|
||||
#endif
|
||||
Loading…
Reference in a new issue