From 72def895431ad7a08e635b11f3da738e2b2c4618 Mon Sep 17 00:00:00 2001
From: wujiazhi <1147861305@qq.com>
Date: Thu, 13 Jun 2024 11:31:04 +0800
Subject: [PATCH] add lower model test

---
 Function/POWER_MANAGE/power_manage.h |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 108 insertions(+), 0 deletions(-)

diff --git a/Function/POWER_MANAGE/power_manage.h b/Function/POWER_MANAGE/power_manage.h
new file mode 100644
index 0000000..24a681c
--- /dev/null
+++ b/Function/POWER_MANAGE/power_manage.h
@@ -0,0 +1,108 @@
+#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

--
Gitblit v1.9.3