diff --git a/Core/Src/yunhorn_sts_distance_rss.c b/Core/Src/yunhorn_sts_distance_rss.c index 0314423..2e515e4 100644 --- a/Core/Src/yunhorn_sts_distance_rss.c +++ b/Core/Src/yunhorn_sts_distance_rss.c @@ -53,8 +53,10 @@ #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, 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}; +// SPARK FUN EXAMPLE +// GOOD --- volatile distance_measure_cfg_t distance_cfg={0.4, 3.5, 4, 63, 0, 10, 0.5, 1.3, 0.2}; +volatile distance_measure_cfg_t distance_cfg={0.8, 3.5, 4, 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}; extern float sts_distance_rss_distance, sts_sensor_install_height; static void sts_distance_rss_update_configuration(acc_detector_distance_configuration_t distance_configuration); @@ -75,7 +77,7 @@ int sts_distance_rss_detector_distance(void) return EXIT_FAILURE; } - acc_rss_override_sensor_id_check_at_creation(true); + //acc_rss_override_sensor_id_check_at_creation(true); acc_detector_distance_configuration_t distance_configuration = acc_detector_distance_configuration_create(); @@ -87,6 +89,7 @@ int sts_distance_rss_detector_distance(void) } sts_distance_rss_update_configuration(distance_configuration); + acc_detector_distance_handle_t distance_handle = acc_detector_distance_create(distance_configuration); if (distance_handle == NULL) @@ -108,8 +111,8 @@ int sts_distance_rss_detector_distance(void) } bool success = true; - const int iterations = 1; //5; - uint16_t number_of_peaks = 10.0f; + const int iterations = 5; //5; + uint16_t number_of_peaks = 5; acc_detector_distance_result_t result[number_of_peaks]; acc_detector_distance_result_info_t result_info; float tmp_distance = 0.0f; @@ -129,6 +132,7 @@ int sts_distance_rss_detector_distance(void) } sts_distance_rss_distance = (uint16_t)(1000*tmp_distance/result_info.number_of_peaks); + sts_distance_rss_distance /= iterations; APP_LOG(TS_OFF, VLEVEL_M, "\r\nAverage Distance= %u mm\r\n", (uint16_t)sts_distance_rss_distance); // ensure it's a valid installation height @@ -169,6 +173,7 @@ static void sts_distance_rss_update_configuration(acc_detector_distance_configur } */ //backup. ... previous setting ----don't delete + static void sts_distance_rss_update_configuration(acc_detector_distance_configuration_t distance_configuration) { acc_detector_distance_configuration_requested_start_set(distance_configuration, distance_cfg.start_m); @@ -185,6 +190,7 @@ static void sts_distance_rss_update_configuration(acc_detector_distance_configur acc_detector_distance_configuration_record_background_sweeps_set(distance_configuration, 16); } + // static void print_distances(acc_detector_distance_result_t *result, uint16_t reflection_count) { diff --git a/Core/Src/yunhorn_sts_presence_rss.c b/Core/Src/yunhorn_sts_presence_rss.c index d582dae..36c1937 100644 --- a/Core/Src/yunhorn_sts_presence_rss.c +++ b/Core/Src/yunhorn_sts_presence_rss.c @@ -179,6 +179,10 @@ void STS_PRESENCE_RSS_update_default_configuration(acc_detector_presence_configu acc_detector_presence_configuration_detection_threshold_set(presence_configuration, DEFAULT_DETECTION_THRESHOLD); acc_detector_presence_configuration_start_set(presence_configuration, DEFAULT_START_M); acc_detector_presence_configuration_length_set(presence_configuration, DEFAULT_LENGTH_M); + + acc_detector_presence_configuration_filter_parameters_t filter = acc_detector_presence_configuration_filter_parameters_get(presence_configuration); + filter.output_time_const = 0.0f; + acc_detector_presence_configuration_filter_parameters_set(presence_configuration, &filter); acc_detector_presence_configuration_power_save_mode_set(presence_configuration, DEFAULT_POWER_SAVE_MODE); acc_detector_presence_configuration_nbr_removed_pc_set(presence_configuration, DEFAULT_NBR_REMOVED_PC); diff --git a/Core/Src/yunhorn_sts_process.c b/Core/Src/yunhorn_sts_process.c index 4ab1022..5ccf1ef 100644 --- a/Core/Src/yunhorn_sts_process.c +++ b/Core/Src/yunhorn_sts_process.c @@ -903,7 +903,7 @@ void STS_PRESENCE_SENSOR_RSS_Init(void) APP_LOG(TS_ON, VLEVEL_H, "##### RSS Installation Height Error \r\n"); HAL_Delay(100); } - } while((exit_status)); + } while((0)); sts_sensor_install_height=sts_distance_rss_distance; }