/* * ADBMS_CMD_MAKROS.h * * Created on: 14.07.2022 * Author: max */ #ifndef INC_ADBMS_CMD_MAKROS_H_ #define INC_ADBMS_CMD_MAKROS_H_ #include #define WRCFGA 0x0001 // Write Configuration Register Group A #define RDCFGA 0x0002 // Read Configuration Register Group A #define WRCFGB 0x0024 // Write Configuration Register Group B #define RDCFGB 0x0026 // Read Configuration Register Group B #define WRPWMA 0x0020 // Write PWM Register Group A #define RDPWMA 0x0022 // Read PWM Register Group A #define WRPWMB 0x0021 // Write PWM Register Group B #define RDPWMB 0x0023 // Read PWM Register Group B #define RDCVA 0x0004 // Read Cell Voltage Register Group A #define RDCVB 0x0006 // Read Cell Voltage Register Group B #define RDCVC 0x0008 // Read Cell Voltage Register Group C #define RDCVD 0x000A // Read Cell Voltage Register Group D #define RDCVE 0x0009 // Read Cell Voltage Register Group E #define RDCVF 0x000B // Read Cell Voltage Register Group F #define RDCVALL 0x000C // Read All Cell Voltage Register Groups #define RDACA 0x0044 // Read averaged Cell Voltage Register Group A #define RDACB 0x0046 // Read averaged Cell Voltage Register Group B #define RDACC 0x0048 // Read averaged Cell Voltage Register Group C #define RDACD 0x004A // Read averaged Cell Voltage Register Group D #define RDACE 0x0049 // Read averaged Cell Voltage Register Group E #define RDACF 0x004B // Read averaged Cell Voltage Register Group F #define RDACALL 0x004C // Read averaged All Cell Voltage Register Groups #define RDAUXA 0x0019 // Read Auxilliary Register Group A #define RDAUXB 0x001A // Read Auxilliary Register Group B #define RDAUXC 0x001B // Read Auxilliary Register Group C #define RDAUXD 0x001F // Read Auxilliary Register Group D #define RDAUXALL 0x0035 // Read All Auxilliary and Status Register Groups #define RDSTATA 0x0030 // Read Status Register Group A #define RDSTATB 0x0031 // Read Status Register Group B #define RDSTATC 0x0032 // Read Status Register Group C #define RDSTATD 0x0033 // Read Status Register Group D #define RDSTATE 0x0034 // Read Status Register Group E #define ADCV 0x0260 // Start Cell Voltage Conversion with C-ADC #define ADCV_OW_0 (1u << 0) #define ADCV_OW_1 (1u << 1) #define ADCV_RSTF (1u << 2) #define ADCV_DCP (1u << 4) #define ADCV_CONT (1u << 7) // Continuous Mode #define ADCV_RD (1u << 8) // Redundancy Mode #define ADSV 0x0168 // Start Cell Voltage Conversion with S-ADC #define ADSV_OW_0 (1u << 0) #define ADSV_OW_1 (1u << 1) #define ADSV_DCP (1u << 4) #define ADSV_CONT (1u << 7) // Continuous Mode #define ADAX 0x0411 // Start GPIOs and Vref2 Conversion #define ADAX2 0x0401 #define ADAX_CONV_ALL 0x0000 // Convert all GPIOs, VREF2, VD, VA, ITEMP #define ADAX_OW (1u << 8) #define CLRCELL 0x0711 // Clear Cell Voltage Register Groups #define CLRAUX 0x0712 // Clear Auxiliary Register Groups #define CLOVUV 0x0715 // Clear Overvoltage and Undervoltage Flags #define CLRFLAG 0x0717 // Clear all Flags #define PLADC 0x0718 // Poll ADC Conversion Status #define PLAUX 0x071E // Poll AUX Conversion Status #define SRST 0x0027 //Soft reset #define DIAGN 0x0715 // Diagnos MUX and Poll Status #define WRCOMM 0x0721 // Write COMM Register Group #define RDCOMM 0x0722 // Read COMM Register Group #define STCOMM 0x0723 // Start I2C/SPI Communication #define MUTE 0x0028 // Mute Discharge #define UNMUTE 0x0029 // Unmute Discharge /* GPIO Selection for ADC Converion * 000: GPIO1 to 5, 2nd Reference, GPIO 6 to 9 * 001: GPIO1 and GPIO6 * 010 GPIO2 and GPIO7 * 011 GPIO3 and GPIO8 * 100 GPIO4 and GPIO9 * 101 GPIO5 * 110 2nd Reference */ #define CHG000 (0x00) #define CHG001 (0x01) #define CHG010 (0x02) #define CHG011 (0x03) #define CHG100 (0x04) #define CHG101 (0x05) #define CHG110 (0x06) /* Status Group Selection * 000: SC,ITMP,VA,VD * 001: SC * 010: ITMP * 011: VA * 100: VD */ #define CHST000 (0x00) #define CHST001 (0x01) #define CHST010 (0x02) #define CHST011 (0x03) #define CHST100 (0x04) #define PEC_FIELD_SIZE 2 #define CFG_GROUP_A_SIZE 6 #define CFG_GROUP_B_SIZE 6 #define PWM_GROUP_A_SIZE 6 #define PWM_GROUP_B_SIZE 2 #define CV_GROUP_A_SIZE 6 #define CV_GROUP_B_SIZE 6 #define CV_GROUP_C_SIZE 6 #define CV_GROUP_D_SIZE 6 #define CV_GROUP_E_SIZE 6 #define CV_GROUP_F_SIZE 6 #define AUX_GROUP_A_SIZE 6 #define AUX_GROUP_B_SIZE 6 #define AUX_GROUP_C_SIZE 6 #define AUX_GROUP_D_SIZE 6 #define STATUS_GROUP_A_SIZE 6 #define STATUS_GROUP_B_SIZE 6 #define STATUS_GROUP_C_SIZE 6 #define STATUS_GROUP_D_SIZE 6 #define STATUS_GROUP_E_SIZE 6 #define COMM_GROUP_SIZE 6 #define S_CONTROL_GROUP_SIZE 6 #define PWM_GROUP_SIZE 6 #define PWM_S_CONTROL_GROUP_B_SIZE 6 #define CFG_GROUP_A_ID 1 #define CFG_GROUP_B_ID 2 #define CV_GROUP_A_ID 3 #define CV_GROUP_B_ID 4 #define CV_GROUP_C_ID 5 #define CV_GROUP_D_ID 6 #define CV_GROUP_E_ID 7 #define CV_GROUP_F_ID 8 #define AUX_GROUP_A_ID 9 #define AUX_GROUP_B_ID 10 #define AUX_GROUP_C_ID 11 #define AUX_GROUP_D_ID 12 #define STATUS_GROUP_A_ID 13 #define STATUS_GROUP_B_ID 14 #define COMM_GROUP_ID 15 #define S_CONTROL_GROUP_ID 16 #define PWM_GROUP_ID 17 #define PWM_S_CONTROL_GROUP_B_ID 18 #endif /* INC_ADBMS_CMD_MAKROS_H_ */