diff --git a/Core/Inc/main.h b/Core/Inc/main.h index fe7e2dc..fe11198 100644 --- a/Core/Inc/main.h +++ b/Core/Inc/main.h @@ -73,6 +73,15 @@ void Error_Handler(void); #define PROB1_GPIO_Port GPIOB //#endif +#define MEMS_POWER_Pin GPIO_PIN_4 // PMU_ENABLE +#define MEMS_POWER_GPIO_Port GPIOB // PMU_ENABLE + +#define MEMS_RESET_Pin GPIO_PIN_4 +#define MEMS_RESET_GPIO_Port GPIOB + +#define PME_ON HAL_GPIO_WritePin(MEMS_RESET_GPIO_Port, MEMS_POWER_Pin, GPIO_PIN_SET ) +#define PME_OFF HAL_GPIO_WritePin(MEMS_RESET_GPIO_Port, MEMS_POWER_Pin, GPIO_PIN_RESET ) + #ifdef STS_O7 #define HALL1_Pin GPIO_PIN_0 // DOOR CONTACT @@ -83,6 +92,9 @@ void Error_Handler(void); #define HALL2_GPIO_Port GPIOA #define HALL2_EXTI_IRQn EXTI1_IRQn +#define HALL1_STATE HAL_GPIO_ReadPin(HALL1_GPIO_Port, HALL1_Pin) +#define HALL2_STATE HAL_GPIO_ReadPin(HALL2_GPIO_Port, HALL2_Pin) + #else #define BUT1_Pin GPIO_PIN_0 diff --git a/Core/Inc/yunhorn_sts_prd_conf.h b/Core/Inc/yunhorn_sts_prd_conf.h index a9d2ee7..f46de42 100644 --- a/Core/Inc/yunhorn_sts_prd_conf.h +++ b/Core/Inc/yunhorn_sts_prd_conf.h @@ -237,12 +237,6 @@ #define CFG_CMD_RSS_SIMPLE_SIZE (STS_O7_CFG_CMD_SHORT_LEN) #define CFG_CMD_MODE_COLOR_LENGTH (STS_MODE_COLOR_CMD_LEN) -#define MEMS_POWER_Pin GPIO_PIN_4 // PMU_ENABLE -#define MEMS_POWER_GPIO_Port GPIOB // PMU_ENABLE - -#define MEMS_RESET_Pin GPIO_PIN_4 -#define MEMS_RESET_GPIO_Port GPIOB - #define PRESENCE_SENSOR_SPI_HANDLE hspi1 #define PRESENCE_SENSOR_TIM_HANDLE htim2 #define PRESENCE_SENSOR_I2C_HANDLE hi2c1 diff --git a/Core/Src/yunhorn_sts_presence_sensor.c b/Core/Src/yunhorn_sts_presence_sensor.c index 92b5da9..e3b4fa1 100644 --- a/Core/Src/yunhorn_sts_presence_sensor.c +++ b/Core/Src/yunhorn_sts_presence_sensor.c @@ -505,7 +505,7 @@ void STS_SENSOR_Power_ON(uint8_t cnt) HAL_GPIO_WritePin(MEMS_POWER_GPIO_Port, MEMS_POWER_Pin, GPIO_PIN_SET); #endif #ifdef YUNHORN_STS_O7_ENABLED - HAL_GPIO_WritePin(MEMS_POWER_GPIO_Port, MEMS_POWER_Pin, GPIO_PIN_SET); + PME_ON; #endif break; default: @@ -523,7 +523,7 @@ void STS_SENSOR_Power_OFF(uint8_t cnt) HAL_GPIO_WritePin(MEMS_POWER_GPIO_Port, MEMS_POWER_Pin, GPIO_PIN_RESET); #endif #ifdef YUNHORN_STS_O7_ENABLED - HAL_GPIO_WritePin(MEMS_POWER_GPIO_Port, MEMS_POWER_Pin, GPIO_PIN_RESET); + PME_OFF; #endif break; default: @@ -541,9 +541,7 @@ void STS_SENSOR_MEMS_Reset(uint8_t cnt) HAL_GPIO_WritePin(MEMS_RESET_GPIO_Port, MEMS_RESET_Pin, GPIO_PIN_SET); #endif #ifdef YUNHORN_STS_O7_ENABLED - HAL_GPIO_WritePin(MEMS_RESET_GPIO_Port, MEMS_RESET_Pin, GPIO_PIN_RESET); - HAL_Delay(100); - HAL_GPIO_WritePin(MEMS_RESET_GPIO_Port, MEMS_RESET_Pin, GPIO_PIN_SET); + HAL_GPIO_TogglePin(MEMS_RESET_GPIO_Port, MEMS_RESET_Pin); #endif break; default: diff --git a/STM32CubeIDE/Release/STS_O7.bin b/STM32CubeIDE/Release/STS_O7.bin index f308aab..d936e3c 100644 Binary files a/STM32CubeIDE/Release/STS_O7.bin and b/STM32CubeIDE/Release/STS_O7.bin differ