diff --git a/Core/Inc/sts_lamp_bar.h b/Core/Inc/sts_lamp_bar.h
index 1942548..b93ab66 100644
--- a/Core/Inc/sts_lamp_bar.h
+++ b/Core/Inc/sts_lamp_bar.h
@@ -75,7 +75,7 @@ enum sts_oo_work_mode {
STS_REMOTE_REED_RSS_MODE, // 6 REMOTE REED SWITCH + RSS MODE 2023-05-04
STS_DUAL_RSS_MODE, // 7 RSS_1 + RSS_2 IN TWO UNITS
STS_TOF_RSS_MODE, // 8 TOF + RSS MODE
- STS_TOF_DISTANCE_MODE, // 9 TOF DISTANCE
+ STS_TOF_DISTANCE_MODE, // 9 TOF DISTANCE O6T
STS_TOF_PRESENCE_MODE, // A TOF PRESENCE OCCUPANCY
STS_TOF_IN_OUT_MODE, // B TOF IN OUT COUNT
STS_FALL_DETECTION_MODE, // C FALL DETECTION
diff --git a/Core/Src/sts_lamp_bar.c b/Core/Src/sts_lamp_bar.c
index 678b6fe..01c7d0c 100644
--- a/Core/Src/sts_lamp_bar.c
+++ b/Core/Src/sts_lamp_bar.c
@@ -56,8 +56,8 @@ extern volatile uint8_t sts_service_mask;
extern volatile uint8_t sts_work_mode;
volatile uint8_t sts_reed_hall_ext_int = 0;
volatile uint8_t sts_status_color = STS_GREEN;
-volatile uint8_t sts_lamp_bar_color = STS_GREEN; //puColor
volatile uint8_t sts_color_occupy_vacant = (STS_GREEN<<4)|(STS_RED&0x0f);
+volatile uint8_t sts_lamp_bar_color = STS_GREEN; //puColor
volatile uint8_t sts_lamp_bar_flashing_color = STS_RED_DARK; //0x23; RED_BLUE;
volatile uint8_t sts_cloud_netcolor = STS_GREEN; //netColor
extern volatile uint8_t sts_occupancy_status;
diff --git a/STM32CubeIDE/.settings/language.settings.xml b/STM32CubeIDE/.settings/language.settings.xml
index f1b15d8..9e6a728 100644
--- a/STM32CubeIDE/.settings/language.settings.xml
+++ b/STM32CubeIDE/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/STM32CubeIDE/Release/WLE5CC_NODE_STS.elf b/STM32CubeIDE/Release/WLE5CC_NODE_STS.elf
index fdd3662..b90af9c 100644
Binary files a/STM32CubeIDE/Release/WLE5CC_NODE_STS.elf and b/STM32CubeIDE/Release/WLE5CC_NODE_STS.elf differ
diff --git a/STS/Core/Src/yunhorn_sts_process.c b/STS/Core/Src/yunhorn_sts_process.c
index 1271621..9083ae8 100644
--- a/STS/Core/Src/yunhorn_sts_process.c
+++ b/STS/Core/Src/yunhorn_sts_process.c
@@ -59,6 +59,9 @@ extern volatile sts_ppc_cfg_type_t ppc_cfg[];
extern volatile uint8_t sts_status_color, sts_lamp_bar_color, sts_color_occupy_vacant;//puColor
extern uint8_t luminance_level;
#endif
+
+
+
volatile sts_cfg_nvm_t sts_cfg_nvm = {
sts_mtmcode1,
sts_mtmcode2,
@@ -105,7 +108,7 @@ volatile sts_cfg_nvm_t sts_cfg_nvm = {
0x00, //reserve --P[19]
#endif
}, // above 20 bytes
- 0x21, // color occupy (red:2) | color vacant (green:1) or other 0x10 occupy(red:1) | color vacant (dark:0)
+ 0x20, // color occupy (red:2) | color vacant (green:1) or other 0x20 occupy(red:2) | color vacant (dark:0) for ATAL-HK 20241230
0x00, //reserve3
0x20, //sensor install height in dm =10 cm, default 32*10=320cm, 3.2meter
@@ -126,7 +129,7 @@ volatile sts_cfg_nvm_t sts_cfg_nvm = {
volatile uint8_t nvm_store_value[YUNHORN_STS_MAX_NVM_CFG_SIZE]={0x0};
volatile uint8_t sts_ac_code[20]={0x0};
volatile uint8_t sts_service_mask=STS_SERVICE_MASK_L0;
-volatile uint8_t sts_work_mode=4;
+volatile uint8_t sts_work_mode= STS_TOF_DISTANCE_MODE; //4;
volatile uint32_t rfac_timer=0;
volatile uint16_t sts_sensor_install_height=3000;
volatile uint8_t sensor_data_ready=0;
@@ -175,6 +178,8 @@ volatile uint8_t sts_water_leakage_result=0;
volatile uint8_t sts_water_leakage_changed_flag=0;
#endif
+#define STS_COLOR_DEFAULT_VACANT (sts_color_occupy_vacant&0x0f)
+#define STS_COLOR_DEFAULT_OCCUPY ((sts_color_occupy_vacant>>4)&0x0f)
#if (defined(YUNHORN_STS_O6_ENABLED) && defined(USE_ACCONEER_A111))
@@ -412,11 +417,13 @@ void STS_YunhornSTSEventP3_Process(void)
#if (defined(STS_O6) ||defined(STS_O7)||defined(STS_T6))
if (STS_Reed_Hall_State == STS_Status_Door_Open)
{
- sts_lamp_bar_color =STS_GREEN;
+ // sts_lamp_bar_color =STS_GREEN;
+ sts_lamp_bar_color = STS_COLOR_DEFAULT_VACANT;
}
else
{
- sts_lamp_bar_color =STS_RED;
+ // sts_lamp_bar_color =STS_RED;
+ sts_lamp_bar_color = STS_COLOR_DEFAULT_OCCUPY;
}
STS_Lamp_Bar_Scoller(sts_lamp_bar_color, luminance_level);
#endif
@@ -665,10 +672,14 @@ void USER_APP_Parse_CMD_P(uint8_t *parse_buffer, uint8_t parse_buffer_size)
// P 1 1 M C1 C2 Change default OCCUPANCY AND VACANT COLOR CODE
case 6:
- if (sts_work_mode == 1)
+ //if ((sts_work_mode == STS_WIRED_MODE)||(sts_work_mode == STS_TOF_DISTANCE_MODE))
{
sts_cfg_nvm.color_occupy_vacant = ((uint8_t)(parse_buffer[CFG_CMD5]-0x30)<<4)|((uint8_t)(parse_buffer[CFG_CMD6]-0x30));
+ sts_color_occupy_vacant = sts_cfg_nvm.color_occupy_vacant;
+
+ APP_LOG(TS_OFF, VLEVEL_M, "\r\n Workmode=%d Color Occupy=%02X Vacant=%02X \r\n", sts_work_mode, STS_COLOR_DEFAULT_OCCUPY, STS_COLOR_DEFAULT_VACANT);
}
+
break;
case 12:
break;
@@ -1417,6 +1428,14 @@ void USER_APP_AUTO_RESPONDER_Parse(uint8_t *parse_buffer, uint8_t parse_buffer_s
/* TODO XXX FOR NON STS-P2 */
USER_APP_Parse_CMD_P(tlv_buf, parse_buffer_size);
+
+ UTIL_MEM_set_8((void*)outbuf, 0x0, sizeof(outbuf));
+ UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, parse_buffer_size);
+
+ i = parse_buffer_size;
+
+ STS_SENSOR_Upload_Message(YUNHORN_STS_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf);
+
/* TODO XXX FOR NON STS-P2 */
break;
@@ -1759,9 +1778,10 @@ void OnRestoreSTSCFGContextProcess(void)
sts_work_mode = sts_cfg_nvm.work_mode;
sts_service_mask = sts_cfg_nvm.sts_service_mask;
sts_color_occupy_vacant = sts_cfg_nvm.color_occupy_vacant;
+ APP_LOG(TS_OFF, VLEVEL_M, "\r\n Color Occupy =%02x, VACANT =%02x \r\n",((sts_color_occupy_vacant>>4)&0x0f), sts_color_occupy_vacant&0x0f );
#ifdef YUNHORN_STS_O6_ENABLED
- sts_lamp_bar_color = STS_GREEN;
+ sts_lamp_bar_color = STS_COLOR_DEFAULT_VACANT;
sts_fall_detection_acc_threshold = (uint8_t)sts_cfg_nvm.fall_detection_acc_threshold*10;
sts_fall_detection_depth_threshold = (uint8_t)sts_cfg_nvm.fall_detection_depth_threshold*10; //in cm
// **** = sts_cfg_nvm.fall_detection_reserve;
diff --git a/STS/TOF/App/app_tof_peoplecount.c b/STS/TOF/App/app_tof_peoplecount.c
index d78195a..b879224 100644
--- a/STS/TOF/App/app_tof_peoplecount.c
+++ b/STS/TOF/App/app_tof_peoplecount.c
@@ -24,7 +24,11 @@ extern volatile uint32_t STS_TOFScanPeriod_sec, STS_TxPeriod_sec, STS_HeartBeatT
extern volatile sts_cfg_nvm_t sts_cfg_nvm;
extern volatile uint8_t nvm_store_value[];
volatile uint8_t sts_tof_presence_state=0, sts_tof_presence_state_changed=0, sts_tof_presence_distance_dm=0, sts_pir_state=0;
-extern volatile uint8_t sts_lamp_bar_color;
+extern volatile uint8_t sts_lamp_bar_color, sts_color_occupy_vacant;
+
+#define STS_COLOR_DEFAULT_VACANT (sts_color_occupy_vacant&0x0f)
+#define STS_COLOR_DEFAULT_OCCUPY ((sts_color_occupy_vacant>>4)&0x0f)
+
/* TIMING_BUDGET, in ms possible values [15, 20, 50, 100, 200, 500] */
/* DISTANCE_THRESHOLD = MAX - ASSUME_CHILD_HEIGHT(800mm) */
@@ -669,13 +673,13 @@ void STS_TOF_VL53LX_PresenceDetection_Process_Start(void)
{
LED_GREEN_OFF;
LED_RED_ON;
- sts_lamp_bar_color = STS_RED; //(sts_cfg_nvm.color_occupy_vacant>>4)&0x0f; //STS_RED;
+ sts_lamp_bar_color = (sts_cfg_nvm.color_occupy_vacant>>4)&0x0f; //STS_COLOR_DEFAULT_OCCUPY; //(sts_cfg_nvm.color_occupy_vacant>>4)&0x0f; //STS_RED;
} else if (sts_tof_presence_state ==0)
{
LED_RED_OFF;
LED_GREEN_ON;
- sts_lamp_bar_color = STS_GREEN; //(sts_cfg_nvm.color_occupy_vacant)&0x0f; //STS_GREEN;
+ sts_lamp_bar_color = (sts_cfg_nvm.color_occupy_vacant)&0x0f; //STS_COLOR_DEFAULT_VACANT; //(sts_cfg_nvm.color_occupy_vacant)&0x0f; //STS_GREEN;
}
sts_people_count_sensor_data.Count_Valid = (status ==0)? 1:0;
//APP_LOG(TS_OFF, VLEVEL_M,"############### SUB-PROCESS running .... \r\n");