//////////////////////////////////////////////////////////////////////////// ///@copyright Copyright (c) 2017, 传控科技 All rights reserved. ///------------------------------------------------------------------------- /// @file msa300.c /// @brief msa300 driver app ///------------------------------------------------------------------------- /// @version 1.0 /// @author CC /// @date 20170122 /// @note cc_AS_stc01 ////////////////////////////////////////////////////////////////////////////// #ifndef _cw63xx_H #define _cw63xx_H #define D_i2c_addr_cw63xx 0x12 #include "../msp/iic_sim.h" //#include "../bsp/type_hs.h" ///-------------------------------------------------------------------- #define D_CW63X_REG_system 0X00 #define D_CW63X_REG_Charge 0X01 #define D_CW63X_EN_NTC BITN7 ///Enable NTC check #define D_CW63X_EN_CHG BITN6 /// Enable charging #define D_CW63X_EN_TIMER BITN5 // Enalble charging timer // in power-off state,the IC will turn off LDO1,2,3,B ut hte LDORTC/LDO4 will remain on #define D_CW63X_power_off 0x0a //L1_cw63xx_set(D_CW63X_REG_Safety,D_CW63X_EN_NTC|D_CW63X_EN_CHG|D_CW63X_EN_TIMER|D_CW63X_power_off); //L1_cw63xx_set(D_CW63X_REG_Safety,D_CW63X_EN_NTC|D_CW63X_EN_CHG|D_CW63X_EN_TIMER); ///-------------------------------------------------------------------- #define D_CW63X_REG_Safety 0X02 #define D_CW63X_LowBateryThreshold 0 #define L0_set_LBT(x) ((x) - 28) // L0_set_LBT(28) /// L1_cw63xx_set(D_CW63X_REG_Safety,L0_set_LBT(28));/// 2.8v报警 /// fixme 依靠这个实现电源的测量 ///-------------------------------------------------------------------- #define D_CW63X_REG_Interrupt 0X03 #define D_CW63X_REG_Interrupt_type 0X04 #define D_CW63X_INT_CHG_OUT BITN7 ///Charging unplugged #define D_CW63X_INT_TIMER_EXPIRE BITN6 ///Charging timer expire #define D_CW63X_INT_CHG_INT BITN5 ///Charger detected #define D_CW63X_INT_BAT_FULL BITN4 ///Battery full #define D_CW63X_INT_BAT_OT BITN3 ///Battery over temperature #define D_CW63X_INT_BAT_UT BITN2 ///Battery under temperature #define D_CW63X_INT_LOW_BAT BITN1 ///Battery low voltage #define D_CW63X_INT_BUTTON BITN0 ///button detected ///-------------------------------------------------------------------- #define D_CW63X_REG_LDO1 0X0A #define D_CW63X_REG_LDO2 0X0B #define D_CW63X_REG_LDO3 0X0C #define D_CW63X_REG_LDO4 0X0D //// reg[]543] reg[210] //// 54 3 //// || |210 #define D_CW63XX_V800 B0000_0000 #define D_CW63XX_V975 B0000_0111 #define D_CW63XX_1V4 B0001_0100 #define D_CW63XX_1V8 B0001_1100 #define D_CW63XX_2V1 B0011_0001 #define D_CW63XX_2V5 B0011_0101 #define D_CW63XX_2V8 B0011_1000 #define D_CW63XX_3V B0011_1010 #define D_CW63XX_3V2 B0011_1100 #define D_CW63XX_ON B1000_0000 #define D_CW63XX_OFF B0000_0000 ////extern void L1_cw63xx_init(void); extern void L3_cw63xx_fun(U8 *pPara); extern void L1_cw63xx_sta(void); ///debug 使用U8 ////ine L3_cw63xx_fun(x); ///--------------------------------- #define D_power_VCC1 D_CW63X_REG_LDO1 #define D_power_VCC2 D_CW63X_REG_LDO2 #define D_power_VCC3 D_CW63X_REG_LDO3 #define D_power_VCC D_CW63X_REG_LDO4 /* #define D_power_rf_Rxd D_power_VCC2 /// rf接收模块 #define D_power_rf_Txd D_power_VCC1 /// rf 发送模块 #define D_power_AS D_power_VCC3 /// AS模块 #define L2_power_AS_OFF(); L2_I2C_WriteCmd(D_i2c_addr_cw63xx,D_power_AS,D_CW63XX_OFF|D_CW63XX_3V); #define L2_power_AS_ON(); L2_I2C_WriteCmd(D_i2c_addr_cw63xx,D_power_AS,D_CW63XX_ON|D_CW63XX_3V); #define L2_power_rf_Rxd_OFF(); L2_I2C_WriteCmd(D_i2c_addr_cw63xx,D_power_rf_Rxd,D_CW63XX_OFF|D_CW63XX_3V); #define L2_power_rf_Rxd_ON(); L2_I2C_WriteCmd(D_i2c_addr_cw63xx,D_power_rf_Rxd,D_CW63XX_ON|D_CW63XX_3V); //#define L2_power_rf_Txd_OFF(); //L2_I2C_WriteCmd(D_i2c_addr_cw63xx,D_power_rf_Txd,D_CW63XX_OFF|D_CW63XX_3V); //#define L2_power_rf_Txd_ON(); //L2_I2C_WriteCmd(D_i2c_addr_cw63xx,D_power_rf_Txd,D_CW63XX_ON|D_CW63XX_3V); /// fixme for the #define L2_power_rf_Txd_OFF(); //L2_I2C_WriteCmd(D_i2c_addr_cw63xx,D_power_rf_Rxd,D_CW63XX_OFF|D_CW63XX_3V); #define L2_power_rf_Txd_ON(); //L2_I2C_WriteCmd(D_i2c_addr_cw63xx,D_power_rf_Rxd,D_CW63XX_ON|D_CW63XX_3V); */ #define L1_cw63xx_init() L2_I2C_WriteCmd(D_i2c_addr_cw63xx,D_CW63X_REG_Charge,0x3F);\ L2_I2C_WriteCmd(D_i2c_addr_cw63xx,D_CW63X_REG_Safety,0x05);///n3.3v baongjin #endif // #ifndef _cw63xx_H