2.2V低压关阀,VAVLE_LOOP_DECT_EVT和performPeriodicTask错开?升压时候别测
This commit is contained in:
parent
82b0fd0a4f
commit
1f6020a3a9
|
@ -729,38 +729,10 @@ static void peripheralStateNotificationCB(gapRole_States_t newState, gapRoleEven
|
|||
* @return none
|
||||
*/
|
||||
static void performPeriodicTask(void)
|
||||
{
|
||||
if (boost_en_flag == 0 && GPIOA_ReadITFlagBit(BOOST_APIN) == 0)
|
||||
{
|
||||
gValveData.bat = BSP_ReadVbat();
|
||||
|
||||
#if 0
|
||||
BSP_BlockSleep();
|
||||
BSP_RequestBoost();
|
||||
// DelayMs(1);
|
||||
ShowLed();
|
||||
|
||||
DelayMs(2);
|
||||
LED_ALL_OFF_DEINIT;
|
||||
// BEEP_OFF_DEINIT;
|
||||
|
||||
BSP_NoNeedBoost();
|
||||
BSP_RequestSleep();
|
||||
#endif
|
||||
// // 如果电压低就都不亮灯、蜂鸣器
|
||||
// if (bat_mv <= LOW_VABAT_CLOSE_MV)
|
||||
// {
|
||||
// logDebug("低压关阀");
|
||||
// tmos_set_event(vavle_task_id, VAVLE_CLOSE_START_EVT);
|
||||
// }
|
||||
// if (gValveData.bat <= LOW_VABAT_CLOSE_VALUE)
|
||||
// {
|
||||
// gValveData.switch_status = kClosed;
|
||||
// tmos_set_event(vavle_task_id, VAVLE_CLOSE_START_EVT);
|
||||
// }
|
||||
// else if (gValveData.bat <= LOW_VABAT_ALARM_VALUE)
|
||||
// {
|
||||
// tmos_set_event(vavle_task_id, VAVLE_LOW_VBAT_ALARM_EVT);
|
||||
// }
|
||||
|
||||
// TODO:温湿度传感器读错的话就不发了?
|
||||
float _humi, _temp;
|
||||
if (BSP_ReadTempHumi(&_humi, &_temp) == 0)
|
||||
|
@ -791,6 +763,11 @@ static void performPeriodicTask(void)
|
|||
|
||||
tmos_set_event(led_task_id, LED_SHOW_START_EVT);
|
||||
}
|
||||
else if(GPIOA_ReadITFlagBit(BOOST_APIN) == 1)
|
||||
{
|
||||
tmos_start_task(Peripheral_TaskID, SBP_PERIODIC_EVT, MS1_TO_SYSTEM_TIME(1000));
|
||||
}
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* @fn peripheralChar4Notify
|
||||
|
|
|
@ -30,18 +30,19 @@ extern tmosTaskID led_task_id;
|
|||
|
||||
|
||||
/**********************BOOST 12V_EN PA1************************ */
|
||||
#define BOOST_APIN GPIO_Pin_1
|
||||
#define BOOST_EN \
|
||||
do \
|
||||
{ \
|
||||
GPIOA_SetBits(GPIO_Pin_1); \
|
||||
GPIOA_ModeCfg(GPIO_Pin_1, GPIO_ModeOut_PP_5mA); \
|
||||
GPIOA_SetBits(BOOST_APIN); \
|
||||
GPIOA_ModeCfg(BOOST_APIN, GPIO_ModeOut_PP_5mA); \
|
||||
} while (0);
|
||||
|
||||
#define BOOST_OFF_DEINIT \
|
||||
do \
|
||||
{ \
|
||||
GPIOA_ResetBits(GPIO_Pin_1); \
|
||||
GPIOA_ModeCfg(GPIO_Pin_1, GPIO_ModeIN_PD); \
|
||||
GPIOA_ResetBits(BOOST_APIN); \
|
||||
GPIOA_ModeCfg(BOOST_APIN, GPIO_ModeIN_PD); \
|
||||
} while (0);
|
||||
|
||||
/***********************BEEP PA0************************ */
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author : stark1898y 1658608470@qq.com
|
||||
* @Date : 2024-12-12 15:55:38
|
||||
* @LastEditors : stark1898y 1658608470@qq.com
|
||||
* @LastEditTime : 2025-05-30 13:51:02
|
||||
* @LastEditTime : 2025-05-30 16:33:29
|
||||
* @FilePath : \BLE_TYQ_CH584M\BSP\inc\bsp_valve.h
|
||||
* @Description :
|
||||
*
|
||||
|
@ -15,6 +15,8 @@
|
|||
|
||||
extern tmosTaskID vavle_task_id;
|
||||
|
||||
extern volatile uint8_t boost_en_flag;
|
||||
|
||||
|
||||
#define VAVLE_RX_DATA_EVT (0x0001 << 0)
|
||||
#define VAVLE_TX_DATA_EVT (0x0001 << 1)
|
||||
|
@ -38,7 +40,7 @@ extern tmosTaskID vavle_task_id;
|
|||
|
||||
// #define VALVE_LOW_VBAT_ALARM_PERIOD_MS (1000 * 60 * 10)
|
||||
|
||||
#define VALVE_DECT_PERIOD_MS (1000 * 60 * 10)
|
||||
#define VALVE_DECT_PERIOD_MS (1000 * 60 * 3)
|
||||
|
||||
|
||||
#define CHARGE_TIME_MS (2000)
|
||||
|
@ -48,7 +50,7 @@ extern tmosTaskID vavle_task_id;
|
|||
|
||||
// #define LOW_VABAT_CLOSE_VALUE 2000
|
||||
|
||||
#define LOW_VABAT_CLOSE_MV 2150
|
||||
#define LOW_VABAT_CLOSE_MV 2200
|
||||
|
||||
|
||||
#define HIGN_TEMP_CLOSE_C 60
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author : stark1898y 1658608470@qq.com
|
||||
* @Date : 2024-12-15 15:01:15
|
||||
* @LastEditors : stark1898y 1658608470@qq.com
|
||||
* @LastEditTime : 2025-05-29 18:42:42
|
||||
* @LastEditTime : 2025-05-30 16:30:38
|
||||
* @FilePath : \BLE_TYQ_CH584M\BSP\src\bsp_valve.c
|
||||
* @Description :
|
||||
*
|
||||
|
@ -31,6 +31,8 @@
|
|||
#undef LOG_TAG
|
||||
#define LOG_TAG "BSP_VALVE"
|
||||
|
||||
volatile uint8_t boost_en_flag;
|
||||
|
||||
TsValveData gValveData = {0};
|
||||
uint16_t bat_mv;
|
||||
|
||||
|
@ -393,10 +395,11 @@ static uint16_t VAVLE_Task_ProcessEvent(uint8_t task_id, uint16_t events)
|
|||
if (events & VAVLE_CLOSE_START_EVT)
|
||||
{
|
||||
logDebug("VAVLE_CLOSE_START_EVT");
|
||||
DelayMs(1);
|
||||
// DelayMs(1);
|
||||
BSP_BlockSleep();
|
||||
BSP_RequestBoost();
|
||||
DelayMs(10);
|
||||
boost_en_flag = 1;
|
||||
// DelayMs(10);
|
||||
|
||||
EMV_CHARGE_EN;
|
||||
|
||||
|
@ -468,6 +471,7 @@ static uint16_t VAVLE_Task_ProcessEvent(uint8_t task_id, uint16_t events)
|
|||
tmos_set_event(Peripheral_TaskID, SBP_REPLY_CMD_EVT);
|
||||
|
||||
logDebug("VAVLE_CLOSE_END_EVT");
|
||||
boost_en_flag = 0;
|
||||
return (events ^ VAVLE_CLOSE_END_EVT);
|
||||
}
|
||||
// 开始测量电磁铁电感
|
||||
|
@ -533,7 +537,8 @@ static uint16_t VAVLE_Task_ProcessEvent(uint8_t task_id, uint16_t events)
|
|||
if (events & VAVLE_LOOP_DECT_EVT)
|
||||
{
|
||||
logDebug("VAVLE_LOOP_DECT_EVT");
|
||||
|
||||
if (GPIOA_ReadITFlagBit(BOOST_APIN) == 0)
|
||||
{
|
||||
// TODO:亮灯或者蜂鸣器的时候读电压就低了
|
||||
gValveData.bat = BSP_ReadVbat();
|
||||
|
||||
|
@ -542,7 +547,8 @@ static uint16_t VAVLE_Task_ProcessEvent(uint8_t task_id, uint16_t events)
|
|||
if (bat_mv <= LOW_VABAT_CLOSE_MV)
|
||||
{
|
||||
gValveData.switch_status = kClosed;
|
||||
tmos_set_event(vavle_task_id, VAVLE_CLOSE_START_EVT);
|
||||
logDebug("低压关阀");
|
||||
tmos_start_task(vavle_task_id, VAVLE_CLOSE_START_EVT, MS1_TO_SYSTEM_TIME(1100));
|
||||
}
|
||||
// else if (gValveData.bat <= LOW_VABAT_ALARM_VALUE)
|
||||
// {
|
||||
|
@ -556,7 +562,7 @@ static uint16_t VAVLE_Task_ProcessEvent(uint8_t task_id, uint16_t events)
|
|||
if (gValveData.temp >= HIGN_TEMP_CLOSE_C)
|
||||
{
|
||||
logDebug("高温关阀");
|
||||
tmos_set_event(vavle_task_id, VAVLE_CLOSE_START_EVT);
|
||||
tmos_start_task(vavle_task_id, VAVLE_CLOSE_START_EVT, MS1_TO_SYSTEM_TIME(1000));
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -564,6 +570,12 @@ static uint16_t VAVLE_Task_ProcessEvent(uint8_t task_id, uint16_t events)
|
|||
logError("Read TempHumi Err");
|
||||
}
|
||||
tmos_start_task(vavle_task_id, VAVLE_LOOP_DECT_EVT, MS1_TO_SYSTEM_TIME(VALVE_DECT_PERIOD_MS));
|
||||
}
|
||||
else
|
||||
{
|
||||
// 延后5s再测
|
||||
tmos_start_task(vavle_task_id, VAVLE_LOOP_DECT_EVT, MS1_TO_SYSTEM_TIME(5000));
|
||||
}
|
||||
|
||||
return (events ^ VAVLE_LOOP_DECT_EVT);
|
||||
}
|
||||
|
@ -660,7 +672,7 @@ void BSP_VAVLE_Init(void)
|
|||
gValveData.type = kTyq;
|
||||
gValveData.bat = BSP_ReadVbat();
|
||||
|
||||
tmos_start_task(vavle_task_id, VAVLE_LOOP_DECT_EVT, MS1_TO_SYSTEM_TIME(1000));
|
||||
tmos_start_task(vavle_task_id, VAVLE_LOOP_DECT_EVT, MS1_TO_SYSTEM_TIME(VALVE_DECT_PERIOD_MS));
|
||||
|
||||
// GPIOA_ResetBits(GPIO_Pin_2);
|
||||
// GPIOA_ModeCfg(GPIO_Pin_2, GPIO_ModeIN_PU);
|
||||
|
|
Loading…
Reference in New Issue