nvm cfg size to 2K
This commit is contained in:
parent
5c9f881e73
commit
e8243d55ef
|
@ -247,10 +247,10 @@
|
|||
|
||||
#define MajorVer 25U
|
||||
#define MinorVer 7U
|
||||
#define SubMinorVer 1U
|
||||
#define SubMinorVer 31U
|
||||
#define FirmwareVersion 3U
|
||||
|
||||
#define YUNHORN_STS_MAX_NVM_CFG_SIZE 64U
|
||||
#define YUNHORN_STS_MAX_NVM_CFG_SIZE 128U
|
||||
#define YUNHORN_STS_AC_CODE_SIZE 20U
|
||||
|
||||
#define STS_O7_NVM_CFG_SIZE 32U
|
||||
|
@ -439,13 +439,22 @@
|
|||
* Address range 0800 0000H - 0803 FFFFH Size: 0x0004 0000
|
||||
*/
|
||||
|
||||
#define FLASH_USER_START_ADDR ((void *) 0x0803F800UL) // Last 2kB of flash
|
||||
#define FLASH_USER_CONFIG_SIZE ((void *) 0x000003FFUL) //0x400=1KB=1024
|
||||
#define FLASH_USER_END_ADDR (FLASH_USER_START_ADDR + FLASH_USER_CONFIG - 1)
|
||||
|
||||
#define FLASH_MFG_DEFAULT_START_ADDR ((void *) 0x0803FC00UL) // Last 1kB of flash
|
||||
#define FLASH_MFG_DEFAULT_CONFIG_SIZE ((void *) 0x000003FFUL) //0x400=1KB=1024
|
||||
#define FLASH_MFG_DEFAULT_END_ADDR (FLASH_MFG_DEFAULT_START_ADDR + FLASH_MFG_DEFAULT_CONFIG_SIZE - 1)
|
||||
#define FLASH_USER_START_ADDR ((void *) 0x0803F800UL) // Last 1kB of flash
|
||||
#define FLASH_USER_CONFIG_SIZE ((void *) 0x000003FFUL) //0x400=1KB=1024
|
||||
#define FLASH_USER_END_ADDR (FLASH_USER_START_ADDR + FLASH_USER_CONFIG - 1)
|
||||
|
||||
/* for P2 permenent storage */
|
||||
#ifdef P2
|
||||
#define STS_SENSOR_DATA_NVM_BASE_ADDRESS ((void *) 0x0803FA00U) // START of flash
|
||||
#define STS_SENSOR_DATA_NVM_SIZE ((void *) 0x000001FFU) //0x200=512B
|
||||
#define STS_SENSOR_DATA_NVM_END_ADDR (STS_SENSOR_DATA_NVM_BASE_ADDRESS + STS_SENSOR_DATA_NVM_SIZE - 1)
|
||||
#endif
|
||||
|
||||
#define FLASH_MFG_DEFAULT_START_ADDR ((void *) 0x0803FC00UL) // Last 1kB of flash
|
||||
#define FLASH_MFG_DEFAULT_CONFIG_SIZE ((void *) 0x000003FFUL) //0x400=1KB=1024
|
||||
#define FLASH_MFG_DEFAULT_END_ADDR (FLASH_MFG_DEFAULT_START_ADDR + FLASH_MFG_DEFAULT_CONFIG_SIZE - 1)
|
||||
|
||||
/* 2KB = 2048 = 0x800 End @ of user Flash area */
|
||||
|
||||
/**
|
||||
|
|
|
@ -623,12 +623,12 @@ enum nvm_order {
|
|||
//29, p[17]
|
||||
//30, p[18]
|
||||
NVM_CFG_START_END=31, //31, p[19]
|
||||
NVM_RESERVE02, //32
|
||||
NVM_RESERVE03, //33
|
||||
NVM_COLOR_OCCUPY_VACANT, //32
|
||||
NVM_COLOR_SEVERITY, //33
|
||||
NVM_SENSOR_INSTALL_HEIGHT, //34
|
||||
NVM_ALARM_PARAMETER05, //35
|
||||
NVM_COLOR_EFFECTS, //35
|
||||
NVM_ALARM_MUTE_RESET_TIMER, //36
|
||||
NVM_ALARM_LAMP_BAR_FLASHING_COLOR, //37
|
||||
NVM_RESERVED37, //37
|
||||
NVM_OCCUPANCY_OVERTIME_THRESHOLD, //38
|
||||
|
||||
NVM_MOTIONLESS_DURATION_THRESHOLD, //39
|
||||
|
@ -641,7 +641,14 @@ enum nvm_order {
|
|||
NVM_AC_CODE_START=44 //STORED, NO UPLOAD
|
||||
//63, 20 bytes for AC code
|
||||
};
|
||||
|
||||
enum color_effects_list {
|
||||
COLOR_NORMAL =0,
|
||||
COLOR_BREATH,
|
||||
COLOR_FADE_ALL,
|
||||
COLOR_FADE_HALF,
|
||||
COLOR_WAVE,
|
||||
COLOR_ROLLING
|
||||
};
|
||||
typedef struct sts_cfg_nvm {
|
||||
uint8_t mtmcode1;
|
||||
uint8_t mtmcode2;
|
||||
|
@ -660,9 +667,9 @@ typedef struct sts_cfg_nvm {
|
|||
uint8_t color_occupy_vacant; // occupy color and vacant color define, C_OCCUPY<<4|C_VACANT
|
||||
uint8_t color_severity_l2_l3; // 2025 06 30, for emergency l2 l3 such as yellow, blue config
|
||||
uint8_t sensor_install_height_in_10cm;
|
||||
uint8_t alarm_parameter05;
|
||||
uint8_t color_effects; // 2025 08 01 add color effects such as breath, fade in fade out, wave etc.
|
||||
uint8_t alarm_mute_reset_timer_in_10sec; //60(0x3C) sec alarm_mute_or_reset_expire_timer_in_sec
|
||||
uint8_t alarm_lamp_bar_flashing_color; //Lamp Bar Flashing color define, 0x20, 2==STS_RED, 0 = STS_DARK, 0x23, 2=STS_RED, 3=STS_BLUE
|
||||
uint8_t reserved37; // 2025 08 01 replaced by color_severity_l2_l3, Lamp Bar Flashing color define, 0x20, 2==STS_RED, 0 = STS_DARK, 0x23, 2=STS_RED, 3=STS_BLUE
|
||||
uint8_t occupancy_overtime_threshold_in_10min; // 0 - 9: 0:disable, 1-9 occupy over time threshold * 10 min
|
||||
|
||||
uint8_t motionless_duration_threshold_in_min; // 10(0x0A) min (2 min.) motionless_duration_threshold_in_min
|
||||
|
@ -673,6 +680,7 @@ typedef struct sts_cfg_nvm {
|
|||
uint8_t fall_confirm_threshold_in_10sec; // 0-60(0x3C) Sec, or 3*10(0x03) sec default falldown_confirm_threshold_in_10sec
|
||||
|
||||
uint8_t ac[YUNHORN_STS_AC_CODE_SIZE]; // authorization code, 20 bytes MCU UUID coded
|
||||
uint8_t b[64];
|
||||
} sts_cfg_nvm_t;
|
||||
|
||||
#ifndef TRUE
|
||||
|
|
|
@ -191,7 +191,7 @@ void STS_Lamp_Bar_Scoller(uint8_t color, uint8_t lum_level)
|
|||
ws2812b_data[3*i+2] = color_rgb[color][2]*lum_level;
|
||||
|
||||
ws2812b_data_transfer(ws2812b_data, sizeof(ws2812b_data));
|
||||
HAL_Delay(20);
|
||||
HAL_Delay(10);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -361,14 +361,14 @@ void STS_Lamp_Bar_Self_Test_Fade(void)
|
|||
for (color=STS_GREEN; color < STS_COLOR_MAX; color++)
|
||||
{
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color_FadeOut(color&0xff, lum_level&0xff, LED_COUNT/2);
|
||||
HAL_Delay(500);
|
||||
HAL_Delay(300);
|
||||
}
|
||||
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "\r\n [#1] RGB Space Fade In Testing Start\r\n");
|
||||
for (color=STS_GREEN; color < STS_COLOR_MAX; color++)
|
||||
{
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color_FadeIn(color&0xff, lum_level&0xff, LED_COUNT/2);
|
||||
HAL_Delay(500);
|
||||
HAL_Delay(300);
|
||||
}
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "\r\n [#1] RGB Space Fade Out / Fade In Testing Finished\r\n");
|
||||
}
|
||||
|
@ -381,7 +381,7 @@ static void sts_test_scoller_bar(void)
|
|||
{
|
||||
STS_Lamp_Bar_Scoller(color, DEFAULT_LUMINANCE_LEVEL);
|
||||
}
|
||||
HAL_Delay(500);
|
||||
HAL_Delay(200);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -393,7 +393,7 @@ static void sts_test_color_with_lum_level(void)
|
|||
for (uint16_t lum_level=1; lum_level<250; lum_level+=10)
|
||||
{
|
||||
ws2812b_light_all_with_lum_level(color, lum_level&0xff);
|
||||
HAL_Delay(30);
|
||||
HAL_Delay(20);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -782,9 +782,11 @@ void STS_PRESENCE_SENSOR_NVM_CFG(void)
|
|||
//sts_rss_config_updated_flag = (STS_RSS_CONFIG_FULL); //set to 2 for FULL config effect in next detection
|
||||
//sts_presence_rss_config.default_config_update_flag = (uint8_t) sts_rss_config_updated_flag;
|
||||
sts_rss_config_updated_flag = (uint8_t)(sts_cfg_nvm.p[RSS_CFG_UPDATE_FLAG]);
|
||||
|
||||
sts_rss_cfg_slid_win_threshold = (uint8_t)(sts_cfg_nvm.p[RSS_CFG_SLID_WIN])>>4;
|
||||
sts_rss_cfg_slid_win_size = (uint8_t)(sts_cfg_nvm.p[RSS_CFG_SLID_WIN])&0x0F;
|
||||
sts_time_c_threshold = (uint8_t)(sts_cfg_nvm.p[RSS_CFG_TIME_C_THRESHOLD]);
|
||||
|
||||
sts_time_c_threshold = (uint8_t)(sts_presence_rss_config.default_time_c_threshold);
|
||||
APP_LOG(TS_ON, VLEVEL_H, "\r\n##### Reboot --- with NVM CFG'ED RSS flag =%02x \r\n", sts_rss_config_updated_flag);
|
||||
|
||||
}
|
||||
|
@ -1113,6 +1115,7 @@ void STS_PRESENCE_SENSOR_Background_Measure_Process(uint16_t *bg_distance, uint1
|
|||
|
||||
sts_work_mode = STS_RSS_BACKGROUND_MODE;
|
||||
sts_lamp_bar_color = STS_BLUE;
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color(sts_lamp_bar_color,luminance_level);
|
||||
HAL_Delay(LED_PERIOD_TIME);
|
||||
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "\r\n SCAN Background Noise ... \r\n");
|
||||
|
@ -1126,7 +1129,10 @@ void STS_PRESENCE_SENSOR_Background_Measure_Process(uint16_t *bg_distance, uint1
|
|||
*bg_motion_noise = motion_noise;
|
||||
|
||||
sts_work_mode = previous_sts_work_mode;
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color(STS_DARK,luminance_level);
|
||||
HAL_Delay(50);
|
||||
sts_lamp_bar_color = previous_sts_lamp_bar_color;
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color(sts_lamp_bar_color,luminance_level);
|
||||
HAL_Delay(LED_PERIOD_TIME);
|
||||
sts_rss_config_updated_flag = previous_sts_rss_config_updated_flag|0x80;
|
||||
}
|
||||
|
@ -1181,7 +1187,10 @@ void STS_PRESENCE_SENSOR_Function_Test_Process(void)
|
|||
|
||||
}
|
||||
HAL_Delay(50);
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color(STS_DARK,luminance_level);
|
||||
HAL_Delay(50);
|
||||
sts_lamp_bar_color = previous_lamp_bar_color;
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color(sts_lamp_bar_color,luminance_level);
|
||||
HAL_Delay(LED_PERIOD_TIME);
|
||||
// *count = sizeof(bring_up_result);
|
||||
// UTIL_MEM_cpy_8((void*)self_test_result, (void*)bring_up_result, sizeof(bring_up_result));
|
||||
|
|
|
@ -87,8 +87,8 @@ volatile bool p2_work_finished=true;
|
|||
extern volatile uint8_t luminance_level;
|
||||
uint8_t outbuf[255]={0x0};
|
||||
volatile static bool r_b=true;
|
||||
static uint8_t nvm_stored_value[2*YUNHORN_STS_MAX_NVM_CFG_SIZE]={0x0};
|
||||
static uint8_t sts_cfg_nvm_factory_default[YUNHORN_STS_MAX_NVM_CFG_SIZE];
|
||||
static uint8_t nvm_stored_value[FLASH_PAGE_SIZE]={0x0};
|
||||
static uint8_t sts_cfg_nvm_factory_default[2*YUNHORN_STS_MAX_NVM_CFG_SIZE];
|
||||
static void STS_Show_STS_CFG_NVM(uint8_t * store_value, uint16_t store_size);
|
||||
extern volatile uint8_t sts_rss_cfg_slid_win_threshold;
|
||||
extern volatile uint8_t sts_rss_cfg_slid_win_size;
|
||||
|
@ -129,17 +129,12 @@ volatile sts_cfg_nvm_t sts_cfg_nvm = {
|
|||
0x6E, //P[18] RSS_CFG_BG_MOTION_NOISE 2025-04-14
|
||||
0x8C, //P[19] RSS SLIDING WINDOW CFG: 0x08 AS threshold, 0x0C as window size
|
||||
}, // above 20 bytes
|
||||
#if defined(ATAL)
|
||||
0x20, // 0x20 occupy(red:2) | color vacant (dark:0) for ATAL-HK 20241230
|
||||
#elif defined(FADEOUT)
|
||||
0x27, // 0x20 occupy(red:2) | color vacant (white:7) for SWIRE INDIGO1 BEIJING
|
||||
#else
|
||||
0x21, // color occupy (red:2) | color vacant (green:1) or other 0x20 occupy(red:2) | color vacant (dark:0) for ATAL-HK 20241230
|
||||
#endif
|
||||
// 0x20 occupy(red:2) | color vacant (white:7) for SWIRE INDIGO1 BEIJING
|
||||
0x43, // color severity l2 l3, yellow blue
|
||||
0x20, //sensor install height in 10 cm, default 32*10=320cm, 3.2meter
|
||||
|
||||
0x00, //reserve5 alarm_parameter05
|
||||
COLOR_FADE_HALF, // color effects
|
||||
0x06, //reserve6 alarm_mute_or_reset_expire_timer_in_10sec, 60 seconds
|
||||
0x23, //reserve7 alarm Lamp Bar Flashing color define, 0x20, 2==STS_RED, 0 = STS_DARK, 0x23, 2=STS_RED, 3=STS_BLUE
|
||||
0x03, //reserve8 occupancy over time threshold 3*10 = 30 minutes
|
||||
|
@ -152,6 +147,7 @@ volatile sts_cfg_nvm_t sts_cfg_nvm = {
|
|||
0x03, //falldown_confirm_threshold_in_10sec, 0x3=30 sec default
|
||||
// below 20 bytes for RFAC code
|
||||
{0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0}
|
||||
|
||||
};
|
||||
static uint32_t sts_warm_up_count = 0;
|
||||
#if defined(STS_O6)||defined(STS_O7)
|
||||
|
@ -1267,36 +1263,46 @@ static void OnYunhornSTSLampBarColorTimerEvent(void *context)
|
|||
{
|
||||
if (last_sts_lamp_bar_color != sts_lamp_bar_color)
|
||||
{
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "\r\n----Lamp Bar Color changed from %02x to %02x \r\n", last_sts_lamp_bar_color, sts_lamp_bar_color);
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "\r\n----Lamp Bar Color changed from color %02x :%02x to %02x \r\n", last_sts_lamp_bar_color, sts_cfg_nvm.color_effects, sts_lamp_bar_color);
|
||||
last_sts_lamp_bar_color = sts_lamp_bar_color;
|
||||
}
|
||||
|
||||
UTIL_TIMER_Stop(&STSLampBarColorTimer);
|
||||
|
||||
if (high4==0)
|
||||
{
|
||||
switch (sts_cfg_nvm.color_effects) {
|
||||
|
||||
#if defined(FADEOUT)
|
||||
if ((sts_rss_result == STS_RESULT_MOTION)) //||(sts_reed_hall_result == STS_Status_Door_Close ))
|
||||
{
|
||||
//STS_Lamp_Bar_Set_STS_RGB_Color_FadeOut(STS_COLOR_DEFAULT_OCCUPY, luminance_level, LED_COUNT/2);
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color_FadeOut(sts_lamp_bar_color, luminance_level, LED_COUNT/2);
|
||||
} else //if ((sts_rss_result == STS_RESULT_NO_MOTION)||(sts_reed_hall_result == STS_Status_Door_Open )){
|
||||
{
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color_FadeIn(sts_lamp_bar_color, luminance_level, LED_COUNT/2);
|
||||
//STS_Lamp_Bar_Set_STS_RGB_Color_FadeIn(STS_COLOR_DEFAULT_VACANT, luminance_level, LED_COUNT/2);
|
||||
case COLOR_NORMAL:
|
||||
if (high4==0) {
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color(sts_lamp_bar_color, luminance_level);
|
||||
} else
|
||||
{
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color(r_b?high4:low4, luminance_level);
|
||||
r_b = !r_b;
|
||||
}
|
||||
break;
|
||||
case COLOR_BREATH:
|
||||
break;
|
||||
case COLOR_FADE_ALL:
|
||||
break;
|
||||
case COLOR_FADE_HALF:
|
||||
if ((sts_rss_result == STS_RESULT_MOTION)) //||(sts_reed_hall_result == STS_Status_Door_Close ))
|
||||
{
|
||||
//STS_Lamp_Bar_Set_STS_RGB_Color_FadeOut(STS_COLOR_DEFAULT_OCCUPY, luminance_level, LED_COUNT/2);
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color_FadeOut(sts_lamp_bar_color, luminance_level, LED_COUNT/2);
|
||||
} else //if ((sts_rss_result == STS_RESULT_NO_MOTION)||(sts_reed_hall_result == STS_Status_Door_Open )){
|
||||
{
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color_FadeIn(sts_lamp_bar_color, luminance_level, LED_COUNT/2);
|
||||
//STS_Lamp_Bar_Set_STS_RGB_Color_FadeIn(STS_COLOR_DEFAULT_VACANT, luminance_level, LED_COUNT/2);
|
||||
}
|
||||
break;
|
||||
case COLOR_WAVE:
|
||||
break;
|
||||
case COLOR_ROLLING:
|
||||
break;
|
||||
}
|
||||
#else
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color(sts_lamp_bar_color, luminance_level);
|
||||
#endif
|
||||
|
||||
} else
|
||||
{
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color(r_b?high4:low4, luminance_level);
|
||||
r_b = !r_b;
|
||||
}
|
||||
UTIL_TIMER_Start(&STSLampBarColorTimer);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -2109,7 +2115,8 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, uint8_t tlv_buf_size)
|
|||
|
||||
UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
|
||||
|
||||
|
||||
STS_Lamp_Bar_Set_STS_RGB_Color(STS_DARK,luminance_level);
|
||||
HAL_Delay(50);
|
||||
sts_lamp_bar_color = previous_lamp_bar_color;
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "\r\nRSS Measured Distance=[%u] mm \r\n", (uint16_t)sts_distance_rss_distance);
|
||||
|
||||
|
@ -3030,7 +3037,7 @@ void OnStoreSTSCFGContextRequest(void)
|
|||
/* USER CODE BEGIN OnStoreContextRequest_1 */
|
||||
|
||||
UTIL_MEM_cpy_8(nvm_stored_value,(void*)&sts_cfg_nvm, sizeof(sts_cfg_nvm));
|
||||
UTIL_MEM_cpy_8(nvm_stored_value + YUNHORN_STS_MAX_NVM_CFG_SIZE, (const void*)sts_cfg_nvm_factory_default, sizeof(sts_cfg_nvm_factory_default));
|
||||
UTIL_MEM_cpy_8(nvm_stored_value + 8*YUNHORN_STS_MAX_NVM_CFG_SIZE, (const void*)nvm_stored_value, 8*YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
|
||||
/* USER CODE END OnStoreContextRequest_1 */
|
||||
/* store nvm in flash */
|
||||
|
@ -3039,7 +3046,8 @@ void OnStoreSTSCFGContextRequest(void)
|
|||
{
|
||||
// final write once only
|
||||
|
||||
FLASH_IF_Write(STS_CONFIG_NVM_BASE_ADDRESS, (const void *)nvm_stored_value, sizeof(sts_cfg_nvm)+sizeof(sts_cfg_nvm_factory_default));
|
||||
//FLASH_IF_Write(STS_CONFIG_NVM_BASE_ADDRESS, (const void *)nvm_stored_value, sizeof(sts_cfg_nvm)+sizeof(sts_cfg_nvm_factory_default));
|
||||
FLASH_IF_Write(STS_CONFIG_NVM_BASE_ADDRESS, (const void *)nvm_stored_value, FLASH_PAGE_SIZE);
|
||||
}
|
||||
|
||||
/* USER CODE BEGIN OnStoreContextRequest_Last */
|
||||
|
@ -3055,10 +3063,10 @@ void OnRestoreSTSCFG_FactoryDefault_ContextRequest(void)
|
|||
APP_LOG(TS_OFF, VLEVEL_M, "Restore Factory Default NVM ********************** \r\n");
|
||||
|
||||
/* USER CODE END OnRestoreSTSCFGContextRequest_1 */
|
||||
FLASH_IF_Read((void*)sts_cfg_nvm_factory_default, (void*)STS_CONFIG_NVM_BASE_ADDRESS+YUNHORN_STS_MAX_NVM_CFG_SIZE, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
|
||||
UTIL_MEM_cpy_8((void*)nvm_stored_value, (void*)sts_cfg_nvm_factory_default, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
UTIL_MEM_cpy_8((void*)&nvm_stored_value+YUNHORN_STS_MAX_NVM_CFG_SIZE, (void*)sts_cfg_nvm_factory_default, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
//FLASH_IF_Read((void*)sts_cfg_nvm_factory_default, (void*)FLASH_MFG_DEFAULT_START_ADDR, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
FLASH_IF_Read((void*)nvm_stored_value, (void*)FLASH_MFG_DEFAULT_START_ADDR, 8*YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
//UTIL_MEM_cpy_8((void*)nvm_stored_value, (void*)sts_cfg_nvm_factory_default, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
UTIL_MEM_cpy_8((void*)&nvm_stored_value+8*YUNHORN_STS_MAX_NVM_CFG_SIZE, (void*)nvm_stored_value, 8*YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
|
||||
STS_Show_STS_CFG_NVM((uint8_t*)nvm_stored_value, sizeof(nvm_stored_value));
|
||||
|
||||
|
@ -3067,8 +3075,8 @@ void OnRestoreSTSCFG_FactoryDefault_ContextRequest(void)
|
|||
{
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "\r\n %%%%% write CFG to normal NVM \r\n");
|
||||
|
||||
FLASH_IF_Write(STS_CONFIG_NVM_BASE_ADDRESS, (const void *)nvm_stored_value, 2*YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
//FLASH_IF_Write(FLASH_MFG_DEFAULT_START_ADDR, (const void *)sts_cfg_nvm_factory_default, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
FLASH_IF_Write(STS_CONFIG_NVM_BASE_ADDRESS, (const void *)nvm_stored_value, FLASH_PAGE_SIZE);
|
||||
//FLASH_IF_Write(FLASH_MFG_DEFAULT_START_ADDR, (const void *)sts_cfg_nvm_factory_default, 2*YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
|
||||
//sts_cfg_nvm_factory_default[0] = 0xF3; // with valid ac code
|
||||
}
|
||||
|
@ -3101,7 +3109,7 @@ void STS_REBOOT_CONFIG_Init(void)
|
|||
|
||||
/* USER CODE END OnRestoreContextRequest_1 */
|
||||
//UTIL_MEM_cpy_8(nvm_stored_value, (void *)STS_CONFIG_NVM_BASE_ADDRESS, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
FLASH_IF_Read(nvm_stored_value, STS_CONFIG_NVM_BASE_ADDRESS, 2*YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
FLASH_IF_Read(nvm_stored_value, STS_CONFIG_NVM_BASE_ADDRESS, 8*YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
|
||||
STS_Show_STS_CFG_NVM((uint8_t*)nvm_stored_value, sizeof(nvm_stored_value));
|
||||
|
||||
|
@ -3111,14 +3119,14 @@ void STS_REBOOT_CONFIG_Init(void)
|
|||
if ((nvm_stored_value[NVM_MTM1] != sts_mtmcode1) || (nvm_stored_value[NVM_MTM2] != sts_mtmcode2) || (nvm_stored_value[NVM_VER] != sts_version))
|
||||
{
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "Initial Boot with Empty Config, Flash with default config....\r\n");
|
||||
UTIL_MEM_cpy_8(sts_cfg_nvm_factory_default, (void*)&sts_cfg_nvm, (sizeof(sts_cfg_nvm)));
|
||||
//UTIL_MEM_cpy_8(sts_cfg_nvm_factory_default, (void*)&sts_cfg_nvm, (sizeof(sts_cfg_nvm)));
|
||||
OnStoreSTSCFGContextRequest();
|
||||
//UTIL_MEM_set_8((void *)sts_ac_code, 0x00, YUNHORN_STS_AC_CODE_SIZE);
|
||||
HAL_Delay(1000);
|
||||
NVIC_SystemReset();
|
||||
} else
|
||||
{
|
||||
UTIL_MEM_cpy_8(sts_cfg_nvm_factory_default, nvm_stored_value+YUNHORN_STS_MAX_NVM_CFG_SIZE, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
//UTIL_MEM_cpy_8(sts_cfg_nvm_factory_default, nvm_stored_value+YUNHORN_STS_MAX_NVM_CFG_SIZE, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||
|
||||
sts_cfg_nvm.mtmcode1 = (uint8_t)nvm_stored_value[NVM_MTM1];
|
||||
sts_cfg_nvm.mtmcode2 = (uint8_t)nvm_stored_value[NVM_MTM2];
|
||||
|
@ -3137,12 +3145,12 @@ void STS_REBOOT_CONFIG_Init(void)
|
|||
for (uint8_t j=0; j< STS_O7_CFG_PCFG_SIZE; j++) { // P RSS CONFIG SIZE= 20U
|
||||
sts_cfg_nvm.p[j] = (uint8_t)nvm_stored_value[NVM_CFG_START+j];
|
||||
}
|
||||
sts_cfg_nvm.color_occupy_vacant =(uint8_t)nvm_stored_value[NVM_RESERVE02];
|
||||
sts_cfg_nvm.color_severity_l2_l3 =(uint8_t)nvm_stored_value[NVM_RESERVE03];
|
||||
sts_cfg_nvm.color_occupy_vacant =(uint8_t)nvm_stored_value[NVM_COLOR_OCCUPY_VACANT];
|
||||
sts_cfg_nvm.color_severity_l2_l3 =(uint8_t)nvm_stored_value[NVM_COLOR_SEVERITY];
|
||||
sts_cfg_nvm.sensor_install_height_in_10cm =(uint8_t)nvm_stored_value[NVM_SENSOR_INSTALL_HEIGHT];
|
||||
sts_cfg_nvm.alarm_parameter05 =(uint8_t)nvm_stored_value[NVM_ALARM_PARAMETER05];
|
||||
sts_cfg_nvm.color_effects =(uint8_t)nvm_stored_value[NVM_COLOR_EFFECTS];
|
||||
sts_cfg_nvm.alarm_mute_reset_timer_in_10sec = (uint8_t)nvm_stored_value[NVM_ALARM_MUTE_RESET_TIMER];
|
||||
sts_cfg_nvm.alarm_lamp_bar_flashing_color = (uint8_t)nvm_stored_value[NVM_ALARM_LAMP_BAR_FLASHING_COLOR];
|
||||
sts_cfg_nvm.reserved37 = (uint8_t)nvm_stored_value[NVM_RESERVED37];
|
||||
sts_cfg_nvm.occupancy_overtime_threshold_in_10min = (uint8_t)nvm_stored_value[NVM_OCCUPANCY_OVERTIME_THRESHOLD];
|
||||
sts_cfg_nvm.motionless_duration_threshold_in_min= (uint8_t)nvm_stored_value[NVM_MOTIONLESS_DURATION_THRESHOLD];
|
||||
sts_cfg_nvm.unconscious_or_motionless_level_threshold = (uint8_t)nvm_stored_value[NVM_UNCONSCIOUS_LEVEL_THRESHOLD];
|
||||
|
@ -3224,9 +3232,10 @@ void OnRestoreSTSCFGContextProcess(void)
|
|||
|
||||
sts_work_mode = sts_cfg_nvm.work_mode;
|
||||
sts_service_mask = sts_cfg_nvm.sts_service_mask;
|
||||
sts_lamp_bar_flashing_color = sts_cfg_nvm.alarm_lamp_bar_flashing_color;
|
||||
//sts_lamp_bar_flashing_color = sts_cfg_nvm.reserved37;
|
||||
sts_color_occupy_vacant = sts_cfg_nvm.color_occupy_vacant;
|
||||
sts_color_severity_l2_l3 = sts_cfg_nvm.color_severity_l2_l3;
|
||||
sts_lamp_bar_flashing_color = sts_color_severity_l2_l3;
|
||||
sts_lamp_bar_color = STS_COLOR_DEFAULT_VACANT;
|
||||
if (sts_work_mode == STS_UNI_MODE){
|
||||
sts_presence_fall_detection =TRUE;
|
||||
|
|
|
@ -155,7 +155,6 @@
|
|||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.2024044405" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="CORE_CM4"/>
|
||||
<listOptionValue builtIn="false" value="FADEOUT"/>
|
||||
<listOptionValue builtIn="false" value="ATAL"/>
|
||||
<listOptionValue builtIn="false" value="CLOCK_SYNC"/>
|
||||
<listOptionValue builtIn="false" value="RM2_1"/>
|
||||
<listOptionValue builtIn="false" value="STS_O6"/>
|
||||
|
|
Loading…
Reference in New Issue