From b3b210bb53b8d5bf8f898f49748fbe3b117f3cc7 Mon Sep 17 00:00:00 2001 From: YunHorn Technology Date: Mon, 15 Apr 2024 13:33:02 +0800 Subject: [PATCH] revise door open close logic --- Core/Inc/sts_lamp_bar.h | 3 ++- Core/Src/gpio.c | 3 ++- Core/Src/sts_lamp_bar.c | 7 +++++-- LoRaWAN/App/lora_app.c | 2 +- STM32CubeIDE/Release/STS_O7.bin | Bin 253488 -> 253488 bytes 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Core/Inc/sts_lamp_bar.h b/Core/Inc/sts_lamp_bar.h index cc1c587..f368f60 100644 --- a/Core/Inc/sts_lamp_bar.h +++ b/Core/Inc/sts_lamp_bar.h @@ -62,7 +62,8 @@ enum sts_oo_work_mode { STS_OTHER_MODE // ? OTHER MODE }; #ifdef STS_O7 -#define STS_Reed_Hall_State HAL_GPIO_ReadPin(HALL1_GPIO_Port, HALL1_Pin) +#define STS_Reed_Hall_State HALL1_STATE +#define STS_Emergency_Button_State HALL2_STATE #else #define STS_Reed_Hall_State HAL_GPIO_ReadPin(BUT1_GPIO_Port, BUT1_Pin) #endif diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c index 8f20b20..679c1cb 100644 --- a/Core/Src/gpio.c +++ b/Core/Src/gpio.c @@ -83,7 +83,8 @@ void MX_GPIO_Init(void) #ifdef STS_O7 GPIO_InitStruct.Pin = HALL1_Pin|HALL2_Pin; GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING; - GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); #else /*Configure GPIO pins : PAPin PAPin */ diff --git a/Core/Src/sts_lamp_bar.c b/Core/Src/sts_lamp_bar.c index a87107a..5ef68ef 100644 --- a/Core/Src/sts_lamp_bar.c +++ b/Core/Src/sts_lamp_bar.c @@ -61,7 +61,7 @@ volatile uint8_t sts_lamp_bar_color = STS_GREEN; //puColor volatile uint8_t sts_cloud_netcolor = STS_GREEN; //netColor volatile uint8_t sts_occupancy_status; volatile uint8_t sts_reed_hall_changed_flag = 1; -volatile uint8_t sts_reed_hall_result =0; +volatile uint8_t sts_reed_hall_result =1, sts_emergency_button_pushed=1; // inital 1 = open volatile uint8_t sts_hall1_read=0,sts_hall2_read=0; volatile uint8_t sts_tof_result_changed_flag = 0; volatile uint8_t sts_water_leakage_result=0; @@ -139,7 +139,7 @@ void STS_YunhornSTSEventP2_Process(void) void STS_Reed_Hall_Presence_Detection(void) { // HAL_Delay(50); // BOUNCING ELIMIATION - +#if 0 if (STS_Reed_Hall_State == STS_Status_Door_Open) { sts_reed_hall_result = STS_Status_Door_Open; @@ -149,6 +149,9 @@ void STS_Reed_Hall_Presence_Detection(void) sts_reed_hall_result = STS_Status_Door_Close; } +#endif + sts_reed_hall_result = (STS_Reed_Hall_State==STS_Status_Door_Open)? 1:0; + sts_emergency_button_pushed = (STS_Emergency_Button_State==STS_Status_Door_Open)? 1:0; //sts_reed_hall_result = ((STS_Reed_Hall_State)&STS_Status_Door_Open); diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index 4304ab2..014162c 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -880,7 +880,7 @@ static uint8_t PrepareSendTxData(void) AppData.Buffer[i++] = (uint8_t)(0xFF & sts_o7_sensorData.state_sensor2_on_off); //04 Sensor head #2 status AppData.Buffer[i++] = (uint8_t)(0xFF & sts_o7_sensorData.state_sensor3_on_off); //05 Sensor head #3 status AppData.Buffer[i++] = (uint8_t)(0xFF & sts_o7_sensorData.state_sensor4_on_off); //06 Sensor head #4 status - if (o7_data.state_sensor2_on_off !=0) + //if (o7_data.state_sensor2_on_off != 0) { AppData.Buffer[i++] = (uint8_t)(0xFF & sts_o7_sensorData.rss_presence_distance>>8); //07 MSB distance AppData.Buffer[i++] = (uint8_t)(0xFF & sts_o7_sensorData.rss_presence_distance); //08 LSB distance diff --git a/STM32CubeIDE/Release/STS_O7.bin b/STM32CubeIDE/Release/STS_O7.bin index ed547fb09c4aa71300bf307c40fb0bbf84975e1e..70d4951adbe74be453d74dcf8ba12b45d0b8d941 100644 GIT binary patch delta 24007 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

e8I)Nq+ll@z2+ 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 P`~dP%#@DYaPAdK%xjBzt delta 24358 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