.. _program_listing_file_components_ESC_src_BQ27441_Constants.h: Program Listing for File BQ27441_Constants.h ============================================ |exhale_lsh| :ref:`Return to documentation for file ` (``components/ESC/src/BQ27441_Constants.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef BQ27441_CONSTANTS_H #define BQ27441_CONSTANTS_H #include namespace esc { const std::uint8_t FUELGAUGE_ADDRESS = 0x55; const std::uint16_t UNSEAL_KEY = 0x8000; const std::uint16_t DEVICE_TYPE_ID = 0x0421; enum Command { CONTROL = 0x00, TEMP = 0x02, VOLTAGE = 0x04, FLAGS = 0x06, NOM_CAPACITY = 0x08, AVAIL_CAPACITY = 0x0A, REM_CAPACITY = 0x0C, FULL_CAPACITY = 0x0E, AVG_CURRENT = 0x10, STDBY_CURRENT = 0x12, MAX_CURRENT = 0x14, AVG_POWER = 0x18, SOC = 0x1C, INT_TEMP = 0x1E, SOH = 0x20, REM_CAP_UNFL = 0x28, REM_CAP_FIL = 0x2A, FULL_CAP_UNFL = 0x2C, FULL_CAP_FIL = 0x2E, SOC_UNFL = 0x30 }; enum Control { STATUS = 0x00, DEVICE_TYPE = 0x01, FW_VERSION = 0x02, DM_CODE = 0x04, PREV_MACWRITE = 0x07, CHEM_ID = 0x08, BAT_INSERT = 0x0C, BAT_REMOVE = 0x0D, SET_HIBERNATE = 0x11, CLEAR_HIBERNATE = 0x12, SET_CFG_UPDATE = 0x13, SHUTDOWN_ENABLE = 0x1B, SHUTDOWN = 0x1C, SEALED = 0x20, PULSE_SOC_INT = 0x23, RESET = 0x41, SOFT_RESET = 0x42, EXIT_CFGUPDATE = 0x43, EXIT_RESIM = 0x44 }; const std::uint16_t STATUS_SHUTDOWNEN = (1 << 15); const std::uint16_t STATUS_WDRESET = (1 << 14); const std::uint16_t STATUS_SS = (1 << 13); const std::uint16_t STATUS_CALMODE = (1 << 12); const std::uint16_t STATUS_CCA = (1 << 11); const std::uint16_t STATUS_BCA = (1 << 10); const std::uint16_t STATUS_QMAX_UP = (1 << 9); const std::uint16_t STATUS_RES_UP = (1 << 8); const std::uint16_t STATUS_INITCOMP = (1 << 7); const std::uint16_t STATUS_HIBERNATE = (1 << 6); const std::uint16_t STATUS_SLEEP = (1 << 4); const std::uint16_t STATUS_LDMD = (1 << 3); const std::uint16_t STATUS_RUP_DIS = (1 << 2); const std::uint16_t STATUS_VOK = (1 << 1); const std::uint16_t FLAG_OT = (1 << 15); const std::uint16_t FLAG_UT = (1 << 14); const std::uint16_t FLAG_FC = (1 << 9); const std::uint16_t FLAG_CHG = (1 << 8); const std::uint16_t FLAG_OCVTAKEN = (1 << 7); const std::uint16_t FLAG_ITPOR = (1 << 5); const std::uint16_t FLAG_CFGUPMODE = (1 << 4); const std::uint16_t FLAG_BAT_DET = (1 << 3); const std::uint16_t FLAG_SOC1 = (1 << 2); const std::uint16_t FLAG_SOCF = (1 << 1); const std::uint16_t FLAG_DSG = (1 << 0); const std::uint8_t EXTENDED_OPCONFIG = 0x3A; const std::uint8_t EXTENDED_CAPACITY = 0x3C; const std::uint8_t EXTENDED_DATACLASS = 0x3E; const std::uint8_t EXTENDED_DATABLOCK = 0x3F; const std::uint8_t EXTENDED_BLOCKDATA = 0x40; const std::uint8_t EXTENDED_CHECKSUM = 0x60; const std::uint8_t EXTENDED_CONTROL = 0x61; const std::uint8_t ID_SAFETY = 2; const std::uint8_t ID_CHG_TERMINATION = 36; const std::uint8_t ID_CONFIG_DATA = 48; const std::uint8_t ID_DISCHARGE = 49; const std::uint8_t ID_REGISTERS = 64; const std::uint8_t ID_POWER = 68; const std::uint8_t ID_IT_CFG = 80; const std::uint8_t ID_CURRENT_THRESH = 81; const std::uint8_t ID_STATE = 82; const std::uint8_t ID_R_A_RAM = 89; const std::uint8_t ID_CALIB_DATA = 104; const std::uint8_t ID_CC_CAL = 105; const std::uint8_t ID_CURRENT = 107; const std::uint8_t ID_CODES = 112; const std::uint16_t OPCONFIG_BIE = (1 << 13); const std::uint16_t OPCONFIG_BI_PU_EN = (1 << 12); const std::uint16_t OPCONFIG_GPIOPOL = (1 << 11); const std::uint16_t OPCONFIG_SLEEP = (1 << 5); const std::uint16_t OPCONFIG_RMFCC = (1 << 4); const std::uint16_t OPCONFIG_BATLOWEN = (1 << 2); const std::uint16_t OPCONFIG_TEMPS = (1 << 0); } // namespace esc #endif // BQ27441_CONSTANTS_H