fix p cmd full size, simple size parameter bug
This commit is contained in:
parent
2927574f0d
commit
c0dd7ed536
|
@ -255,8 +255,8 @@
|
|||
|
||||
#define STS_O7_NVM_CFG_SIZE 32U
|
||||
#define STS_O7_CFG_PCFG_SIZE 20U
|
||||
#define STS_O7_CFG_CMD_SIZE 30U
|
||||
#define STS_O7_CFG_CMD_SHORT_LEN 8U
|
||||
#define STS_O7_CFG_CMD_SIZE 33U
|
||||
#define STS_O7_CFG_CMD_SHORT_LEN 11U
|
||||
#define STS_MODE_COLOR_CMD_LEN 5U
|
||||
|
||||
#define sts_mtmcode1 0U
|
||||
|
|
|
@ -50,7 +50,9 @@ enum cfg_cmd_order{
|
|||
CFG_CMD7,
|
||||
CFG_CMD8,
|
||||
CFG_CMD9,
|
||||
CFG_CMD10
|
||||
CFG_CMD10, CFG_CMD11, CFG_CMD12, CFG_CMD13, CFG_CMD14,CFG_CMD15, CFG_CMD16, CFG_CMD17, CFG_CMD18, CFG_CMD19,
|
||||
CFG_CMD20, CFG_CMD21, CFG_CMD22, CFG_CMD23, CFG_CMD24,CFG_CMD25, CFG_CMD26, CFG_CMD27, CFG_CMD28, CFG_CMD29,
|
||||
CFG_CMD30, CFG_CMD31, CFG_CMD32, CFG_CMD33, CFG_CMD34,CFG_CMD35, CFG_CMD36, CFG_CMD37, CFG_CMD38, CFG_CMD39
|
||||
};
|
||||
enum p_cmd_order{
|
||||
P_CMD=0, //'P' //P_MTM_CODE, // #1
|
||||
|
|
|
@ -680,8 +680,10 @@ void STS_PRESENCE_SENSOR_NVM_CFG(void)
|
|||
sts_presence_rss_config.default_inter_frame_deviation_time_const = (float)(sts_cfg_nvm.p[RSS_CFG_ITE_DEVIATION]*0.1f);
|
||||
sts_presence_rss_config.default_inter_frame_fast_cutoff = (float)(sts_cfg_nvm.p[RSS_CFG_ITE_FAST_CUTOFF]);
|
||||
sts_presence_rss_config.default_inter_frame_slow_cutoff = (float)(sts_cfg_nvm.p[RSS_CFG_ITE_SLOW_CUTOFF]*0.01f);
|
||||
|
||||
sts_presence_rss_config.default_intra_frame_time_const = (float)(sts_cfg_nvm.p[RSS_CFG_ITR_TIME]);
|
||||
sts_presence_rss_config.default_intra_frame_weight = (float)(sts_cfg_nvm.p[RSS_CFG_ITR_WEIGHT]*0.1f);
|
||||
|
||||
sts_presence_rss_config.default_output_time_const = (float)(sts_cfg_nvm.p[RSS_CFG_OUTPUT_TIME]*0.1f);
|
||||
//filter parameter
|
||||
|
||||
|
|
|
@ -1445,7 +1445,7 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
|
|||
//UTIL_TIMER_Start(&STSDurationCheckTimer);
|
||||
OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity);
|
||||
|
||||
UTIL_TIMER_Create(&YunhornSTSRSSWakeUpTimer, YUNHORN_STS_RSS_WAKEUP_CHECK_TIME, UTIL_TIMER_ONESHOT, OnYunhornSTSOORSSWakeUpTimerEvent, NULL);
|
||||
UTIL_TIMER_Create(&YunhornSTSRSSWakeUpTimer, YUNHORN_STS_RSS_WAKEUP_CHECK_TIME, UTIL_TIMER_PERIODIC, OnYunhornSTSOORSSWakeUpTimerEvent, NULL);
|
||||
UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
|
||||
|
||||
STS_SENSOR_Distance_Test_Process();
|
||||
|
@ -1712,8 +1712,9 @@ static void OnYunhornSTSOORSSWakeUpTimerEvent(void *context)
|
|||
if ((STS_LoRa_WAN_Joined != 0)&&(sts_rss_result_changed_flag==1))
|
||||
{
|
||||
sts_rss_result_changed_flag = 0;
|
||||
APP_LOG(TS_OFF,VLEVEL_M,"\r\n Wakeup Timer ======== Send Tx Result=\r\n");
|
||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||
APP_LOG(TS_OFF,VLEVEL_M,"\r\n Wakeup Timer ======== Send Tx Result\r\n");
|
||||
SendTxData();
|
||||
//UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||
//if ((last_sts_rss_result ==STS_RESULT_NO_MOTION)&& (sts_rss_result==STS_RESULT_MOTION))
|
||||
{
|
||||
//OnSensor3StateChanged();
|
||||
|
@ -1722,7 +1723,7 @@ static void OnYunhornSTSOORSSWakeUpTimerEvent(void *context)
|
|||
|
||||
}
|
||||
|
||||
UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
|
||||
//UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
|
||||
|
||||
}
|
||||
|
||||
|
@ -2488,22 +2489,48 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, uint8_t tlv_buf_size)
|
|||
invalid_flag = 1;
|
||||
}
|
||||
|
||||
} else if (tlv_buf_size >= CFG_CMD_RSS_FULL_SIZE)
|
||||
} else if (tlv_buf_size == CFG_CMD_RSS_FULL_SIZE)
|
||||
{
|
||||
invalid_flag = 0;
|
||||
|
||||
for (j =0; j < CFG_CMD_RSS_FULL_SIZE; j++)
|
||||
for (j =0; j < CFG_CMD_RSS_FULL_SIZE-3; j++)
|
||||
{
|
||||
if ((tlv_buf[CFG_CMD4+j] >='0') && (tlv_buf[CFG_CMD4+j]<='9'))
|
||||
{
|
||||
sts_cfg_nvm.p[j] = (uint8_t)((tlv_buf[CFG_CMD4+j] - 0x30)&0xFF);
|
||||
//sts_cfg_nvm.p[j] = (uint8_t)((tlv_buf[CFG_CMD4+j] - 0x30)&0xFF);
|
||||
//APP_LOG(TS_OFF,VLEVEL_H,"\r\n tlv_buf %d = %02x cfg->p[%d]=%02x \r\n",j,tlv_buf[CFG_CMD4+j], j, sts_cfg_nvm.p[j]);
|
||||
} else {
|
||||
invalid_flag = 1;
|
||||
}
|
||||
}
|
||||
i=0;
|
||||
sts_cfg_nvm.p[RSS_CFG_START_M] = (uint8_t)((tlv_buf[CFG_CMD4] - 0x30)*10+(tlv_buf[CFG_CMD5] - 0x30));
|
||||
sts_cfg_nvm.p[RSS_CFG_LENGTH_M] = (uint8_t)((tlv_buf[CFG_CMD6] - 0x30)*10+(tlv_buf[CFG_CMD7] - 0x30));
|
||||
sts_cfg_nvm.p[RSS_CFG_THRESHOLD] = (uint8_t)((tlv_buf[CFG_CMD8] - 0x30)*10+(tlv_buf[CFG_CMD9] - 0x30));
|
||||
sts_cfg_nvm.p[RSS_CFG_RECEIVER_GAIN] = (uint8_t)((tlv_buf[CFG_CMD10]- 0x30)*10+(tlv_buf[CFG_CMD11]- 0x30));
|
||||
|
||||
if (invalid_flag != 1)
|
||||
sts_cfg_nvm.p[RSS_CFG_PROFILE] = (uint8_t)((tlv_buf[CFG_CMD12]- 0x30));
|
||||
sts_cfg_nvm.p[RSS_CFG_RATE_TRACKING] = (uint8_t)((tlv_buf[CFG_CMD13]- 0x30)*10+(tlv_buf[CFG_CMD14]- 0x30));
|
||||
sts_cfg_nvm.p[RSS_CFG_RATE_PRESENCE] = (uint8_t)((tlv_buf[CFG_CMD15]- 0x30)*10+(tlv_buf[CFG_CMD16]- 0x30));
|
||||
sts_cfg_nvm.p[RSS_CFG_HWAAS] = (uint8_t)((tlv_buf[CFG_CMD17]- 0x30)*10+(tlv_buf[CFG_CMD18]- 0x30));
|
||||
|
||||
sts_cfg_nvm.p[RSS_CFG_NBR_REMOVED_PC] = (uint8_t)((tlv_buf[CFG_CMD19]- 0x30));
|
||||
|
||||
sts_cfg_nvm.p[RSS_CFG_ITE_DEVIATION] = (uint8_t)((tlv_buf[CFG_CMD20]- 0x30)*10+(tlv_buf[CFG_CMD21]- 0x30));
|
||||
sts_cfg_nvm.p[RSS_CFG_ITE_FAST_CUTOFF] = (uint8_t)((tlv_buf[CFG_CMD22]- 0x30)*10+(tlv_buf[CFG_CMD23]- 0x30));
|
||||
sts_cfg_nvm.p[RSS_CFG_ITE_SLOW_CUTOFF] = (uint8_t)((tlv_buf[CFG_CMD24]- 0x30)*10+(tlv_buf[CFG_CMD25]- 0x30));
|
||||
|
||||
sts_cfg_nvm.p[RSS_CFG_ITR_TIME] = (uint8_t)((tlv_buf[CFG_CMD26]- 0x30)*10+(tlv_buf[CFG_CMD27]- 0x30));
|
||||
sts_cfg_nvm.p[RSS_CFG_ITR_WEIGHT] = (uint8_t)((tlv_buf[CFG_CMD28]- 0x30)*10+(tlv_buf[CFG_CMD29]- 0x30));
|
||||
|
||||
sts_cfg_nvm.p[RSS_CFG_OUTPUT_TIME] = (uint8_t)((tlv_buf[CFG_CMD30]- 0x30)*10+(tlv_buf[CFG_CMD31]- 0x30));
|
||||
|
||||
sts_cfg_nvm.p[RSS_CFG_DOWNSAMPLING_FACTOR] = (uint8_t)((tlv_buf[CFG_CMD32]- 0x30));
|
||||
sts_cfg_nvm.p[RSS_CFG_POWER_MODE] = (uint8_t)((tlv_buf[CFG_CMD33]- 0x30));
|
||||
|
||||
|
||||
|
||||
if (invalid_flag == 0)
|
||||
{
|
||||
STS_PRESENCE_SENSOR_NVM_CFG();
|
||||
|
||||
|
@ -2520,28 +2547,33 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, uint8_t tlv_buf_size)
|
|||
sts_cfg_nvm.hardware_ver = sts_hardware_ver;
|
||||
sts_cfg_nvm.work_mode = sts_work_mode;
|
||||
sts_cfg_nvm.sts_service_mask = sts_service_mask;
|
||||
sts_cfg_nvm.length = CFG_CMD_RSS_FULL_SIZE;
|
||||
//sts_cfg_nvm.length = CFG_CMD_RSS_FULL_SIZE;
|
||||
|
||||
OnStoreSTSCFGContextRequest();
|
||||
}
|
||||
|
||||
} else if (tlv_buf_size >= CFG_CMD_RSS_SIMPLE_SIZE)
|
||||
} else if (tlv_buf_size == CFG_CMD_RSS_SIMPLE_SIZE)
|
||||
{
|
||||
//Validation check
|
||||
invalid_flag = 0;
|
||||
|
||||
for (j =0; j < CFG_CMD_RSS_SIMPLE_SIZE; j++)
|
||||
#if 1
|
||||
for (j =0; j < CFG_CMD_RSS_SIMPLE_SIZE-3; j++)
|
||||
{
|
||||
if ((tlv_buf[CFG_CMD4+j] >='0') && (tlv_buf[CFG_CMD4+j]<='9'))
|
||||
{
|
||||
sts_cfg_nvm.p[j] = (uint8_t)((tlv_buf[CFG_CMD4+j] - 0x30)&0xff);
|
||||
//sts_cfg_nvm.p[j] = (uint8_t)((tlv_buf[CFG_CMD4+j] - 0x30)&0xff);
|
||||
//APP_LOG(TS_OFF,VLEVEL_H,"\r\n tlv_buf %d = %02x cfg->p[%d]=%02x \r\n",j,tlv_buf[CFG_CMD4+j], j, sts_cfg_nvm.p[j]);
|
||||
} else {
|
||||
invalid_flag = 1;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
sts_cfg_nvm.p[RSS_CFG_START_M] = (uint8_t)((tlv_buf[CFG_CMD4] - 0x30)*10+(tlv_buf[CFG_CMD5] - 0x30));
|
||||
sts_cfg_nvm.p[RSS_CFG_LENGTH_M] = (uint8_t)((tlv_buf[CFG_CMD6] - 0x30)*10+(tlv_buf[CFG_CMD7] - 0x30));
|
||||
sts_cfg_nvm.p[RSS_CFG_THRESHOLD] = (uint8_t)((tlv_buf[CFG_CMD8] - 0x30)*10+(tlv_buf[CFG_CMD9] - 0x30));
|
||||
sts_cfg_nvm.p[RSS_CFG_RECEIVER_GAIN] = (uint8_t)((tlv_buf[CFG_CMD10]- 0x30)*10+(tlv_buf[CFG_CMD11]- 0x30));
|
||||
|
||||
if (invalid_flag != 1)
|
||||
if (invalid_flag == 0)
|
||||
{
|
||||
STS_PRESENCE_SENSOR_NVM_CFG_SIMPLE();
|
||||
|
||||
|
@ -2549,7 +2581,7 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, uint8_t tlv_buf_size)
|
|||
UTIL_MEM_set_8((void*)outbuf, 0x0, sizeof(outbuf));
|
||||
UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size);
|
||||
i = tlv_buf_size;
|
||||
APP_LOG(TS_OFF, VLEVEL_L, "###### RSS Simple CFG=%s\r\n",(char*)outbuf);
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "###### RSS Simple CFG=%s\r\n",(char*)outbuf);
|
||||
|
||||
// Step 2: Save valid config to NVM
|
||||
sts_cfg_nvm.mtmcode1 = sts_mtmcode1;
|
||||
|
@ -2558,7 +2590,7 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, uint8_t tlv_buf_size)
|
|||
sts_cfg_nvm.hardware_ver = sts_hardware_ver;
|
||||
sts_cfg_nvm.work_mode = sts_work_mode;
|
||||
sts_cfg_nvm.sts_service_mask = sts_service_mask;
|
||||
sts_cfg_nvm.length = CFG_CMD_RSS_SIMPLE_SIZE;
|
||||
//sts_cfg_nvm.length = CFG_CMD_RSS_SIMPLE_SIZE;
|
||||
|
||||
OnStoreSTSCFGContextRequest();
|
||||
}
|
||||
|
@ -2913,7 +2945,7 @@ void OnRestoreSTSCFGContextProcess(void)
|
|||
// if ((sts_version == sts_cfg_nvm.version)&& (NVM_CFG_PARAMETER_SIZE == sts_cfg_nvm.length))
|
||||
{
|
||||
STS_PRESENCE_SENSOR_Init();
|
||||
//STS_PRESENCE_SENSOR_RSS_Init();
|
||||
STS_PRESENCE_SENSOR_RSS_Init();
|
||||
}
|
||||
#endif
|
||||
//STS_SENSOR_Distance_Test_Process();
|
||||
|
|
Loading…
Reference in New Issue