From aa4214983d116f56ba232bc251d59bb512a947f7 Mon Sep 17 00:00:00 2001 From: YunHorn Technology Date: Thu, 1 Aug 2024 13:01:38 +0800 Subject: [PATCH] --- revised for lamp bar...no good so far --- Core/Src/gpio.c | 10 +++++----- Core/Src/main.c | 5 +---- Core/Src/sts_lamp_bar.c | 14 +++++++------- Core/Src/sys_app.c | 13 ++++++++++++- LoRaWAN/App/app_lorawan.c | 3 ++- LoRaWAN/App/lora_app.c | 24 +++++++++++++----------- 6 files changed, 40 insertions(+), 29 deletions(-) diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c index ad7ea4d..1014ec6 100644 --- a/Core/Src/gpio.c +++ b/Core/Src/gpio.c @@ -52,15 +52,15 @@ void MX_GPIO_Init(void) /*Configure GPIO pin Output Level */ //HAL_GPIO_WritePin(GPIOB, LED1_Pin|LED2_Pin|PROB2_Pin|PROB1_Pin|LED3_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(GPIOB, LED1_Pin, GPIO_PIN_RESET); - HAL_GPIO_WritePin(GPIOA, A111_CS_N_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(A111_CS_N_GPIO_Port, A111_CS_N_Pin, GPIO_PIN_RESET); /*Configure GPIO pins : PBPin PBPin PBPin */ GPIO_InitStruct.Pin = LED1_Pin; //|LED2_Pin|LED3_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; - HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(LED1_GPIO_Port, &GPIO_InitStruct); GPIO_InitStruct.Pin = MEMS_POWER_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; diff --git a/Core/Src/main.c b/Core/Src/main.c index 8558c2f..a142895 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -99,15 +99,12 @@ int main(void) /* USER CODE END SysInit */ /* Initialize all configured peripherals */ - LED1_ON; + MX_LoRaWAN_Init(); - STS_Lamp_Bar_Self_Test_Simple(); - /* USER CODE BEGIN 2 */ - /* USER CODE END 2 */ /* Infinite loop */ diff --git a/Core/Src/sts_lamp_bar.c b/Core/Src/sts_lamp_bar.c index 197ac3d..7afd61f 100644 --- a/Core/Src/sts_lamp_bar.c +++ b/Core/Src/sts_lamp_bar.c @@ -74,7 +74,7 @@ extern volatile uint8_t sts_rss_result; extern volatile uint8_t sts_rss_2nd_result; //2nd RSS sensor status extern volatile uint8_t sts_tof_result; -//extern volatile uint8_t last_sts_reed_hall_result = 2; //Initial state, not 0, not 1 + volatile uint8_t last_lamp_bar_color=STS_GREEN; extern volatile uint8_t sts_presence_fall_detection; extern volatile uint8_t sts_fall_rising_detected_result; @@ -127,12 +127,11 @@ void STS_Lamp_Bar_Scoller(uint8_t color, uint8_t lum_level) for(uint8_t i = 0; i>4)&0x0f, low4=sts_lamp_bar_color&0x0f; - HAL_Delay(10); + if (high4==0) { if (last_sts_lamp_bar_color != sts_lamp_bar_color) @@ -1342,8 +1342,9 @@ static void OnYunhornSTSDurationCheckTimerEvent(void *context) sts_o7_sensorData.event_sensor3_event_duration = sensor_event_time.Seconds - sts_o7_sensorData.event_sensor4_start_time; #endif - if (over_threshold == TRUE) { - sensor_data_ready = 1; + if (over_threshold == TRUE) + { + if (sts_o7_sensorData.fall_state == STS_PRESENCE_LAYDOWN) { sts_status_color = sts_lamp_bar_flashing_color; //STS_RED_BLUE; @@ -1352,7 +1353,9 @@ static void OnYunhornSTSDurationCheckTimerEvent(void *context) sts_status_color = STS_RED_DARK; sts_lamp_bar_color = STS_RED_DARK; //sts_lamp_bar_flashing_color; } - SendTxData(); + + sensor_data_ready = 1; + UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); over_threshold = FALSE; } } @@ -1427,10 +1430,9 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams) heart_beat_timer = 1; SendTxData(); - OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity); - UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer); UTIL_TIMER_Start(&STSDurationCheckTimer); + OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity); /* USER CODE END OnJoinRequest_1 */ } @@ -1697,7 +1699,7 @@ static void OnYunhornSTSOORSSWakeUpTimerEvent(void *context) } } - UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer); + //UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer); } @@ -1718,7 +1720,7 @@ static void OnYunhornSTSHeartBeatTimerEvent(void *context) } UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventRFAC), CFG_SEQ_Prio_0); } - //UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer); + UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer); } /**