| New file |
| | |
| | | #ifndef _POWER_MANAGE_H_ |
| | | #define _POWER_MANAGE_H_ |
| | | |
| | | #include "define_all.h" |
| | | #include "administrator.h" |
| | | |
| | | // µçÁ¿²ÎÊý±ê־λÉèÖà |
| | | #define __VCC_PARA_FLAG_SET_(__HANDLE__) ((&pwr_vol_g)->__HANDLE__ = SET) |
| | | // µçÁ¿²ÎÊý±ê־λÇå³ý |
| | | #define __VCC_PARA_FLAG_CLEAR_(__HANDLE__) ((&pwr_vol_g)->__HANDLE__ = RESET) |
| | | |
| | | // ﮵çµôµç |
| | | #define LITHIUM_PWR_DOWN_PORT GPIOF |
| | | #define LITHIUM_PWR_DOWN_PIN GPIO_Pin_11 |
| | | // ﮵çǷѹ |
| | | #define LIT_PWR_UNDER_PORT GPIOF |
| | | #define LIT_PWR_UNDER_PIN GPIO_Pin_6 |
| | | |
| | | // ﮵ç¼ì²â¿ª¹Ø |
| | | #define LITHIUM_DETECTION_PORT GPIOD |
| | | #define LITHIUM_DETECTION_PIN GPIO_Pin_2 |
| | | |
| | | #define LIT_DEC_ON GPIO_SetBits(LITHIUM_DETECTION_PORT, LITHIUM_DETECTION_PIN) |
| | | #define LIT_DEC_OFF GPIO_ResetBits(LITHIUM_DETECTION_PORT, LITHIUM_DETECTION_PIN) |
| | | |
| | | // ¼îµçµôµç |
| | | #define ALKALI_PWR_DOWN_PORT GPIOA |
| | | #define ALKALI_PWR_DOWN_PIN GPIO_Pin_4 |
| | | |
| | | // ¼îµç¼ì²â¿ª¹Ø |
| | | #define ALKALI_DETECTION_PORT GPIOB |
| | | #define LITH_TEST_ENALKALI_DETECTION_PIN GPIO_Pin_2 |
| | | |
| | | #define ALK_DEC_ON GPIO_SetBits(ALKALI_DETECTION_PORT, ALKALI_DETECTION_PIN) |
| | | #define ALK_DEC_OFF GPIO_ResetBits(ALKALI_DETECTION_PORT, ALKALI_DETECTION_PIN) |
| | | |
| | | #define Ad_LITH_PF6_BAT_CH 5 |
| | | #define Ad_LITH_PF6_BAT_CNT 8 |
| | | #define LITH_PF6_VOL_COE 1.206f |
| | | |
| | | #define Ad_LITH_BAT_REF_VOL 5.0f |
| | | #define Ad_LITH_BAT_CH 5 |
| | | #define Ad_LITH_BAT_CNT 8 |
| | | #define LITH_VOL_COE 3.20 // 2.01f |
| | | |
| | | #define Ad_ALKA_BAT_REF_VOL 5.0f |
| | | #define Ad_ALKA_BAT_CH 10 |
| | | #define Ad_ALKA_BAT_CNT 8 |
| | | #define ALKA_VOL_COE 2.70 // 3.14f |
| | | |
| | | #define AD_VTEM_CH ADC_CFGR_BUFSEL_TS |
| | | #define AD_VTEM_CNT 8 |
| | | |
| | | typedef enum |
| | | { |
| | | LMS_NONE, |
| | | LMS_PERIOD, |
| | | LMS_KEY, |
| | | LMS_OPEN_VALVE_BEFORE, |
| | | } LITH_MEASURE_STATUS; |
| | | typedef enum |
| | | { |
| | | AMS_NONE, |
| | | AMS_PERIOD, |
| | | AMS_KEY, |
| | | AMS_GPRS_BEFORE, |
| | | } ALKA_MEASURE_STATUS; |
| | | |
| | | #pragma pack(1) |
| | | // ÈáÐÔÊý×é |
| | | // Óŵ㣺ʹÓöѿռ䣬µØÖ·Á¬Ðø¼õÉÙË鯬Äڴ棨Ïà¶ÔÖ¸ÕëÊý¾Ý£© |
| | | // ȱµã£ºÃ¿´ÎʹÓÃÍêÐèÒªÊÖ¶¯ÊÍ·Å |
| | | typedef struct ad_data_get |
| | | { |
| | | u8 ad_ch; |
| | | u16 ad_buffer_cnt; |
| | | uint32_t ad_get_buffer[]; |
| | | } ad_data_s; |
| | | |
| | | typedef struct pwr_vol |
| | | { |
| | | LITH_MEASURE_STATUS lith_flag; // µçÁ¿²âÁ¿±ê־λ |
| | | ALKA_MEASURE_STATUS alka_flag; |
| | | FlagStatus mcu_temp_flag; // mcuζȱê־λ |
| | | float lith_vcc; |
| | | float alka_vcc; |
| | | float mcu_temperature; |
| | | int8_t lith_vcc_per; |
| | | } PWR_VOL_T; |
| | | |
| | | #pragma pack() |
| | | |
| | | extern uint8_t sys_bst_flag; |
| | | |
| | | extern uint8_t first_power_get_cnt_g; |
| | | |
| | | extern PWR_VOL_T pwr_vol_g; |
| | | |
| | | void Power_IO_Init(void); |
| | | |
| | | float Get_Alka_Bat_Voltage(void); |
| | | float Get_Lith_Bat_Voltage(void); |
| | | |
| | | void Get_Double_Bat_Voltage(PWR_VOL_T *pwr_vol_p); |
| | | |
| | | uint32_t Get_vol_average(ad_data_s *data_p); |
| | | float Get_Mcu_Temp(void); |
| | | #endif |