2020-11-11 09:31:35 +03:00
|
|
|
#pragma once
|
|
|
|
|
|
2024-10-06 19:36:05 +01:00
|
|
|
#define BQ27220_ADDRESS (0xAAu)
|
|
|
|
|
#define BQ27220_I2C_TIMEOUT (50u)
|
2020-11-11 09:31:35 +03:00
|
|
|
|
2024-10-06 19:36:05 +01:00
|
|
|
#define CommandControl (0x00u)
|
|
|
|
|
#define CommandAtRate (0x02u)
|
|
|
|
|
#define CommandAtRateTimeToEmpty (0x04u)
|
|
|
|
|
#define CommandTemperature (0x06u)
|
|
|
|
|
#define CommandVoltage (0x08u)
|
|
|
|
|
#define CommandBatteryStatus (0x0Au)
|
|
|
|
|
#define CommandCurrent (0x0Cu)
|
|
|
|
|
#define CommandRemainingCapacity (0x10u)
|
|
|
|
|
#define CommandFullChargeCapacity (0x12u)
|
|
|
|
|
#define CommandAverageCurrent (0x14u)
|
|
|
|
|
#define CommandTimeToEmpty (0x16u)
|
|
|
|
|
#define CommandTimeToFull (0x18u)
|
|
|
|
|
#define CommandStandbyCurrent (0x1Au)
|
|
|
|
|
#define CommandStandbyTimeToEmpty (0x1Cu)
|
|
|
|
|
#define CommandMaxLoadCurrent (0x1Eu)
|
|
|
|
|
#define CommandMaxLoadTimeToEmpty (0x20u)
|
|
|
|
|
#define CommandRawCoulombCount (0x22u)
|
|
|
|
|
#define CommandAveragePower (0x24u)
|
|
|
|
|
#define CommandInternalTemperature (0x28u)
|
|
|
|
|
#define CommandCycleCount (0x2Au)
|
|
|
|
|
#define CommandStateOfCharge (0x2Cu)
|
|
|
|
|
#define CommandStateOfHealth (0x2Eu)
|
|
|
|
|
#define CommandChargeVoltage (0x30u)
|
|
|
|
|
#define CommandChargeCurrent (0x32u)
|
|
|
|
|
#define CommandBTPDischargeSet (0x34u)
|
|
|
|
|
#define CommandBTPChargeSet (0x36u)
|
|
|
|
|
#define CommandOperationStatus (0x3Au)
|
|
|
|
|
#define CommandDesignCapacity (0x3Cu)
|
|
|
|
|
#define CommandSelectSubclass (0x3Eu)
|
|
|
|
|
#define CommandMACData (0x40u)
|
|
|
|
|
#define CommandMACDataSum (0x60u)
|
|
|
|
|
#define CommandMACDataLen (0x61u)
|
|
|
|
|
#define CommandAnalogCount (0x79u)
|
|
|
|
|
#define CommandRawCurrent (0x7Au)
|
|
|
|
|
#define CommandRawVoltage (0x7Cu)
|
|
|
|
|
#define CommandRawIntTemp (0x7Eu)
|
2020-11-11 09:31:35 +03:00
|
|
|
|
2024-10-06 19:36:05 +01:00
|
|
|
#define Control_CONTROL_STATUS (0x0000u)
|
|
|
|
|
#define Control_DEVICE_NUMBER (0x0001u)
|
|
|
|
|
#define Control_FW_VERSION (0x0002u)
|
|
|
|
|
#define Control_HW_VERSION (0x0003u)
|
|
|
|
|
#define Control_BOARD_OFFSET (0x0009u)
|
|
|
|
|
#define Control_CC_OFFSET (0x000Au)
|
|
|
|
|
#define Control_CC_OFFSET_SAVE (0x000Bu)
|
|
|
|
|
#define Control_OCV_CMD (0x000Cu)
|
|
|
|
|
#define Control_BAT_INSERT (0x000Du)
|
|
|
|
|
#define Control_BAT_REMOVE (0x000Eu)
|
|
|
|
|
#define Control_SET_SNOOZE (0x0013u)
|
|
|
|
|
#define Control_CLEAR_SNOOZE (0x0014u)
|
|
|
|
|
#define Control_SET_PROFILE_1 (0x0015u)
|
|
|
|
|
#define Control_SET_PROFILE_2 (0x0016u)
|
|
|
|
|
#define Control_SET_PROFILE_3 (0x0017u)
|
|
|
|
|
#define Control_SET_PROFILE_4 (0x0018u)
|
|
|
|
|
#define Control_SET_PROFILE_5 (0x0019u)
|
|
|
|
|
#define Control_SET_PROFILE_6 (0x001Au)
|
|
|
|
|
#define Control_CAL_TOGGLE (0x002Du)
|
|
|
|
|
#define Control_SEALED (0x0030u)
|
|
|
|
|
#define Control_RESET (0x0041u)
|
|
|
|
|
#define Control_OERATION_STATUS (0x0054u)
|
|
|
|
|
#define Control_GAUGING_STATUS (0x0056u)
|
|
|
|
|
#define Control_EXIT_CAL (0x0080u)
|
|
|
|
|
#define Control_ENTER_CAL (0x0081u)
|
|
|
|
|
#define Control_ENTER_CFG_UPDATE (0x0090u)
|
|
|
|
|
#define Control_EXIT_CFG_UPDATE_REINIT (0x0091u)
|
|
|
|
|
#define Control_EXIT_CFG_UPDATE (0x0092u)
|
|
|
|
|
#define Control_RETURN_TO_ROM (0x0F00u)
|
|
|
|
|
|
|
|
|
|
#define UnsealKey1 (0x0414u)
|
|
|
|
|
#define UnsealKey2 (0x3672u)
|
|
|
|
|
|
|
|
|
|
#define FullAccessKey (0xffffu)
|