You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
4.3 KiB
124 lines
4.3 KiB
1 year ago
|
////////////////////////////////////////////////////////////////////////////
|
||
|
///@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 ��������ʵ�ֵ�Դ�IJ���
|
||
|
///--------------------------------------------------------------------
|
||
|
#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
|
||
|
|