连上会更新下状态数据

This commit is contained in:
stark1898y 2025-04-24 13:36:09 +08:00
parent c102d12976
commit addb23e491
5 changed files with 41 additions and 12 deletions

View File

@ -381,7 +381,7 @@ uint16_t Peripheral_ProcessEvent(uint8_t task_id, uint16_t events)
else else
{ {
// 需要等先回复了下发的指令1s 之后再尝试回复状态数据 // 需要等先回复了下发的指令1s 之后再尝试回复状态数据
tmos_start_task(Peripheral_TaskID, SBP_PERIODIC_EVT, 1600 * 1); tmos_start_task(Peripheral_TaskID, SBP_PERIODIC_EVT, MS1_TO_SYSTEM_TIME(1000));
} }
return (events ^ SBP_PERIODIC_EVT); return (events ^ SBP_PERIODIC_EVT);
} }
@ -480,6 +480,10 @@ static void Peripheral_ProcessTMOSMsg(tmos_event_hdr_t *pMsg)
peripheralMTU = pMsgEvent->msg.exchangeMTUReq.clientRxMTU; peripheralMTU = pMsgEvent->msg.exchangeMTUReq.clientRxMTU;
mtu_flag = 1; mtu_flag = 1;
logDebug("****mtu exchange: %d****", pMsgEvent->msg.exchangeMTUReq.clientRxMTU); logDebug("****mtu exchange: %d****", pMsgEvent->msg.exchangeMTUReq.clientRxMTU);
// TODO连上之后先给个状态回应
// tmos_set_event(vavle_task_id, VAVLE_UPDATE_EVT);
performPeriodicTask();
tmos_set_event(led_task_id, CONNECT_BEEP_START_EVT);
} }
break; break;
} }
@ -667,7 +671,6 @@ static void peripheralStateNotificationCB(gapRole_States_t newState, gapRoleEven
// // ShowLed(); // // ShowLed();
// BEEP_ON; // BEEP_ON;
// DelayMs(500); // DelayMs(500);
tmos_set_event(led_task_id, CONNECT_BEEP_START_EVT);
} }
break; break;

View File

@ -16,7 +16,7 @@
#define KEY_IDLE_TIMEOUT_EVT (0x0001 << 3) #define KEY_IDLE_TIMEOUT_EVT (0x0001 << 3)
// KEY_B_PIN at PB0, low->active // KEY_B_PIN at PB0, low->active
#define KEY_B_PIN GPIO_Pin_0 #define KEY_B_PIN GPIO_Pin_15
// #define KEY_B_PIN GPIO_Pin_0 // #define KEY_B_PIN GPIO_Pin_0
#define IS_KEY_Vaild() ((GPIOB_ReadPortPin(KEY_B_PIN) ? 0 : 1)) #define IS_KEY_Vaild() ((GPIOB_ReadPortPin(KEY_B_PIN) ? 0 : 1))

View File

@ -2,7 +2,7 @@
* @Author : stark1898y 1658608470@qq.com * @Author : stark1898y 1658608470@qq.com
* @Date : 2024-12-12 15:55:38 * @Date : 2024-12-12 15:55:38
* @LastEditors : stark1898y 1658608470@qq.com * @LastEditors : stark1898y 1658608470@qq.com
* @LastEditTime : 2025-04-14 00:18:32 * @LastEditTime : 2025-04-22 16:12:07
* @FilePath : \BLE_TYQ_CH584M\BSP\inc\bsp_valve.h * @FilePath : \BLE_TYQ_CH584M\BSP\inc\bsp_valve.h
* @Description : * @Description :
* *
@ -32,6 +32,10 @@ extern tmosTaskID vavle_task_id;
#define VAVLE_DECT_SWITCH_CALIB_EVT (0x0001 << 9) // 标定电磁铁 #define VAVLE_DECT_SWITCH_CALIB_EVT (0x0001 << 9) // 标定电磁铁
#define VAVLE_UPDATE_EVT (0x0001 << 10) // 上传更行阀门状态
#define VALVE_LOW_VBAT_ALARM_PERIOD_MS (1600 * 60 * 10) #define VALVE_LOW_VBAT_ALARM_PERIOD_MS (1600 * 60 * 10)
#define VALVE_DECT_PERIOD_MS (1600 * 60 * 10) #define VALVE_DECT_PERIOD_MS (1600 * 60 * 10)

View File

@ -257,14 +257,14 @@ void BSP_KEY_Init(app_task_evt_handler_t handler)
// GPIOA_ModeCfg(GPIO_Pin_2, GPIO_ModeIN_PU); // GPIOA_ModeCfg(GPIO_Pin_2, GPIO_ModeIN_PU);
// GPIOB_ModeCfg(GPIO_Pin_16, GPIO_ModeIN_Floating); // GPIOB_ModeCfg(GPIO_Pin_16, GPIO_ModeIN_Floating);
GPIOB_ModeCfg(GPIO_Pin_16, GPIO_ModeIN_PU); GPIOB_ModeCfg(KEY_B_PIN, GPIO_ModeIN_PU);
GPIOB_ModeCfg(GPIO_Pin_0, GPIO_ModeIN_PU); // GPIOB_ModeCfg(GPIO_Pin_0, GPIO_ModeIN_PU);
// GPIOB_ModeCfg(GPIO_Pin_1, GPIO_ModeIN_Floating); // GPIOB_ModeCfg(GPIO_Pin_1, GPIO_ModeIN_Floating);
#if 1 #if 1
// 下降沿触发 // 下降沿触发
GPIOB_ITModeCfg(GPIO_Pin_0, GPIO_ITMode_FallEdge); GPIOB_ITModeCfg(KEY_B_PIN, GPIO_ITMode_FallEdge);
// GPIOB_ITModeCfg(GPIO_Pin_1, GPIO_ITMode_FallEdge); // GPIOB_ITModeCfg(GPIO_Pin_1, GPIO_ITMode_FallEdge);
// 开启GPIOB中断 // 开启GPIOB中断
@ -314,12 +314,11 @@ void GPIOB_IRQHandler(void)
// PRINT("KEY IRQ\n"); // PRINT("KEY IRQ\n");
// GPIOB_ClearITFlagBit(KEY_B_PIN); key_wakeup_flag = 1;
// GPIO唤醒会进中断要清除GPIO中断
GPIOB_ClearITFlagBit(KEY_B_PIN); GPIOB_ClearITFlagBit(KEY_B_PIN);
// GPIOB_ClearITFlagBit(GPIO_Pin_1);
// tmos_set_event(key_task_id, KEY_SCAN_EVT); // tmos_set_event(key_task_id, KEY_SCAN_EVT);
// logDebug("KEY_ProcessLoop"); // logDebug("KEY_ProcessLoop");
key_wakeup_flag = 1;
} }

View File

@ -2,7 +2,7 @@
* @Author : stark1898y 1658608470@qq.com * @Author : stark1898y 1658608470@qq.com
* @Date : 2024-12-15 15:01:15 * @Date : 2024-12-15 15:01:15
* @LastEditors : stark1898y 1658608470@qq.com * @LastEditors : stark1898y 1658608470@qq.com
* @LastEditTime : 2025-04-14 00:16:50 * @LastEditTime : 2025-04-22 16:15:33
* @FilePath : \BLE_TYQ_CH584M\BSP\src\bsp_valve.c * @FilePath : \BLE_TYQ_CH584M\BSP\src\bsp_valve.c
* @Description : * @Description :
* *
@ -617,6 +617,29 @@ static uint16_t VAVLE_Task_ProcessEvent(uint8_t task_id, uint16_t events)
return (events ^ VAVLE_LOOP_DECT_EVT); return (events ^ VAVLE_LOOP_DECT_EVT);
} }
// 连上主机后主动上传下阀门状态
if (events & VAVLE_UPDATE_EVT)
{
// BEEP_OFF_DEINIT;
// EMV_CHARGE_OFF_DEINIT;
// EMV_OFF_DEINIT;
// LED_ALL_OFF_DEINIT;
// BSP_NoNeedBoost();
gValveData.switch_status = kClosed;
tmos_memset(&RelyData, 0, sizeof(RelyData));
BSP_VALVE_Generate_ValveResponse(&RelyData, kCmdCloseVavle, 1);
tmos_set_event(Peripheral_TaskID, SBP_REPLY_CMD_EVT);
logDebug("VAVLE_UPDATE_EVT");
return (events ^ VAVLE_UPDATE_EVT);
}
// Discard unknown events // Discard unknown events
return 0; return 0;