Source code for philander.stc3117_reg

"""Register definitions for the STC311x family battery gas gauges.
    
Definition of registers and default values for the
above-mentioned chips.
Externalized, just for clarity of the source code.
"""
__author__ = "Carl Bellgardt"
__version__ = "0.1"
__all__ = ["STC3117_Reg", ]

from philander.stc311x_reg import STC311x_Reg

[docs] class STC3117_Reg(STC311x_Reg): """Definition of the STC3115 exclusive registers and values. Registers and content interpretation specific to this chip. It complements those definitions inherited from the base class. """ # Register REG_MODE MODE_BATD_PU = 0x02 # BATD internal pull-up enable MODE_FORCE_CD = 0x04 # CD driven by internal logic / forced high MODE_OFF = STC311x_Reg.MODE_OFF | MODE_BATD_PU MODE_DEFAULT = STC311x_Reg.MODE_DEFAULT | MODE_BATD_PU # Register 1: REG_CTRL CTRL_UVLOD = 0x80 # UVLO event detection # Register 2: REG_SOC_L # Register 3: REG_SOC_H # Register 4: REG_COUNTER_L # Register 5: REG_COUNTER_H # Register 6: REG_CURRENT_L # Register 7: REG_CURRENT_H # Register 8: REG_VOLTAGE_L # Register 9: REG_VOLTAGE_H # Register 10: REG_TEMPERATURE # Register 11/12: REG_AVG_CURRENT_L/H REG_AVG_CURRENT_L = 11 REG_AVG_CURRENT_H = 12 REG_AVG_CURRENT = REG_AVG_CURRENT_L # Battery average current or SOC change rate # Register 13: REG_OCV_L # Register 14: REG_OCV_H # Register 15: REG_CC_CNF_L # Register 16: REG_CC_CNF_H # Register 17: REG_VM_CNF_L # Register 18: REG_VM_CNF_H # Register 19: REG_ALARM_SOC # Register 20: REG_ALARM_VOLTAGE # Register 21: REG_CURRENT_THRES # Register 22: REG_CMONIT_COUNT REG_CMONIT_COUNT = 22 # Current monitoring counter # Register 23: REG_CMONIT_MAX REG_CMONIT_MAX = 23 # Maximum counter value for current monitoring CMONIT_MAX_DEFAULT = 0x78 # Register 24: REG_ID CHIP_ID = 0x16 # Expected ID found in REG_ID # Register 25-26: not used # Register 27/28: REG_CC_ADJ_L/H REG_CC_ADJ_L = 27 REG_CC_ADJ_H = 28 REG_CC_ADJ = REG_CC_ADJ_L # Coulomb counter adjustment register # Register 29/30: REG_VM_ADJ_L/H REG_VM_ADJ_L = 29 REG_VM_ADJ_H = 30 REG_VM_ADJ = REG_VM_ADJ_L # Voltage mode adjustment register # REG 31: not used # REG 32-47: RAM registers, working registers for gas gauge # REG 48-79: Open Circuit Voltage (OCV) table registers # OCV points, 2 bytes per point [0.55mV] REG_OCVTAB0_L = 48 REG_OCVTAB0_H = 49 REG_OCVTAB0 = REG_OCVTAB0_L REG_OCVTAB1_L = 50 REG_OCVTAB1_H = 51 REG_OCVTAB1 = REG_OCVTAB1_L REG_OCVTAB2_L = 52 REG_OCVTAB2_H = 53 REG_OCVTAB2 = REG_OCVTAB2_L REG_OCVTAB3_L = 54 REG_OCVTAB3_H = 55 REG_OCVTAB3 = REG_OCVTAB3_L REG_OCVTAB4_L = 56 REG_OCVTAB4_H = 57 REG_OCVTAB4 = REG_OCVTAB4_L REG_OCVTAB5_L = 58 REG_OCVTAB5_H = 59 REG_OCVTAB5 = REG_OCVTAB5_L REG_OCVTAB6_L = 60 REG_OCVTAB6_H = 61 REG_OCVTAB6 = REG_OCVTAB6_L REG_OCVTAB7_L = 62 REG_OCVTAB7_H = 63 REG_OCVTAB7 = REG_OCVTAB7_L REG_OCVTAB8_L = 64 REG_OCVTAB8_H = 65 REG_OCVTAB8 = REG_OCVTAB8_L REG_OCVTAB9_L = 66 REG_OCVTAB9_H = 67 REG_OCVTAB9 = REG_OCVTAB9_L REG_OCVTAB10_L = 68 REG_OCVTAB10_H = 69 REG_OCVTAB10 = REG_OCVTAB10_L REG_OCVTAB11_L = 70 REG_OCVTAB11_H = 71 REG_OCVTAB11 = REG_OCVTAB11_L REG_OCVTAB12_L = 72 REG_OCVTAB12_H = 73 REG_OCVTAB12 = REG_OCVTAB12_L REG_OCVTAB13_L = 74 REG_OCVTAB13_H = 75 REG_OCVTAB13 = REG_OCVTAB13_L REG_OCVTAB14_L = 76 REG_OCVTAB14_H = 77 REG_OCVTAB14 = REG_OCVTAB14_L REG_OCVTAB15_L = 78 REG_OCVTAB15_H = 79 REG_OCVTAB15 = REG_OCVTAB15_L OCV0_DEFAULT = 0x1770 # 3300 mV OCV1_DEFAULT = 0x1926 # 3541 mV OCV2_DEFAULT = 0x19B2 # 3618 mV OCV3_DEFAULT = 0x19FB # 3658 mV OCV4_DEFAULT = 0x1A3E # 3695 mV OCV5_DEFAULT = 0x1A6D # 3721 mV OCV6_DEFAULT = 0x1A9D # 3747 mV OCV7_DEFAULT = 0x1AB6 # 3761 mV OCV8_DEFAULT = 0x1AD5 # 3778 mV OCV9_DEFAULT = 0x1B01 # 3802 mV OCV10_DEFAULT = 0x1B70 # 3863 mV OCV11_DEFAULT = 0x1BB1 # 3899 mV OCV12_DEFAULT = 0x1BE8 # 3929 mV OCV13_DEFAULT = 0x1C58 # 3991 mV OCV14_DEFAULT = 0x1CF3 # 4076 mV OCV15_DEFAULT = 0x1DA9 # 4176 mV # REG 80-95: State Of Charge (SOC) SOC points [0.5%] REG_SOCTAB0 = 80 REG_SOCTAB1 = 81 REG_SOCTAB2 = 82 REG_SOCTAB3 = 83 REG_SOCTAB4 = 84 REG_SOCTAB5 = 85 REG_SOCTAB6 = 86 REG_SOCTAB7 = 87 REG_SOCTAB8 = 88 REG_SOCTAB9 = 89 REG_SOCTAB10 = 90 REG_SOCTAB11 = 91 REG_SOCTAB12 = 92 REG_SOCTAB13 = 93 REG_SOCTAB14 = 94 REG_SOCTAB15 = 95 SOC0_DEFAULT = 0x00 # 0 % SOC1_DEFAULT = 0x06 # 3 % SOC2_DEFAULT = 0x0C # 6 % SOC3_DEFAULT = 0x14 # 10 % SOC4_DEFAULT = 0x1E # 15 % SOC5_DEFAULT = 0x28 # 20 % SOC6_DEFAULT = 0x32 # 25 % SOC7_DEFAULT = 0x3C # 30 % SOC8_DEFAULT = 0x50 # 40 % SOC9_DEFAULT = 0x64 # 50 % SOC10_DEFAULT = 0x7B # 60 % SOC11_DEFAULT = 0x82 # 65 % SOC12_DEFAULT = 0x8C # 70 % SOC13_DEFAULT = 0xA0 # 80 % SOC14_DEFAULT = 0xB4 # 90 % SOC15_DEFAULT = 0xC8 # 100 %