--- fix lamp bar color issue
This commit is contained in:
parent
d6d0b04ab0
commit
676b281450
|
@ -141,9 +141,9 @@ void Error_Handler(void);
|
||||||
/*
|
/*
|
||||||
* STM32WL55, STM32WLE5 Clock=48Mhz 48,000,000/800khz = 60
|
* STM32WL55, STM32WLE5 Clock=48Mhz 48,000,000/800khz = 60
|
||||||
*/
|
*/
|
||||||
#define STS_LAMP_BAR_PWM_TIM_PERIOD (60 - 1)
|
#define STS_LAMP_BAR_PWM_TIM_PERIOD (240 - 1)
|
||||||
#define STS_LAMP_BAR_HTIM htim1
|
#define STS_LAMP_BAR_HTIM htim1
|
||||||
#define STS_LAMP_BAR_LED_NUM (30) //30 for 46CM length LED strip
|
#define STS_LAMP_BAR_LED_NUM (60) //60 for 46CM length LED strip
|
||||||
|
|
||||||
#define WSDATA_PORT_PIN_PA8
|
#define WSDATA_PORT_PIN_PA8
|
||||||
//#define WSDATA_PORT_PIN_PA9
|
//#define WSDATA_PORT_PIN_PA9
|
||||||
|
|
|
@ -52,8 +52,17 @@ enum sts_lamp_color {
|
||||||
|
|
||||||
STS_GREEN_DARK=0x10, //0b0001 0000 GREEN DARK
|
STS_GREEN_DARK=0x10, //0b0001 0000 GREEN DARK
|
||||||
STS_RED_DARK=0x20, //0b0010 0000,
|
STS_RED_DARK=0x20, //0b0010 0000,
|
||||||
|
STS_RED_GREEN=0x21,
|
||||||
STS_RED_BLUE=0x23, //0b0010 0011 RED BLUE FLASH
|
STS_RED_BLUE=0x23, //0b0010 0011 RED BLUE FLASH
|
||||||
STS_BLUE_DARK=0x30 //0b0011 0000 BLUE DARK
|
STS_BLUE_DARK=0x30, //0b0011 0000 BLUE DARK
|
||||||
|
STS_BLUE_GREEN=0x31,
|
||||||
|
|
||||||
|
STS_GREENDARK=0x41, // GREEN FLASH 'A'
|
||||||
|
STS_REDDARK=0x42, // RED FLASH 'B'
|
||||||
|
STS_REDBLUE=0x43, // RED/BLUE FLASH 'C'
|
||||||
|
STS_BLUEDARK=0x44, // BLUE FLASH 'D'
|
||||||
|
STS_REDGREEN=0x45, // RED/GREEN FLASH 'E'
|
||||||
|
STS_BLUEGREEN=0x46 // BLUE/GREEN FLASH 'F'
|
||||||
};
|
};
|
||||||
|
|
||||||
enum sts_oo_work_mode {
|
enum sts_oo_work_mode {
|
||||||
|
|
|
@ -32,8 +32,8 @@
|
||||||
#define ZERO_PULSE (20)
|
#define ZERO_PULSE (20)
|
||||||
|
|
||||||
#define LED_DATA_LEN 24
|
#define LED_DATA_LEN 24
|
||||||
#define WS2812B_DATA_LEN (LED_DATA_LEN * (STS_LAMP_BAR_LED_NUM+1))
|
#define WS2812B_DATA_LEN (LED_DATA_LEN * (STS_LAMP_BAR_LED_NUM))
|
||||||
#define RESET_PULSE (16) //(80) TO FIX DARK_COLOR AND SM2
|
#define RESET_PULSE (24) //(80) TO FIX DARK_COLOR AND SM2
|
||||||
|
|
||||||
|
|
||||||
typedef struct ws2812b_e {
|
typedef struct ws2812b_e {
|
||||||
|
@ -99,7 +99,7 @@ void STS_Lamp_Bar_Set_Dark(void)
|
||||||
void STS_WS2812B_Refresh(void)
|
void STS_WS2812B_Refresh(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
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_DMA(&STS_LAMP_BAR_HTIM, STS_LAMP_BAR_TIM_CHANNEL, (uint32_t *)&rgb_buf, (WS2812B_DATA_LEN+RESET_PULSE));
|
||||||
//HAL_TIM_PWM_Start_IT(&STS_LAMP_BAR_HTIM, STS_LAMP_BAR_TIM_CHANNEL);
|
//HAL_TIM_PWM_Start_IT(&STS_LAMP_BAR_HTIM, STS_LAMP_BAR_TIM_CHANNEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -126,8 +126,7 @@ void STS_Lamp_Bar_Scoller(uint8_t color, uint8_t lum_level)
|
||||||
|
|
||||||
for(uint8_t i = 0; i<STS_LAMP_BAR_LED_NUM; i++)
|
for(uint8_t i = 0; i<STS_LAMP_BAR_LED_NUM; i++)
|
||||||
{
|
{
|
||||||
HAL_Delay(20); //MAKE THIS LESS THAN 10 NOT TO BLOCK JOIN THE LORAWAN
|
HAL_Delay(6); //MAKE THIS LESS THAN 10 NOT TO BLOCK JOIN THE LORAWAN
|
||||||
//UTIL_MEM_set_8((void*)rgb_buf.GRB,ZERO_PULSE,(WS2812B_DATA_LEN+LED_DATA_LEN));
|
|
||||||
STS_WS2812B_Set_RGB(color_rgb[color][0]*lum_level,color_rgb[color][1]*lum_level, color_rgb[color][2]*lum_level, i);
|
STS_WS2812B_Set_RGB(color_rgb[color][0]*lum_level,color_rgb[color][1]*lum_level, color_rgb[color][2]*lum_level, i);
|
||||||
STS_WS2812B_Refresh();
|
STS_WS2812B_Refresh();
|
||||||
}
|
}
|
||||||
|
@ -149,7 +148,7 @@ void STS_WS2812B_Set_RGB(uint8_t red, uint8_t green, uint8_t blue, uint8_t idx)
|
||||||
void STS_Lamp_Bar_Set_RGB_Color(uint8_t red, uint8_t green, uint8_t blue )
|
void STS_Lamp_Bar_Set_RGB_Color(uint8_t red, uint8_t green, uint8_t blue )
|
||||||
{
|
{
|
||||||
uint8_t i =0;
|
uint8_t i =0;
|
||||||
UTIL_MEM_set_8((void*)rgb_buf.GRB,0x0,(WS2812B_DATA_LEN+LED_DATA_LEN));
|
UTIL_MEM_set_8((void*)rgb_buf.GRB,0x00,(WS2812B_DATA_LEN+RESET_PULSE));
|
||||||
|
|
||||||
for(i = 0; i < STS_LAMP_BAR_LED_NUM; i++)
|
for(i = 0; i < STS_LAMP_BAR_LED_NUM; i++)
|
||||||
{
|
{
|
||||||
|
@ -197,6 +196,28 @@ void STS_Lamp_Bar_Set_STS_RGB_Color(uint8_t sts_lamp_color, uint8_t lum)
|
||||||
case STS_WHITE:
|
case STS_WHITE:
|
||||||
STS_Lamp_Bar_Set_RGB_Color(lum, lum, lum);
|
STS_Lamp_Bar_Set_RGB_Color(lum, lum, lum);
|
||||||
break;
|
break;
|
||||||
|
case STS_COLOR_MAX:
|
||||||
|
sts_lamp_bar_color = STS_RED_BLUE;
|
||||||
|
break;
|
||||||
|
case STS_GREENDARK:
|
||||||
|
sts_lamp_bar_color = STS_GREEN_DARK;
|
||||||
|
break;
|
||||||
|
case STS_REDDARK:
|
||||||
|
sts_lamp_bar_color = STS_RED_DARK;
|
||||||
|
break;
|
||||||
|
case STS_REDBLUE:
|
||||||
|
sts_lamp_bar_color = STS_RED_BLUE;
|
||||||
|
break;
|
||||||
|
case STS_BLUEDARK:
|
||||||
|
sts_lamp_bar_color = STS_BLUE_DARK;
|
||||||
|
break;
|
||||||
|
case STS_REDGREEN:
|
||||||
|
sts_lamp_bar_color = STS_RED_GREEN;
|
||||||
|
break;
|
||||||
|
case STS_BLUEGREEN:
|
||||||
|
sts_lamp_bar_color = STS_BLUE_GREEN;
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -556,15 +556,15 @@ int sts_presence_rss_fall_rise_detection(void)
|
||||||
|
|
||||||
//#ifdef LOG_RSS
|
//#ifdef LOG_RSS
|
||||||
APP_LOG(TS_OFF, VLEVEL_L,"\r\nSensor at Ceiling Height: %u mm\r\n",(uint16_t)sts_sensor_install_height);
|
APP_LOG(TS_OFF, VLEVEL_L,"\r\nSensor at Ceiling Height: %u mm\r\n",(uint16_t)sts_sensor_install_height);
|
||||||
|
APP_LOG(TS_OFF, VLEVEL_L,"\r\n|Motion Distance Zone| ##### |Height cm|\r\n");
|
||||||
for (uint8_t k=0; k<12; k++) {
|
for (uint8_t k=0; k<12; k++) {
|
||||||
if (motion_in_hs_zone[k][thiscnt]>0) {
|
if (motion_in_hs_zone[k][thiscnt]>0) {
|
||||||
|
|
||||||
APP_LOG(TS_OFF, VLEVEL_L,"\r\nMotion Distance Zone: %2u %4u Height< %4u cm", k, (uint8_t)motion_in_hs_zone[k][thiscnt], (int)(k+1)*40);
|
APP_LOG(TS_OFF, VLEVEL_L,"\r\n| %2u | %4u | %4u |\r\n", k, (uint8_t)motion_in_hs_zone[k][thiscnt], (int)(k+1)*40);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
APP_LOG(TS_OFF, VLEVEL_L,"\r\nMotion Distance Zone: %2u %4s", k, " ");
|
APP_LOG(TS_OFF, VLEVEL_L,"\r\n| %2u | | |\r\n", k);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//#endif
|
//#endif
|
||||||
|
|
|
@ -1161,7 +1161,7 @@ static void OnYunhornSTSLampBarColorTimerEvent(void *context)
|
||||||
//uint8_t lum=DEFAULT_LUMINANCE_LEVEL;
|
//uint8_t lum=DEFAULT_LUMINANCE_LEVEL;
|
||||||
//HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin); /* STS GREEN */
|
//HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin); /* STS GREEN */
|
||||||
//if ((sts_work_mode != STS_WIRED_MODE))
|
//if ((sts_work_mode != STS_WIRED_MODE))
|
||||||
uint8_t high4=(sts_lamp_bar_color>>4)&0x0f, low4=sts_lamp_bar_color&0x0f;
|
uint8_t high4=(sts_lamp_bar_color>>4)&0x0f, low4=sts_lamp_bar_color&0x07;
|
||||||
|
|
||||||
if (high4==0)
|
if (high4==0)
|
||||||
{
|
{
|
||||||
|
@ -1416,6 +1416,8 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
|
||||||
APP_LOG(TS_OFF, VLEVEL_H, "###### U/L FRAME:JOIN | DR:%d | PWR:%d\r\n", joinParams->Datarate, joinParams->TxPower);
|
APP_LOG(TS_OFF, VLEVEL_H, "###### U/L FRAME:JOIN | DR:%d | PWR:%d\r\n", joinParams->Datarate, joinParams->TxPower);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (STS_LoRa_WAN_Joined)
|
||||||
|
{
|
||||||
heart_beat_timer = 1;
|
heart_beat_timer = 1;
|
||||||
//SendTxData();
|
//SendTxData();
|
||||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||||
|
@ -1430,6 +1432,7 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
|
||||||
STS_SENSOR_Distance_Test_Process();
|
STS_SENSOR_Distance_Test_Process();
|
||||||
|
|
||||||
APP_LOG(TS_OFF, VLEVEL_H, "\r\nRSS Measured Distance=[%u] mm \r\n", (uint16_t)sts_distance_rss_distance);
|
APP_LOG(TS_OFF, VLEVEL_H, "\r\nRSS Measured Distance=[%u] mm \r\n", (uint16_t)sts_distance_rss_distance);
|
||||||
|
}
|
||||||
|
|
||||||
/* USER CODE END OnJoinRequest_1 */
|
/* USER CODE END OnJoinRequest_1 */
|
||||||
}
|
}
|
||||||
|
@ -2273,7 +2276,8 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, uint8_t tlv_buf_size)
|
||||||
APP_LOG(TS_OFF, VLEVEL_L, "\r\n Cloud Color Set to %u \r\n", sts_cloud_netcolor);
|
APP_LOG(TS_OFF, VLEVEL_L, "\r\n Cloud Color Set to %u \r\n", sts_cloud_netcolor);
|
||||||
}
|
}
|
||||||
sts_service_mask = STS_SERVICE_MASK_L0;
|
sts_service_mask = STS_SERVICE_MASK_L0;
|
||||||
sts_lamp_bar_color = sts_cloud_netcolor;
|
if ((sts_cloud_netcolor >= 11)&&(sts_cloud_netcolor<=36)) // 'A'-'Z'
|
||||||
|
sts_lamp_bar_color = (sts_cloud_netcolor+0x30);
|
||||||
sts_cfg_nvm.work_mode = (uint8_t)sts_work_mode;
|
sts_cfg_nvm.work_mode = (uint8_t)sts_work_mode;
|
||||||
sts_cfg_nvm.sts_service_mask = (uint8_t)sts_service_mask;
|
sts_cfg_nvm.sts_service_mask = (uint8_t)sts_service_mask;
|
||||||
OnStoreSTSCFGContextRequest();
|
OnStoreSTSCFGContextRequest();
|
||||||
|
|
Loading…
Reference in New Issue