diff --git a/Core/Src/sts_lamp_bar.c b/Core/Src/sts_lamp_bar.c index 37640af..d8c73f0 100644 --- a/Core/Src/sts_lamp_bar.c +++ b/Core/Src/sts_lamp_bar.c @@ -85,10 +85,6 @@ extern volatile uint32_t event_door_lock_start_time, event_door_lock_stop_time; volatile uint8_t luminance_level = DEFAULT_LUMINANCE_LEVEL; - - - - void STS_Lamp_Bar_Set_Dark(void) { for (uint8_t i=0; i< STS_LAMP_BAR_LED_NUM; i++) @@ -101,10 +97,9 @@ void STS_Lamp_Bar_Set_Dark(void) void STS_WS2812B_Refresh(void) { - //__disable_irq(); - HAL_TIM_PWM_Start_DMA(&STS_LAMP_BAR_HTIM, STS_LAMP_BAR_TIM_CHANNEL, (uint32_t *)&rgb_buf, (WS2812B_DATA_LEN+24)); - //__enable_irq(); - HAL_TIM_PWM_Start_IT(&STS_LAMP_BAR_HTIM, STS_LAMP_BAR_TIM_CHANNEL); + + HAL_TIM_PWM_Start_DMA(&STS_LAMP_BAR_HTIM, STS_LAMP_BAR_TIM_CHANNEL, (uint32_t *)&rgb_buf, (WS2812B_DATA_LEN+LED_DATA_LEN)); + //HAL_TIM_PWM_Start_IT(&STS_LAMP_BAR_HTIM, STS_LAMP_BAR_TIM_CHANNEL); } void STS_Lamp_Bar_Init(void) @@ -143,29 +138,21 @@ void STS_Lamp_Bar_Scoller(uint8_t color, uint8_t lum_level) void STS_WS2812B_Set_RGB(uint8_t red, uint8_t green, uint8_t blue, uint8_t idx) { - //if (idx < STS_LAMP_BAR_LED_NUM) - { for (uint8_t j = 0; j < 8; j ++) { rgb_buf.GRB[idx*24+j] = (uint16_t)(((green<5) -// &&((current_event_time.Seconds - sts_o7_sensorData.event_sensor1_stop_time)>5)) - { - //if (((current_event_time.Seconds - sts_o7_sensorData.event_sensor1_start_time) > 5) || ((current_event_time.Seconds - sts_o7_sensorData.event_sensor1_stop_time) > 5)) - // if (last_sts_hall1_read !=sts_hall1_read) - { - APP_LOG(TS_OFF, VLEVEL_L, "\n\n Door Contact Read = %02x --%s\r\n", sts_hall1_read, sts_door_status_code[sts_hall1_read]); - OnSensor1StateChanged(); - /* Note: when "EventType == TX_ON_TIMER" this GPIO is not initialized */ - // if (EventType == TX_ON_EVENT) - { - //sensor_data_ready =1; - //UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP1), CFG_SEQ_Prio_0); - STS_YunhornSTSEventP1_Process(); - UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); - //SendTxData(); - } - - last_sts_hall1_read = sts_hall1_read; - } - } + STS_YunhornSTSEventP1_Process(); + UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); + //SendTxData(); } + last_sts_hall1_read = sts_hall1_read; } break; case HALL2_Pin: - + sts_hall2_read = HALL2_STATE; + HAL_Delay(30); //de-bouncing + if (sts_hall2_read == HALL2_STATE) { - sts_hall2_read = HALL2_STATE; - HAL_Delay(30); //de-bouncing - if (sts_hall2_read == HALL2_STATE) + APP_LOG(TS_OFF, VLEVEL_L, "\n\n SOS Button Read = %02x --%s\r\n", sts_hall2_read, sts_sos_status_code[sts_hall2_read]); + OnSensor2StateChanged(); + //sensor_data_ready =1; + //UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP1), CFG_SEQ_Prio_0); { - //SysTime_t current_event_time = SysTimeGetMcuTime(); - if (last_sts_hall2_read != sts_hall2_read) - { - //if (((current_event_time.Seconds - sts_o7_sensorData.event_sensor2_start_time) > 2) || ((current_event_time.Seconds - sts_o7_sensorData.event_sensor2_stop_time) > 2)) - { - APP_LOG(TS_OFF, VLEVEL_L, "\n\n SOS Button Read = %02x --%s\r\n", sts_hall2_read, sts_sos_status_code[sts_hall2_read]); - OnSensor2StateChanged(); - //sensor_data_ready =1; - //UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP1), CFG_SEQ_Prio_0); - STS_YunhornSTSEventP1_Process(); - UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); + STS_YunhornSTSEventP1_Process(); + UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); - } - last_sts_hall2_read = sts_hall2_read; - } } + last_sts_hall2_read = sts_hall2_read; } break; @@ -1188,7 +1166,7 @@ static void OnYunhornSTSLampBarColorTimerEvent(void *context) r_b = !r_b; } -UTIL_TIMER_Start(&STSLampBarColorTimer); +//UTIL_TIMER_Start(&STSLampBarColorTimer); }