---- good heart beat, yet rss unstable for distance detector

This commit is contained in:
Yunhorn 2024-08-01 19:47:41 +08:00
parent aa4214983d
commit 1fe94926e5
10 changed files with 140 additions and 96 deletions

View File

@ -34,6 +34,10 @@ extern "C" {
#define STS_Status_Door_Open (1) //Normal Close NC:Close **2024-07-15 changed #define STS_Status_Door_Open (1) //Normal Close NC:Close **2024-07-15 changed
#define STS_Status_SOS_Pushdown (0) //Normal Open NO:Open #define STS_Status_SOS_Pushdown (0) //Normal Open NO:Open
#define STS_Status_SOS_Release (1) //Normal Open NO:Close #define STS_Status_SOS_Release (1) //Normal Open NO:Close
#define STS_Status_Alarm_Mute_Pushdown (0) //Normal Open NO:Open
#define STS_Status_Alarm_Mute_Release (1) //Normal Open NO:Close#
#define STS_Status_Alarm_Reset_Pushdown (0) //Normal Open NO:Open
#define STS_Status_Alarm_Reset_Release (1) //Normal Open NO:Close#
enum sts_lamp_color { enum sts_lamp_color {
STS_DARK = 0, //灭0, Code 0x00 STS_DARK = 0, //灭0, Code 0x00

View File

@ -238,8 +238,8 @@
#define IS_STS_RS485_OUTPUT_ENABLE STS_IOC_OUT_1 #define IS_STS_RS485_OUTPUT_ENABLE STS_IOC_OUT_1
#define MajorVer 24U #define MajorVer 24U
#define MinorVer 07U #define MinorVer 8U
#define SubMinorVer 30U #define SubMinorVer 1U
#define FirmwareVersion 3U #define FirmwareVersion 3U
#define YUNHORN_STS_MAX_NVM_CFG_SIZE 64U #define YUNHORN_STS_MAX_NVM_CFG_SIZE 64U
@ -429,8 +429,8 @@
* Address range 0800 0000H - 0803 FFFFH Size: 0x0004 0000 * Address range 0800 0000H - 0803 FFFFH Size: 0x0004 0000
*/ */
#define FLASH_USER_START_ADDR ((void *) 0x0803F800U) // Last 2kB of flash #define FLASH_USER_START_ADDR ((void *) 0x0803F800UL) // Last 2kB of flash
#define FLASH_USER_CONFIG_SIZE ((void *) 0x000007FFU) //0x400=1KB=1024 #define FLASH_USER_CONFIG_SIZE ((void *) 0x000007FFUL) //0x400=1KB=1024
#define FLASH_USER_END_ADDR (FLASH_USER_START_ADDR + FLASH_USER_CONFIG - 1) #define FLASH_USER_END_ADDR (FLASH_USER_START_ADDR + FLASH_USER_CONFIG - 1)
/* 2KB = 2048 = 0x800 End @ of user Flash area */ /* 2KB = 2048 = 0x800 End @ of user Flash area */

View File

@ -166,7 +166,8 @@ typedef struct STS_OO_SensorStatusDataTypeDef
uint8_t state_sensor1_on_off; /* reedswitch or hall element 0: open, 1: closed */ uint8_t state_sensor1_on_off; /* reedswitch or hall element 0: open, 1: closed */
uint8_t state_sensor2_on_off; /* reedswitch or hall element 0: open, 1: closed */ uint8_t state_sensor2_on_off; /* reedswitch or hall element 0: open, 1: closed */
uint8_t state_sensor3_on_off; /* motion RSS, pcr_sensor_on_off; 1: occupancy, 0: no occupancy */ uint8_t state_sensor3_on_off; /* motion RSS, pcr_sensor_on_off; 1: occupancy, 0: no occupancy */
uint8_t state_sensor4_on_off; /* reserved_sensor_on_off sensor state */ uint8_t state_sensor4_on_off; /* alarm mute button_on_off sensor state */
uint8_t state_sensor5_on_off; /* alarm reset button_on_off sensor state */
uint16_t rss_presence_distance; // in mm uint16_t rss_presence_distance; // in mm
uint8_t rss_presence_zone[10]; uint8_t rss_presence_zone[10];
uint8_t rss_presence_zone_count[10]; uint8_t rss_presence_zone_count[10];
@ -217,11 +218,21 @@ typedef struct STS_OO_SensorStatusDataTypeDef
uint32_t event_sensor3_unconcious_duration; uint32_t event_sensor3_unconcious_duration;
uint32_t event_sensor4_start_time; /* reserved */ uint32_t event_sensor4_start_time; /* reserved */
uint32_t event_sensor4_start_timestamp;
uint32_t event_sensor4_stop_time; uint32_t event_sensor4_stop_time;
uint32_t event_sensor4_stop_timestamp;
uint32_t event_sensor4_duration; uint32_t event_sensor4_duration;
uint8_t alarm_indictor_mute_state; uint8_t alarm_indictor_mute_state;
uint32_t event_sensor5_start_time; /* reserved */
uint32_t event_sensor5_stop_time;
uint32_t event_sensor5_start_timestamp;
uint32_t event_sensor5_stop_timestamp;
uint32_t event_sensor5_duration;
uint8_t alarm_indictor_reset_state; uint8_t alarm_indictor_reset_state;
} STS_OO_SensorStatusDataTypeDef; } STS_OO_SensorStatusDataTypeDef;
//#endif //#endif
@ -654,7 +665,7 @@ void OnStoreSTSCFGContextRequest(void);
/** /**
* @brief Read config from flash * @brief Read config from flash
*/ */
void OnRestoreSTSCFGContextRequest(uint8_t *cfg_in_nvm); void OnRestoreSTSCFGContextRequest(void *cfg_in_nvm);
void STS_REBOOT_CONFIG_Init(void); void STS_REBOOT_CONFIG_Init(void);
@ -734,7 +745,7 @@ void STS_MOTION_SENSOR_Enable_Wake_Up_Detection(void);
void STS_MOTION_SENSOR_Initialization(void); void STS_MOTION_SENSOR_Initialization(void);
*/ */
void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size); void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, uint8_t tlv_buf_size);
void STS_SENSOR_Function_Test_Process(void); void STS_SENSOR_Function_Test_Process(void);
void STS_SENSOR_Distance_Test_Process(void); void STS_SENSOR_Distance_Test_Process(void);
void STS_PRESENCE_SENSOR_Function_Test_Process(uint8_t *self_test_result, uint8_t count); void STS_PRESENCE_SENSOR_Function_Test_Process(uint8_t *self_test_result, uint8_t count);

View File

@ -25,16 +25,10 @@
#include "usart.h" #include "usart.h"
/* Private includes ----------------------------------------------------------*/ /* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */ /* USER CODE BEGIN Includes */
#include "yunhorn_sts_sensors.h"
#include "sts_cmox_hmac_sha.h"
#include "spi.h" #include "spi.h"
#include "dma.h" #include "dma.h"
#include "tim.h" #include "tim.h"
#include "sts_lamp_bar.h"
#include "sys_app.h" #include "sys_app.h"
#include "acc_hal_integration.h"
#include "acc_detector_presence.h"
/* USER CODE END Includes */ /* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/ /* Private typedef -----------------------------------------------------------*/
@ -104,7 +98,6 @@ int main(void)
/* USER CODE BEGIN 2 */ /* USER CODE BEGIN 2 */
/* USER CODE END 2 */ /* USER CODE END 2 */
/* Infinite loop */ /* Infinite loop */

View File

@ -63,7 +63,7 @@ extern volatile uint8_t sts_occupancy_status;
extern volatile uint8_t sts_reed_hall_result, sts_emergency_button_pushed; // inital 0 = close extern volatile uint8_t sts_reed_hall_result, sts_emergency_button_pushed; // inital 0 = close
volatile uint8_t sts_hall1_read=STS_Status_Door_Open,sts_hall2_read=STS_Status_SOS_Release; // Above hall1_read == reed_hall_result, hall2_read == emergency_button volatile uint8_t sts_hall1_read=STS_Status_Door_Open,sts_hall2_read=STS_Status_SOS_Release; // Above hall1_read == reed_hall_result, hall2_read == emergency_button
volatile uint8_t sts_hall3_read=STS_Status_Door_Open,sts_hall4_read=STS_Status_SOS_Release; volatile uint8_t sts_hall3_read=STS_Status_Alarm_Mute_Release,sts_hall4_read=STS_Status_Alarm_Reset_Release;
extern volatile uint8_t sts_reed_hall_1_result, sts_reed_hall_2_result; extern volatile uint8_t sts_reed_hall_1_result, sts_reed_hall_2_result;
extern volatile uint8_t sts_tof_result_changed_flag; extern volatile uint8_t sts_tof_result_changed_flag;

View File

@ -118,16 +118,11 @@ void SystemApp_Init(void)
/*Initialize the Sensors */ /*Initialize the Sensors */
EnvSensors_Init(); EnvSensors_Init();
// LED1 Flash 3 times for normal power on // LED1 Flash 3 times for normal power on
LED1_TOGGLE; LED1_TOGGLE; HAL_Delay(500);
HAL_Delay(500); LED1_TOGGLE; HAL_Delay(500);
LED1_TOGGLE; LED1_TOGGLE; HAL_Delay(500);
HAL_Delay(500); LED1_TOGGLE; HAL_Delay(500);
LED1_TOGGLE; LED1_TOGGLE; HAL_Delay(500);
HAL_Delay(500);
LED1_TOGGLE;
HAL_Delay(500);
LED1_TOGGLE;
HAL_Delay(500);
LED1_TOGGLE; LED1_TOGGLE;
/*Init low power manager*/ /*Init low power manager*/
UTIL_LPM_Init(); UTIL_LPM_Init();

View File

@ -53,8 +53,8 @@
#endif #endif
//volatile distance_measure_cfg_t distance_cfg={1.5, 2.0, 1, 63, 2, 10, 0.5, 1.3, 0.2}; //volatile distance_measure_cfg_t distance_cfg={1.5, 2.0, 1, 63, 2, 10, 0.5, 1.3, 0.2};
volatile distance_measure_cfg_t distance_cfg={1.5, 2.0, 2, 63, 2, 10, 0.5, 1.3, 0.2}; //volatile distance_measure_cfg_t distance_cfg={1.5, 2.0, 2, 63, 2, 10, 0.5, 1.3, 0.2};
//volatile distance_measure_cfg_t distance_cfg={1.5, 3.3, 2, 63, 4, 10, 0.8182f, 0.4, 0.2}; volatile distance_measure_cfg_t distance_cfg={1.5, 3.3, 2, 63, 4, 10, 0.8182f, 0.4, 0.2};
extern float sts_distance_rss_distance, sts_sensor_install_height; extern float sts_distance_rss_distance, sts_sensor_install_height;
static void sts_distance_rss_update_configuration(acc_detector_distance_configuration_t distance_configuration); static void sts_distance_rss_update_configuration(acc_detector_distance_configuration_t distance_configuration);

View File

@ -63,7 +63,7 @@ volatile uint8_t sts_soap_level_state;
// RSS motion and distance // RSS motion and distance
volatile STS_OO_SensorStatusDataTypeDef sts_o7_sensorData; volatile STS_OO_SensorStatusDataTypeDef sts_o7_sensorData;
volatile float sts_distance_rss_distance, sts_sensor_install_height=0;//in mm volatile float sts_distance_rss_distance=0, sts_sensor_install_height=0;//in mm
extern volatile float sts_presence_rss_distance, sts_presence_rss_score; extern volatile float sts_presence_rss_distance, sts_presence_rss_score;
volatile uint8_t sts_rss_config_updated_flag = 0; volatile uint8_t sts_rss_config_updated_flag = 0;
extern volatile uint8_t sts_occupancy_overtime_state; extern volatile uint8_t sts_occupancy_overtime_state;
@ -226,16 +226,16 @@ void STS_YunhornSTSEventRFAC_Process(void)
void STS_YunhornSTSEventP1_Process(void) void STS_YunhornSTSEventP1_Process(void)
{ {
sts_reed_hall_1_result = HALL1_STATE; //sts_hall1_read; sts_reed_hall_1_result = sts_hall1_read;//HALL1_STATE; //sts_hall1_read;
last_sts_reed_hall_1_result = sts_reed_hall_1_result; last_sts_reed_hall_1_result = sts_reed_hall_1_result;
sts_reed_hall_2_result = HALL2_STATE;// sts_hall2_read; sts_reed_hall_2_result = sts_hall2_read;//HALL2_STATE;// sts_hall2_read;
last_sts_reed_hall_2_result = sts_reed_hall_2_result; last_sts_reed_hall_2_result = sts_reed_hall_2_result;
sts_reed_hall_3_result = HALL3_STATE;// sts_hall3_read; sts_reed_hall_3_result = sts_hall3_read;//HALL3_STATE;// sts_hall3_read;
last_sts_reed_hall_3_result = sts_reed_hall_3_result; last_sts_reed_hall_3_result = sts_reed_hall_3_result;
sts_reed_hall_4_result = HALL4_STATE;// sts_hall3_read; sts_reed_hall_4_result = sts_hall4_read;//HALL4_STATE;// sts_hall3_read;
last_sts_reed_hall_4_result = sts_reed_hall_4_result; last_sts_reed_hall_4_result = sts_reed_hall_4_result;
STS_Combined_Status_Processing(); STS_Combined_Status_Processing();
@ -501,11 +501,13 @@ void STS_Combined_Status_Processing(void)
break; break;
case STS_UNI_MODE: //FOR STS-O7 case STS_UNI_MODE: //FOR STS-O7
if ((sts_rss_result == STS_RESULT_NO_MOTION) && (sts_reed_hall_1_result == STS_Status_Door_Open )&& (sts_reed_hall_2_result == STS_Status_SOS_Release )) if ((sts_rss_result == STS_RESULT_NO_MOTION) && (sts_reed_hall_1_result == STS_Status_Door_Open )&& (sts_reed_hall_2_result == STS_Status_SOS_Release )
&& (sts_reed_hall_3_result == STS_Status_Alarm_Mute_Release )&& (sts_reed_hall_4_result == STS_Status_Alarm_Reset_Release ))
{ {
sts_status_color = STS_GREEN; sts_status_color = STS_GREEN;
} else if ((sts_rss_result == STS_RESULT_MOTION) || (sts_reed_hall_1_result == STS_Status_Door_Close )||(sts_reed_hall_2_result == STS_Status_SOS_Pushdown )) } else if ((sts_rss_result == STS_RESULT_MOTION) || (sts_reed_hall_1_result == STS_Status_Door_Close )||(sts_reed_hall_2_result == STS_Status_SOS_Pushdown )
|| (sts_reed_hall_3_result == STS_Status_Alarm_Mute_Pushdown )|| (sts_reed_hall_4_result == STS_Status_Alarm_Reset_Pushdown ))
{ {
sts_status_color = STS_RED; sts_status_color = STS_RED;
@ -860,8 +862,8 @@ void STS_PRESENCE_SENSOR_Init(void)
sts_o7_sensorData.unconscious_state = 0; sts_o7_sensorData.unconscious_state = 0;
sts_o7_sensorData.unconscious_duration = 0; sts_o7_sensorData.unconscious_duration = 0;
PME_ON; //PME_ON;
STS_PRESENCE_SENSOR_REEDSWITCH_HALL_Init(); //STS_PRESENCE_SENSOR_REEDSWITCH_HALL_Init();
//STS_PRESENCE_SENSOR_TOF_Init(); //STS_PRESENCE_SENSOR_TOF_Init();
//HAL_Delay(2000); //HAL_Delay(2000);
//STS_PRESENCE_SENSOR_Distance_Measure_Process(); //STS_PRESENCE_SENSOR_Distance_Measure_Process();
@ -885,17 +887,23 @@ void STS_PRESENCE_SENSOR_RSS_Init(void)
APP_LOG(TS_ON, VLEVEL_H, "##### YunHorn SmarToilets(r) MEMS RSS Initializing \r\n"); APP_LOG(TS_ON, VLEVEL_H, "##### YunHorn SmarToilets(r) MEMS RSS Initializing \r\n");
PME_ON; PME_ON;
APP_LOG(TS_ON, VLEVEL_H, "##### STS RSS Init step 1 :rss distance =%u height=%u\r\n",sts_distance_rss_distance,sts_sensor_install_height);
if ((sts_distance_rss_distance==0)&&(sts_sensor_install_height==0)) //if ((sts_distance_rss_distance==0)&&(sts_sensor_install_height==0))
{ {
uint8_t exit_status =0; uint8_t exit_status =0;
do {
APP_LOG(TS_ON, VLEVEL_H, "##### STS RSS Init step 2 \r\n");
exit_status=sts_distance_rss_detector_distance(); exit_status=sts_distance_rss_detector_distance();
APP_LOG(TS_ON, VLEVEL_H, "##### STS RSS Init step 2 return =%u \r\n", exit_status);
if (exit_status ==0) { if (exit_status ==0) {
APP_LOG(TS_ON, VLEVEL_M, "##### RSS Installation Height =%u \r\n", (uint16_t)sts_distance_rss_distance); APP_LOG(TS_ON, VLEVEL_H, "##### RSS Installation Height =%u \r\n", (uint16_t)sts_distance_rss_distance);
} }
else { else {
APP_LOG(TS_ON, VLEVEL_M, "##### RSS Installation Height Error \r\n"); APP_LOG(TS_ON, VLEVEL_H, "##### RSS Installation Height Error \r\n");
HAL_Delay(100);
} }
} while((exit_status));
sts_sensor_install_height=sts_distance_rss_distance; sts_sensor_install_height=sts_distance_rss_distance;
} }
@ -1219,6 +1227,25 @@ void OnSensor3StateChanged(void)
else else
sts_o7_sensorData.event_sensor4_stop_time = sensor_event_time.Seconds; sts_o7_sensorData.event_sensor4_stop_time = sensor_event_time.Seconds;
#endif #endif
SysTime_t sensor_event_time = SysTimeGetMcuTime();
uint32_t time_stamp=STS_Get_Date_Time_Stamp();
if (sts_hall3_read==STS_Status_Alarm_Mute_Pushdown)
{
sts_o7_sensorData.event_sensor4_start_time = sensor_event_time.Seconds;
sts_o7_sensorData.event_sensor4_start_timestamp = time_stamp;
sts_o7_sensorData.event_sensor4_stop_time = 0;
sts_o7_sensorData.event_sensor4_duration = 0;
APP_LOG(TS_OFF, VLEVEL_L, "Alarm Mute PushDown ---Timer start: %u\r\n",sts_o7_sensorData.event_sensor4_start_time );
}else if (sts_hall3_read==STS_Status_Alarm_Mute_Release)
{
sts_o7_sensorData.event_sensor4_start_time = 0;
sts_o7_sensorData.event_sensor4_start_timestamp = 0;
sts_o7_sensorData.event_sensor4_stop_time = sensor_event_time.Seconds;
sts_o7_sensorData.event_sensor4_stop_timestamp = time_stamp;
//sts_o7_sensorData.over_stay_state = 0;
//sts_o7_sensorData.event_sensor2_duration = 0;
}
} }
void OnSensor4StateChanged(void) void OnSensor4StateChanged(void)
@ -1232,6 +1259,25 @@ void OnSensor4StateChanged(void)
else else
sts_o7_sensorData.event_sensor4_stop_time = sensor_event_time.Seconds; sts_o7_sensorData.event_sensor4_stop_time = sensor_event_time.Seconds;
#endif #endif
SysTime_t sensor_event_time = SysTimeGetMcuTime();
uint32_t time_stamp=STS_Get_Date_Time_Stamp();
if (sts_hall4_read==STS_Status_Alarm_Mute_Pushdown)
{
sts_o7_sensorData.event_sensor5_start_time = sensor_event_time.Seconds;
sts_o7_sensorData.event_sensor5_start_timestamp = time_stamp;
sts_o7_sensorData.event_sensor5_stop_time = 0;
sts_o7_sensorData.event_sensor5_duration = 0;
APP_LOG(TS_OFF, VLEVEL_L, "Alarm RESET PushDown ---Timer start: %u\r\n",sts_o7_sensorData.event_sensor5_start_time );
}else if (sts_hall4_read==STS_Status_Alarm_Mute_Release)
{
sts_o7_sensorData.event_sensor5_start_time = 0;
sts_o7_sensorData.event_sensor5_start_timestamp = 0;
sts_o7_sensorData.event_sensor5_stop_time = sensor_event_time.Seconds;
sts_o7_sensorData.event_sensor5_stop_timestamp = time_stamp;
//sts_o7_sensorData.over_stay_state = 0;
//sts_o7_sensorData.event_sensor2_duration = 0;
}
} }

View File

@ -70,7 +70,7 @@ void MX_LoRaWAN_Init(void)
SystemApp_Init(); SystemApp_Init();
/* USER CODE BEGIN MX_LoRaWAN_Init_2 */ /* USER CODE BEGIN MX_LoRaWAN_Init_2 */
//STS_Lamp_Bar_Self_Test_Simple(); //STS_Lamp_Bar_Self_Test_Simple();
STS_Lamp_Bar_Self_Test(); //STS_Lamp_Bar_Self_Test();
/* USER CODE END MX_LoRaWAN_Init_2 */ /* USER CODE END MX_LoRaWAN_Init_2 */
LoRaWAN_Init(); LoRaWAN_Init();
/* USER CODE BEGIN MX_LoRaWAN_Init_3 */ /* USER CODE BEGIN MX_LoRaWAN_Init_3 */

View File

@ -75,7 +75,7 @@ extern volatile uint32_t event_start_time, event_stop_time;
extern volatile uint16_t sts_unconscious_threshold; extern volatile uint16_t sts_unconscious_threshold;
volatile uint8_t sts_occupancy_overtime_state = 0; volatile uint8_t sts_occupancy_overtime_state = 0;
volatile uint8_t sts_presence_fall_detection=TRUE; volatile uint8_t sts_presence_fall_detection=TRUE;
volatile uint32_t SamplingPeriodicity = 1000; //unit ms volatile uint32_t SamplingPeriodicity = 3000; //unit ms
volatile uint32_t HeartBeatPeriodicity = 120000; //unit ms volatile uint32_t HeartBeatPeriodicity = 120000; //unit ms
volatile uint8_t STS_LoRa_WAN_Joined = 0; volatile uint8_t STS_LoRa_WAN_Joined = 0;
@ -83,7 +83,7 @@ volatile uint8_t upload_message_timer=0;
volatile uint8_t heart_beat_timer =0; volatile uint8_t heart_beat_timer =0;
volatile uint32_t wcnt=0; volatile uint32_t wcnt=0;
volatile bool p2_work_finished=true; volatile bool p2_work_finished=true;
uint8_t outbuf[128]={0x0}; uint8_t outbuf[255]={0x0};
volatile static bool r_b=true; volatile static bool r_b=true;
volatile sts_cfg_nvm_t sts_cfg_nvm = { volatile sts_cfg_nvm_t sts_cfg_nvm = {
sts_mtmcode1, sts_mtmcode1,
@ -222,7 +222,7 @@ typedef enum TxEventType_e
/* USER CODE BEGIN PTD */ /* USER CODE BEGIN PTD */
#define YUNHORN_STS_RSS_WAKEUP_CHECK_TIME SamplingPeriodicity //3000 ms #define YUNHORN_STS_RSS_WAKEUP_CHECK_TIME SamplingPeriodicity //3000 ms
#define YUNHORN_STS_SAMPLING_CHECK_TIME SamplingPeriodicity #define YUNHORN_STS_SAMPLING_CHECK_TIME SamplingPeriodicity
#define YUNHORN_STS_HEART_BEAT_CHECK_TIME HeartBeatPeriodicity #define YUNHORN_STS_HEART_BEAT_CHECK_TIME 300000 //300 sec, 5 min
/* USER CODE END PTD */ /* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/
@ -487,7 +487,7 @@ static LmHandlerParams_t LmHandlerParams =
/** /**
* @brief Type of Event to generate application Tx * @brief Type of Event to generate application Tx
*/ */
static TxEventType_t EventType = TX_ON_EVENT; //TX_ON_TIMER;//TX_ON_EVENT; static TxEventType_t EventType = TX_ON_TIMER; //TX_ON_TIMER;//TX_ON_EVENT;
/** /**
* @brief Timer to handle the application Tx * @brief Timer to handle the application Tx
@ -612,7 +612,7 @@ void LoRaWAN_Init(void)
UTIL_TIMER_Create(&TxLedTimer, LED_PERIOD_TIME, UTIL_TIMER_ONESHOT, OnTxTimerLedEvent, NULL); UTIL_TIMER_Create(&TxLedTimer, LED_PERIOD_TIME, UTIL_TIMER_ONESHOT, OnTxTimerLedEvent, NULL);
UTIL_TIMER_Create(&RxLedTimer, LED_PERIOD_TIME, UTIL_TIMER_ONESHOT, OnRxTimerLedEvent, NULL); UTIL_TIMER_Create(&RxLedTimer, LED_PERIOD_TIME, UTIL_TIMER_ONESHOT, OnRxTimerLedEvent, NULL);
UTIL_TIMER_Create(&JoinLedTimer, LED_PERIOD_TIME, UTIL_TIMER_ONESHOT, OnJoinTimerLedEvent, NULL); UTIL_TIMER_Create(&JoinLedTimer, LED_PERIOD_TIME, UTIL_TIMER_PERIODIC, OnJoinTimerLedEvent, NULL);
UTIL_TIMER_Create(&STSLampBarColorTimer, LED_PERIOD_TIME, UTIL_TIMER_PERIODIC, OnYunhornSTSLampBarColorTimerEvent, NULL); UTIL_TIMER_Create(&STSLampBarColorTimer, LED_PERIOD_TIME, UTIL_TIMER_PERIODIC, OnYunhornSTSLampBarColorTimerEvent, NULL);
UTIL_TIMER_Create(&STSDurationCheckTimer, 20*LED_PERIOD_TIME, UTIL_TIMER_PERIODIC, OnYunhornSTSDurationCheckTimerEvent, NULL); UTIL_TIMER_Create(&STSDurationCheckTimer, 20*LED_PERIOD_TIME, UTIL_TIMER_PERIODIC, OnYunhornSTSDurationCheckTimerEvent, NULL);
@ -684,24 +684,18 @@ void LoRaWAN_Init(void)
#endif #endif
#if defined(STS_O7)||defined(STS_O6) #if defined(STS_O7)||defined(STS_O6)
UTIL_TIMER_Create(&YunhornSTSRSSWakeUpTimer, UTIL_TIMER_Create(&YunhornSTSRSSWakeUpTimer, YUNHORN_STS_RSS_WAKEUP_CHECK_TIME, UTIL_TIMER_PERIODIC, OnYunhornSTSOORSSWakeUpTimerEvent, NULL);
YUNHORN_STS_RSS_WAKEUP_CHECK_TIME,
UTIL_TIMER_PERIODIC, OnYunhornSTSOORSSWakeUpTimerEvent, NULL);
//UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer); //UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer, UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer, YUNHORN_STS_HEART_BEAT_CHECK_TIME, UTIL_TIMER_PERIODIC, OnYunhornSTSHeartBeatTimerEvent, NULL);
YUNHORN_STS_HEART_BEAT_CHECK_TIME,
UTIL_TIMER_PERIODIC, OnYunhornSTSHeartBeatTimerEvent, NULL);
//UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer); //UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
UTIL_TIMER_Start(&STSLampBarColorTimer); UTIL_TIMER_Start(&STSLampBarColorTimer);
//UTIL_TIMER_Start(&STSDurationCheckTimer); UTIL_TIMER_Start(&STSDurationCheckTimer);
#else #else
UTIL_TIMER_Create(&YunhornSTSSamplingCheckTimer, UTIL_TIMER_Create(&YunhornSTSSamplingCheckTimer, YUNHORN_STS_SAMPLING_CHECK_TIME, UTIL_TIMER_PERIODIC, OnYunhornSTSSamplingCheckTimerEvent, NULL);
YUNHORN_STS_SAMPLING_CHECK_TIME,
UTIL_TIMER_PERIODIC, OnYunhornSTSSamplingCheckTimerEvent, NULL);
UTIL_TIMER_Start(&YunhornSTSSamplingCheckTimer); UTIL_TIMER_Start(&YunhornSTSSamplingCheckTimer);
#endif #endif
/* USER CODE END LoRaWAN_Init_Last */ /* USER CODE END LoRaWAN_Init_Last */
@ -1116,20 +1110,9 @@ static void OnTxTimerEvent(void *context)
/* USER CODE BEGIN OnTxTimerEvent_1 */ /* USER CODE BEGIN OnTxTimerEvent_1 */
/* USER CODE END OnTxTimerEvent_1 */ /* USER CODE END OnTxTimerEvent_1 */
//heart_beat_timer = 1;
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
#if 0
if (sts_ac_code[0]==0x0) {
/* RFAC Challenge */
if (rfac_timer < (STS_BURN_IN_RFAC+3)) {
rfac_timer ++;
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventRFAC), CFG_SEQ_Prio_0);
}
}
#endif
/*Wait for next tx slot*/ /*Wait for next tx slot*/
UTIL_TIMER_Start(&TxTimer); UTIL_TIMER_Start(&TxTimer);
@ -1428,10 +1411,14 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
} }
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);
UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer); UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
UTIL_TIMER_Start(&STSDurationCheckTimer); //UTIL_TIMER_Start(&TxTimer);
//UTIL_TIMER_Start(&STSDurationCheckTimer);
OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity); OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity);
/* USER CODE END OnJoinRequest_1 */ /* USER CODE END OnJoinRequest_1 */
@ -1511,8 +1498,6 @@ static void OnTxPeriodicityChanged(uint32_t periodicity)
TxPeriodicity = APP_TX_DUTYCYCLE; TxPeriodicity = APP_TX_DUTYCYCLE;
} }
//HeartBeatPeriodicity = TxPeriodicity;
/* Update timer periodicity */ /* Update timer periodicity */
UTIL_TIMER_Stop(&TxTimer); UTIL_TIMER_Stop(&TxTimer);
UTIL_TIMER_SetPeriod(&TxTimer, TxPeriodicity); UTIL_TIMER_SetPeriod(&TxTimer, TxPeriodicity);
@ -1699,7 +1684,7 @@ static void OnYunhornSTSOORSSWakeUpTimerEvent(void *context)
} }
} }
//UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer); UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer);
} }
@ -1749,7 +1734,7 @@ static void OnYunhornSTSHeartBeatPeriodicityChanged(uint32_t periodicity)
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer); UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
/* USER CODE BEGIN OnTxPeriodicityChanged_2 */ /* USER CODE BEGIN OnTxPeriodicityChanged_2 */
APP_LOG(TS_OFF, VLEVEL_H,"**************** HeartBeatPeriodicity Changed to: %u (ms)\r\n", HeartBeatPeriodicity ); APP_LOG(TS_OFF, VLEVEL_H,"**************** HeartBeatPeriodicity = %u (sec)\r\n", HeartBeatPeriodicity/1000 );
/* USER CODE END OnTxPeriodicityChanged_2 */ /* USER CODE END OnTxPeriodicityChanged_2 */
} }
@ -1889,7 +1874,7 @@ static void OnYunhornSTSSamplingCheckTimerEvent(void *context)
* *
*/ */
void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size) void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, uint8_t tlv_buf_size)
{ {
uint8_t i=0, mems_ver, invalid_flag=1; uint8_t i=0, mems_ver, invalid_flag=1;
UTIL_MEM_set_8((void*)outbuf,0x0, sizeof(outbuf)); UTIL_MEM_set_8((void*)outbuf,0x0, sizeof(outbuf));
@ -2113,6 +2098,7 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
PME_ON; PME_ON;
// 2024-07-31 // 2024-07-31
UTIL_MEM_set_8((void*)outbuf, 0x0, sizeof(outbuf));
UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf,tlv_buf_size); UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf,tlv_buf_size);
i = tlv_buf_size; i = tlv_buf_size;
STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf); STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf);
@ -2127,6 +2113,7 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
//STS_SENSOR_Power_OFF((tlv_buf[CFG_CMD3]-0x30)); //STS_SENSOR_Power_OFF((tlv_buf[CFG_CMD3]-0x30));
PME_OFF; PME_OFF;
// 2024-07-31 // 2024-07-31
UTIL_MEM_set_8((void*)outbuf, 0x0, sizeof(outbuf));
UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf,tlv_buf_size); UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf,tlv_buf_size);
i = tlv_buf_size; i = tlv_buf_size;
STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf); STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf);
@ -2141,6 +2128,7 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
PME_OFF; PME_OFF;
PME_ON; PME_ON;
// 2024-07-31 // 2024-07-31
UTIL_MEM_set_8((void*)outbuf, 0x0, sizeof(outbuf));
UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf,tlv_buf_size); UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf,tlv_buf_size);
i = tlv_buf_size; i = tlv_buf_size;
STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf); STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf);
@ -2161,15 +2149,16 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
} else if ((char)tlv_buf[CFG_CMD5] == 'H') { } else if ((char)tlv_buf[CFG_CMD5] == 'H') {
periodicity_length *= 3600; periodicity_length *= 3600;
} }
TxPeriodicity = periodicity_length*1000; //translate to 1000ms=1s periodicity_length = periodicity_length*1000; //translate to 1000ms=1s
//OnTxPeriodicityChanged(TxPeriodicity); //OnTxPeriodicityChanged(TxPeriodicity);
#if defined(STS_O6)||defined(STS_O7) #if defined(STS_O6)||defined(STS_O7)
HeartBeatPeriodicity = TxPeriodicity; HeartBeatPeriodicity = periodicity_length;
OnYunhornSTSHeartBeatPeriodicityChanged(TxPeriodicity); OnYunhornSTSHeartBeatPeriodicityChanged(periodicity_length);
#endif #endif
// 2024-07-31 // 2024-07-31
UTIL_MEM_set_8((void*)outbuf, 0x0, sizeof(outbuf));
UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf,tlv_buf_size); UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf,tlv_buf_size);
i = tlv_buf_size; i = tlv_buf_size;
@ -2185,7 +2174,7 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
sts_cfg_nvm.sts_service_mask = (uint8_t)sts_service_mask; sts_cfg_nvm.sts_service_mask = (uint8_t)sts_service_mask;
OnStoreSTSCFGContextRequest(); OnStoreSTSCFGContextRequest();
APP_LOG(TS_OFF, VLEVEL_M, "###### YUNHORN Periodicity Changed to [ %d ] Seconds\r\n", periodicity_length); //APP_LOG(TS_OFF, VLEVEL_M, "###### YUNHORN Periodicity Changed to [ %d ] Seconds\r\n", periodicity_length);
} else { } else {
STS_SENSOR_Upload_Config_Invalid_Message(); STS_SENSOR_Upload_Config_Invalid_Message();
@ -2217,6 +2206,7 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
OnYunhornSTSSamplingPeriodicityChanged(SamplingPeriodicity); OnYunhornSTSSamplingPeriodicityChanged(SamplingPeriodicity);
#endif #endif
// 2024-07-31 // 2024-07-31
UTIL_MEM_set_8((void*)outbuf, 0x0, sizeof(outbuf));
UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf,tlv_buf_size); UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf,tlv_buf_size);
i = tlv_buf_size; i = tlv_buf_size;
@ -2281,6 +2271,7 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
OnStoreSTSCFGContextRequest(); OnStoreSTSCFGContextRequest();
i=0; // Step 1: Prepare status update message i=0; // Step 1: Prepare status update message
UTIL_MEM_set_8((void*)outbuf, 0x0, sizeof(outbuf));
UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size); UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size);
i = tlv_buf_size; i = tlv_buf_size;
@ -2315,6 +2306,7 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
OnStoreSTSCFGContextRequest(); OnStoreSTSCFGContextRequest();
i=0; // Step 1: Prepare status update message i=0; // Step 1: Prepare status update message
UTIL_MEM_set_8((void*)outbuf, 0x0, sizeof(outbuf));
UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size); UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size);
i = tlv_buf_size; i = tlv_buf_size;
APP_LOG(TS_OFF, VLEVEL_L, "###### Fall detection CFG = %s\r\n",(char*)outbuf); APP_LOG(TS_OFF, VLEVEL_L, "###### Fall detection CFG = %s\r\n",(char*)outbuf);
@ -2343,6 +2335,7 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
OnStoreSTSCFGContextRequest(); OnStoreSTSCFGContextRequest();
i=0; // Step 1: Prepare status update message i=0; // Step 1: Prepare status update message
UTIL_MEM_set_8((void*)outbuf, 0x0, sizeof(outbuf));
UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size); UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size);
i = tlv_buf_size; i = tlv_buf_size;
APP_LOG(TS_OFF, VLEVEL_L, "###### Occupancy/Overstay/unconscious config changed =%s\r\n",(char *)outbuf); APP_LOG(TS_OFF, VLEVEL_L, "###### Occupancy/Overstay/unconscious config changed =%s\r\n",(char *)outbuf);
@ -2364,7 +2357,7 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
} }
i=0; // Step 1: Prepare status update message i=0; // Step 1: Prepare status update message
UTIL_MEM_set_8((void*)outbuf, 0x0, sizeof(outbuf));
UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size); UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size);
i = tlv_buf_size; i = tlv_buf_size;
APP_LOG(TS_OFF, VLEVEL_L, "###### P Work mode switched =%s\r\n",(char *)outbuf); APP_LOG(TS_OFF, VLEVEL_L, "###### P Work mode switched =%s\r\n",(char *)outbuf);
@ -2410,6 +2403,7 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
STS_PRESENCE_SENSOR_NVM_CFG(); STS_PRESENCE_SENSOR_NVM_CFG();
i=0; // Step 1: Prepare status update message i=0; // Step 1: Prepare status update message
UTIL_MEM_set_8((void*)outbuf, 0x0, sizeof(outbuf));
UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size); UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size);
i = tlv_buf_size; i = tlv_buf_size;
APP_LOG(TS_OFF, VLEVEL_L, "###### RSS Full CFG=%s\r\n",(char *)outbuf); APP_LOG(TS_OFF, VLEVEL_L, "###### RSS Full CFG=%s\r\n",(char *)outbuf);
@ -2448,6 +2442,7 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
STS_PRESENCE_SENSOR_NVM_CFG_SIMPLE(); STS_PRESENCE_SENSOR_NVM_CFG_SIMPLE();
i=0; // Step 1: Prepare status update message i=0; // Step 1: Prepare status update message
UTIL_MEM_set_8((void*)outbuf, 0x0, sizeof(outbuf));
UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size); UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size);
i = 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_L, "###### RSS Simple CFG=%s\r\n",(char*)outbuf);
@ -2527,9 +2522,8 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
} }
i=0; i=0;
for (uint8_t j=0; j <(tlv_buf_size) ; j++) { UTIL_MEM_set_8((void*)outbuf, 0x0, sizeof(outbuf));
outbuf[i++] = (uint8_t) tlv_buf[j]; UTIL_MEM_cpy_8((void*)outbuf,(void*)tlv_buf, tlv_buf_size);
}
STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf); STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf);
} }
@ -2657,7 +2651,7 @@ void OnStoreSTSCFGContextRequest(void)
/* USER CODE END OnStoreContextRequest_Last */ /* USER CODE END OnStoreContextRequest_Last */
} }
void OnRestoreSTSCFGContextRequest(uint8_t *cfg_in_nvm) void OnRestoreSTSCFGContextRequest(void *cfg_in_nvm)
{ {
/* USER CODE BEGIN OnRestoreSTSCFGContextRequest_1 */ /* USER CODE BEGIN OnRestoreSTSCFGContextRequest_1 */
// uint8_t nvm_store_value[YUNHORN_STS_MAX_NVM_CFG_SIZE]="", nvm_store_size=YUNHORN_STS_MAX_NVM_CFG_SIZE; // uint8_t nvm_store_value[YUNHORN_STS_MAX_NVM_CFG_SIZE]="", nvm_store_size=YUNHORN_STS_MAX_NVM_CFG_SIZE;
@ -2665,7 +2659,8 @@ void OnRestoreSTSCFGContextRequest(uint8_t *cfg_in_nvm)
APP_LOG(TS_OFF, VLEVEL_M, "Restore NVM start\r\n"); APP_LOG(TS_OFF, VLEVEL_M, "Restore NVM start\r\n");
/* USER CODE END OnRestoreSTSCFGContextRequest_1 */ /* USER CODE END OnRestoreSTSCFGContextRequest_1 */
UTIL_MEM_cpy_8(cfg_in_nvm, (void *)STS_CONFIG_NVM_BASE_ADDRESS, YUNHORN_STS_MAX_NVM_CFG_SIZE); FLASH_IF_Read(cfg_in_nvm, STS_CONFIG_NVM_BASE_ADDRESS, YUNHORN_STS_MAX_NVM_CFG_SIZE);
//UTIL_MEM_cpy_8(cfg_in_nvm, (void *)STS_CONFIG_NVM_BASE_ADDRESS, YUNHORN_STS_MAX_NVM_CFG_SIZE);
/* USER CODE BEGIN OnRestoreSTSCFGContextRequest_Last */ /* USER CODE BEGIN OnRestoreSTSCFGContextRequest_Last */
@ -2682,7 +2677,7 @@ void STS_REBOOT_CONFIG_Init(void)
/* USER CODE END OnRestoreContextRequest_1 */ /* USER CODE END OnRestoreContextRequest_1 */
//UTIL_MEM_cpy_8(nvm_stored_value, (void *)STS_CONFIG_NVM_BASE_ADDRESS, YUNHORN_STS_MAX_NVM_CFG_SIZE); //UTIL_MEM_cpy_8(nvm_stored_value, (void *)STS_CONFIG_NVM_BASE_ADDRESS, YUNHORN_STS_MAX_NVM_CFG_SIZE);
FLASH_IF_Read((void*)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, YUNHORN_STS_MAX_NVM_CFG_SIZE);
/* USER CODE BEGIN OnRestoreContextRequest_Last */ /* USER CODE BEGIN OnRestoreContextRequest_Last */
//#if (defined(STS_O7)||defined(STS_O5) || defined(STS_O6) || defined(STS_R0) || defined(STS_R5)|| defined(STS_R4)|| defined(STS_R1D)) //#if (defined(STS_O7)||defined(STS_O5) || defined(STS_O6) || defined(STS_R0) || defined(STS_R5)|| defined(STS_R4)|| defined(STS_R1D))
@ -2748,9 +2743,7 @@ void OnRestoreSTSCFGContextProcess(void)
} else if ((char) sts_cfg_nvm.unit =='S') { } else if ((char) sts_cfg_nvm.unit =='S') {
periodicity *= 1; periodicity *= 1;
} }
periodicity = (periodicity > 10)? periodicity : 10; // in seconds unit periodicity *= 1000; // to ms
//TxPeriodicity= periodicity*1000; // to ms
//OnTxPeriodicityChanged(TxPeriodicity); // in msec unit
uint32_t sampling = (sts_cfg_nvm.sampling); uint32_t sampling = (sts_cfg_nvm.sampling);
if ((char)sts_cfg_nvm.s_unit =='M') { if ((char)sts_cfg_nvm.s_unit =='M') {
@ -2766,6 +2759,7 @@ void OnRestoreSTSCFGContextProcess(void)
{ // ensure it's not in production yet { // ensure it's not in production yet
OnTxPeriodicityChanged(APP_TX_DUTYCYCLE); // in msec unit OnTxPeriodicityChanged(APP_TX_DUTYCYCLE); // in msec unit
OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity); OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity);
OnYunhornSTSSamplingPeriodicityChanged(sampling); // in m-sec unit
} else } else
{ {
//OnTxPeriodicityChanged(TxPeriodicity); // in msec unit //OnTxPeriodicityChanged(TxPeriodicity); // in msec unit
@ -2775,7 +2769,8 @@ void OnRestoreSTSCFGContextProcess(void)
HeartBeatPeriodicity = samplingperiodicity*1000; HeartBeatPeriodicity = samplingperiodicity*1000;
#endif #endif
#if defined(STS_O7)|| defined(STS_O6) ||defined(STS_O5) #if defined(STS_O7)|| defined(STS_O6) ||defined(STS_O5)
OnYunhornSTSHeartBeatPeriodicityChanged(periodicity*1000); HeartBeatPeriodicity = periodicity;
OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity);
OnYunhornSTSSamplingPeriodicityChanged(sampling); // in m-sec unit OnYunhornSTSSamplingPeriodicityChanged(sampling); // in m-sec unit
#endif #endif
@ -2813,7 +2808,7 @@ void OnRestoreSTSCFGContextProcess(void)
if ((sts_version == sts_cfg_nvm.version)&& (NVM_CFG_PARAMETER_SIZE == sts_cfg_nvm.length)) if ((sts_version == sts_cfg_nvm.version)&& (NVM_CFG_PARAMETER_SIZE == sts_cfg_nvm.length))
{ {
STS_PRESENCE_SENSOR_Init(); STS_PRESENCE_SENSOR_Init();
//STS_PRESENCE_SENSOR_RSS_Init(); STS_PRESENCE_SENSOR_RSS_Init();
} }
#endif #endif