#ifndef _powermanage_H
|
#define _powermanage_H
|
#include "sys.h"
|
|
|
#define BAT_TIME_SCALE4 (3*365*24)
|
|
#define BAT_PERSENT_LCD_4 70
|
#define BAT_PERSENT_LCD_3 40
|
#define BAT_PERSENT_LCD_2 20
|
#define BAT_PERSENT_LCD_1 0
|
|
|
//ÍâµçÅжÏIO
|
#define POWER_SELECT_DEC_PIN_NUM GPIO_Pin_2
|
#define POWER_SELECT_DEC_PIN_GROUP GPIOC
|
|
|
//µôµçÅжÏIO £¬PC6µÍµçƽ±íʾµç³ØµçѹµÍÓÚ5V
|
#define POWER_LOW_PIN_NUM GPIO_Pin_6
|
#define POWER_LOW_PIN_GROUP GPIOC
|
#define POWER_LOW_PIN_READ PCin(6)
|
|
|
|
//µç³Ø¼ì²âʹÄÜIO
|
#define POWER_ELECTRIC_TEST_PIN_NUM GPIO_Pin_0
|
#define POWER_ELECTRIC_TEST_PIN_GROUP GPIOC
|
|
#define POWER_ELECTRIC_TEST_HIGH PCout(0) = 1
|
#define POWER_ELECTRIC_TEST_LOW PCout(0) = 0
|
|
//µÍѹÐźÅ
|
#define UNDERVOL_PIN_NUM GPIO_Pin_9
|
#define UNDERVOL_PIN_GROUP GPIOE
|
//ǷѹÐźÅ
|
#define LOWVOL_PIN_NUM GPIO_Pin_10
|
#define LOWVOL_PIN_GROUP GPIOE
|
|
#define HIGH 0
|
#define LOW 1
|
|
//ÔÚб·´ÉäÁìÓòÉÏÓ²¼þÐźŷ¢ÉúÁ˱ä¸ü
|
#define POWER_EXTERN 0
|
#define POWER_BAT 1
|
|
|
#define UNDERVOL_SIGNL_HIGH PEout(9) = 1;
|
#define UNDERVOL_SIGNL_LOW PEout(9) = 0;
|
|
#define LOWVOL_SIGNL_HIGH PEout(10) = 1;
|
#define LOWVOL_SIGNL_LOW PEout(10) = 0;
|
|
|
typedef struct bat_test_para
|
{
|
u8 BAT_Period_arrival;
|
u8 BAT_Test_Key_Flag;
|
u8 BAT_Test_Run_Flag;
|
u8 BAT_Test_Time_Cnt; //¼ÆÊ±Ó㬼ì²âµçÔ´ÒªÏÈ´ò¿ª¼ì²â¹Ü½Å£¬ÔÙÑÓʱ²É¼¯µçѹ
|
|
u8 BAT_Low_Time_Cnt; //¼ÆÊ±Ó㬵ôµçµÄʱºòÑÓʱÔÙ¼ì²â1µ½¶à´Î
|
|
u8 lith_bat_Vol_low_flag;
|
u8 lith_bat_Time_low_flag;
|
|
u8 lith_bat_Vol_down_flag;
|
u8 lith_bat_Time_down_flag;
|
|
u8 lith_bat_low_flag;
|
u8 lith_bat_down_flag;
|
|
u8 lith_bat_replace_flag;//³ÖÐø°´¼ü9Ãë¸ü»»µç³Ø±êÖ¾
|
|
u8 BAT_Test_power_INIT_Flag; //¼ì²âµ½µôµçÖжϱêÖ¾
|
u8 Lith_low_pin_status_Flag; //﮵ç¶Ïµç¼ì²â½ÅPC6״̬£¬ 1´ú±í¸ßµçƽ£¬2´ú±íµÍµçƽ
|
u8 Lith_removal_status_Flag; //﮵çÒÆ³ý״̬£¬1´ú±í﮵çÒÆ³ý£¬0´ú±í﮵çûÓÐÒÆ³ý¡£
|
|
u8 lith_bat_low_alarm_line_output; //µÍµç±¨¾¯ÏßÊä³ö¿ØÖÆ
|
u8 lith_bat_down_alarm_line_output;//µôµç±¨¾¯ÏßÊä³ö¿ØÖÆ
|
u16 lith_bat_low_alarm_line_cnt;//µÍµç±¨¾¯Ïß¼ÆÊ±£¬Ã¿Ð¡Ê±Êä³öÒ»´Î
|
u16 lith_bat_down_alarm_line_cnt;//µÍµç±¨¾¯Ïß¼ÆÊ±£¬Ã¿Ð¡Ê±Êä³öÒ»´Î
|
|
|
}BAT_TEST_PARA;
|
|
extern BAT_TEST_PARA Bat_Test_Para;
|
|
|
void Bat_Test_EN_io_dec_init(void);
|
void Bat_Test_EN_io_dec_deinit(void);
|
void HWIDO_EXPOW_io_dec_init(void);
|
void HWIDO_EXPOW_io_dec_deinit(void);
|
void Bat_Test_io_dec_init(void);
|
void Bat_Test_io_dec_deinit(void);
|
void Bat_Low_io_dec_init(void);
|
void Bat_Low_io_dec_deinit(void);
|
|
|
/*¶ÁÈ¡µçÔ´io ״̬*/
|
u8 power_io_get(void);
|
|
|
|
void get_bat_voltage_Pro(void);
|
/*Êä³öÂö³å*/
|
void lowvol_io_power(void);
|
void lowvol_io_power_low(void);
|
void lowvol_io_power_high(void);
|
/*Êä³öÂö³å*/
|
void undervol_io_power(void);
|
void undervol_io_power_low(void);
|
void undervol_io_power_high(void);
|
|
void undervol_io_power_init(void);
|
|
|
|
|
void Bat_percent_change(void);
|
#endif
|