acc_detector_presence.h File Reference
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include "acc_definitions_a121.h"
#include "acc_definitions_common.h"
#include "acc_processing.h"
#include "acc_sensor.h"

Go to the source code of this file.

Data Structures

struct  acc_detector_presence_result_t
 Presence detector results container. More...
 
struct  acc_detector_presence_metadata_t
 

Typedefs

typedef struct acc_detector_presence_handle acc_detector_presence_handle_t
 
typedef struct acc_detector_presence_config acc_detector_presence_config_t
 

Functions

acc_detector_presence_config_tacc_detector_presence_config_create (void)
 Create a configuration for a presence detector. More...
 
void acc_detector_presence_config_destroy (acc_detector_presence_config_t *presence_config)
 Destroy a presence detector configuration. More...
 
void acc_detector_presence_config_log (acc_detector_presence_config_t *presence_config)
 Print a configuration to the log. More...
 
bool acc_detector_presence_get_buffer_size (const acc_detector_presence_handle_t *presence_handle, uint32_t *buffer_size)
 Get the buffer size needed for the provided presence detector handle. More...
 
acc_detector_presence_handle_tacc_detector_presence_create (acc_detector_presence_config_t *presence_config, acc_detector_presence_metadata_t *metadata)
 Create a presence detector with the provided configuration. More...
 
void acc_detector_presence_destroy (acc_detector_presence_handle_t *presence_handle)
 Destroy a presence detector identified with the provided handle. More...
 
bool acc_detector_presence_prepare (const acc_detector_presence_handle_t *presence_handle, acc_detector_presence_config_t *presence_config, acc_sensor_t *sensor, const acc_cal_result_t *cal_result, void *buffer, uint32_t buffer_size)
 Prepare the detector to do a measurement. More...
 
bool acc_detector_presence_process (acc_detector_presence_handle_t *presence_handle, void *buffer, acc_detector_presence_result_t *result)
 Process the data according to the configuration used in acc_detector_presence_config_create. More...
 
void acc_detector_presence_config_start_set (acc_detector_presence_config_t *presence_config, float start)
 Set the start point of measurement interval in meters. More...
 
float acc_detector_presence_config_start_get (const acc_detector_presence_config_t *presence_config)
 Get the start point of measurement interval in meters. More...
 
void acc_detector_presence_config_end_set (acc_detector_presence_config_t *presence_config, float end)
 Set the end point of measurement interval in meters. More...
 
float acc_detector_presence_config_end_get (const acc_detector_presence_config_t *presence_config)
 Get the end point of measurement interval in meters. More...
 
void acc_detector_presence_config_step_length_set (acc_detector_presence_config_t *presence_config, uint16_t step_length)
 Set the step length in points. More...
 
uint16_t acc_detector_presence_config_step_length_get (const acc_detector_presence_config_t *presence_config)
 Get the step length in points. More...
 
void acc_detector_presence_config_auto_step_length_set (acc_detector_presence_config_t *presence_config, bool enable)
 Enable automatic selection of step length based on the profile. More...
 
bool acc_detector_presence_config_auto_step_length_get (const acc_detector_presence_config_t *presence_config)
 Get if automatic selection of step length based on the profile is enabled. More...
 
void acc_detector_presence_config_profile_set (acc_detector_presence_config_t *presence_config, acc_config_profile_t profile)
 Set a profile. More...
 
acc_config_profile_t acc_detector_presence_config_profile_get (const acc_detector_presence_config_t *presence_config)
 Get the currently set profile. More...
 
void acc_detector_presence_config_auto_profile_set (acc_detector_presence_config_t *presence_config, bool enable)
 Enable automatic selection of profile based on start point of measurement. More...
 
bool acc_detector_presence_config_auto_profile_get (const acc_detector_presence_config_t *presence_config)
 Get if automatic selection of profile based on start point of measurement is enabled. More...
 
void acc_detector_presence_config_inter_frame_idle_state_set (acc_detector_presence_config_t *presence_config, acc_config_idle_state_t idle_state)
 Set inter frame idle state. More...
 
acc_config_idle_state_t acc_detector_presence_config_inter_frame_idle_state_get (const acc_detector_presence_config_t *presence_config)
 Get inter frame idle state. More...
 
void acc_detector_presence_config_hwaas_set (acc_detector_presence_config_t *presence_config, uint16_t hwaas)
 Set the hardware accelerated average samples (HWAAS) More...
 
uint16_t acc_detector_presence_config_hwaas_get (const acc_detector_presence_config_t *presence_config)
 Get the hardware accelerated average samples (HWAAS) More...
 
void acc_detector_presence_config_sweeps_per_frame_set (acc_detector_presence_config_t *presence_config, uint16_t sweeps_per_frame)
 Set the number of sweeps per frame. More...
 
uint16_t acc_detector_presence_config_sweeps_per_frame_get (const acc_detector_presence_config_t *presence_config)
 Get the number of sweeps per frame. More...
 
void acc_detector_presence_config_frame_rate_set (acc_detector_presence_config_t *presence_config, float frame_rate)
 Set the frame rate. More...
 
float acc_detector_presence_config_frame_rate_get (const acc_detector_presence_config_t *presence_config)
 Get the frame rate. More...
 
void acc_detector_presence_config_frame_rate_app_driven_set (acc_detector_presence_config_t *presence_config, bool enable)
 Set if the application should maintain the requested frame rate. More...
 
bool acc_detector_presence_config_frame_rate_app_driven_get (const acc_detector_presence_config_t *presence_config)
 Get if the application should maintain the requested frame rate. More...
 
void acc_detector_presence_config_sensor_set (acc_detector_presence_config_t *presence_config, acc_sensor_id_t sensor_id)
 Set sensor ID. More...
 
acc_sensor_id_t acc_detector_presence_config_sensor_get (const acc_detector_presence_config_t *presence_config)
 Get sensor ID. More...
 
void acc_detector_presence_config_reset_filters_on_prepare_set (acc_detector_presence_config_t *presence_config, bool enable)
 Set if the presence filters should reset on prepare. More...
 
bool acc_detector_presence_config_reset_filters_on_prepare_get (const acc_detector_presence_config_t *presence_config)
 Get if the presence filters should reset on prepare. More...
 
void acc_detector_presence_config_inter_frame_presence_timeout_set (acc_detector_presence_config_t *presence_config, uint16_t inter_frame_presence_timeout)
 Set the inter-frame presence timeout in seconds. More...
 
uint16_t acc_detector_presence_config_inter_frame_presence_timeout_get (const acc_detector_presence_config_t *presence_config)
 Get the inter-frame presence timeout in seconds. More...
 
void acc_detector_presence_config_inter_phase_boost_set (acc_detector_presence_config_t *presence_config, bool enable)
 Set inter-frame phase boost. More...
 
bool acc_detector_presence_config_inter_phase_boost_get (const acc_detector_presence_config_t *presence_config)
 Get if inter-frame phase boost is enabled. More...
 
void acc_detector_presence_config_intra_detection_set (acc_detector_presence_config_t *presence_config, bool enable)
 Set intra-frame presence detection. More...
 
bool acc_detector_presence_config_intra_detection_get (const acc_detector_presence_config_t *presence_config)
 Get if frame intra-frame presence detection is enabled. More...
 
void acc_detector_presence_config_intra_detection_threshold_set (acc_detector_presence_config_t *presence_config, float intra_detection_threshold)
 Set the detection threshold for the intra-frame presence detection. More...
 
float acc_detector_presence_config_intra_detection_threshold_get (const acc_detector_presence_config_t *presence_config)
 Get the detection threshold for the intra-frame presence detection. More...
 
void acc_detector_presence_config_inter_detection_set (acc_detector_presence_config_t *presence_config, bool enable)
 Set inter-frame presence detection. More...
 
bool acc_detector_presence_config_inter_detection_get (const acc_detector_presence_config_t *presence_config)
 Get if inter-frame presence detection is enabled. More...
 
void acc_detector_presence_config_inter_detection_threshold_set (acc_detector_presence_config_t *presence_config, float inter_detection_threshold)
 Set the detection threshold for the inter-frame presence detection. More...
 
float acc_detector_presence_config_inter_detection_threshold_get (const acc_detector_presence_config_t *presence_config)
 Get the detection threshold for the inter-frame presence detection. More...
 
void acc_detector_presence_config_inter_frame_deviation_time_const_set (acc_detector_presence_config_t *presence_config, float inter_frame_deviation_time_const)
 Set the time constant of the low pass filter for the inter-frame deviation between fast and slow. More...
 
float acc_detector_presence_config_inter_frame_deviation_time_const_get (const acc_detector_presence_config_t *presence_config)
 Get the time constant of the low pass filter for the inter-frame deviation between fast and slow. More...
 
void acc_detector_presence_config_inter_frame_fast_cutoff_set (acc_detector_presence_config_t *presence_config, float inter_frame_fast_cutoff)
 Set the cutoff frequency of the low pass filter for the fast filtered absolute sweep mean. More...
 
float acc_detector_presence_config_inter_frame_fast_cutoff_get (const acc_detector_presence_config_t *presence_config)
 Get the cutoff frequency of the low pass filter for the fast filtered absolute sweep mean. More...
 
void acc_detector_presence_config_inter_frame_slow_cutoff_set (acc_detector_presence_config_t *presence_config, float inter_frame_slow_cutoff)
 Set the cutoff frequency of the low pass filter for the slow filtered absolute sweep mean. More...
 
float acc_detector_presence_config_inter_frame_slow_cutoff_get (const acc_detector_presence_config_t *presence_config)
 Get the cutoff frequency of the low pass filter for the slow filtered absolute sweep mean. More...
 
void acc_detector_presence_config_intra_frame_time_const_set (acc_detector_presence_config_t *presence_config, float intra_frame_time_const)
 Set the time constant for the depthwise filtering in the intra-frame part. More...
 
float acc_detector_presence_config_intra_frame_time_const_get (const acc_detector_presence_config_t *presence_config)
 Get the time constant for the depthwise filtering in the intra-frame part. More...
 
void acc_detector_presence_config_intra_output_time_const_set (acc_detector_presence_config_t *presence_config, float intra_output_time_const)
 Set the time constant for the output in the intra-frame part. More...
 
float acc_detector_presence_config_intra_output_time_const_get (const acc_detector_presence_config_t *presence_config)
 Get the time constant for the output in the intra-frame part. More...
 
void acc_detector_presence_config_inter_output_time_const_set (acc_detector_presence_config_t *presence_config, float inter_output_time_const)
 Set the time constant for the output in the inter-frame part. More...
 
float acc_detector_presence_config_inter_output_time_const_get (const acc_detector_presence_config_t *presence_config)
 Get the time constant for the output in the inter-frame part. More...
 
void acc_detector_presence_config_automatic_subsweeps_set (acc_detector_presence_config_t *presence_config, bool automatic_subsweeps)
 Set if automatic subsweeps should be used. More...
 
bool acc_detector_presence_config_automatic_subsweeps_get (const acc_detector_presence_config_t *presence_config)
 Get if automatic subsweeps should be used. More...
 
void acc_detector_presence_config_signal_quality_set (acc_detector_presence_config_t *presence_config, float signal_quality)
 Set signal quality. More...
 
float acc_detector_presence_config_signal_quality_get (const acc_detector_presence_config_t *presence_config)
 Get signal quality. More...
 
float acc_detector_presence_get_distance_m (const acc_detector_presence_handle_t *presence_handle, uint16_t point_idx)
 Calculate distance in meter for a point in a sweep (including subsweeps) More...