|
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include "acc_definitions_a121.h"
#include "acc_detector_distance.h"
#include "acc_hal_definitions_a121.h"
#include "acc_hal_integration_a121.h"
#include "acc_integration.h"
#include "acc_integration_log.h"
#include "acc_rss_a121.h"
#include "acc_sensor.h"
#include "acc_version.h"
Go to the source code of this file.
Data Structures | |
struct | distance_detector_resources_t |
Macros | |
#define | SENSOR_ID (1U) |
#define | SENSOR_TIMEOUT_MS (2000U) |
#define | MAX_CAL_TEMP_DIFF (16) |
#define | MAX_TEMP_VARIATION (125) |
#define | MAX_CACHE_COUNT ((MAX_TEMP_VARIATION / MAX_CAL_TEMP_DIFF) + 1) |
Functions | |
static void | set_config (acc_detector_distance_config_t *detector_config) |
static bool | initialize_detector_resources (distance_detector_resources_t *resources) |
static bool | detector_get_next (distance_detector_resources_t *resources, acc_detector_distance_result_t *result) |
static void | cleanup (distance_detector_resources_t *resources) |
static bool | sensor_and_detector_calibration (distance_detector_resources_t *resources, uint16_t cache_index) |
static bool | sensor_calibration (distance_detector_resources_t *resources, uint16_t cache_index) |
static bool | detector_calibration_full (distance_detector_resources_t *resources, uint16_t cache_index) |
static bool | detector_calibration_update (distance_detector_resources_t *resources, uint16_t cache_index) |
static bool | calibration_caching (distance_detector_resources_t *resources, int16_t temp) |
static bool | find_cache_index (int16_t temp, uint16_t *cache_index) |
static bool | get_next_empty_cache_index (uint16_t *cache_index) |
static bool | add_cache (uint16_t cache_index, int16_t temp) |
int | app_main (int argc, char *argv[]) |
Assembly test example. More... | |
Variables | |
static uint8_t * | detector_cal_result_static |
static uint32_t | detector_cal_result_static_size = 0 |
static acc_cal_result_t | sensor_cal_results [(((125)/(16))+1)] |
static acc_detector_cal_result_dynamic_t | detector_cal_results_dynamic [(((125)/(16))+1)] |
static int16_t | cal_temps [(((125)/(16))+1)] |
static uint16_t | curr_cache_count = 0 |
static uint16_t | cache_index_in_use = 0 |
#define MAX_CACHE_COUNT ((MAX_TEMP_VARIATION / MAX_CAL_TEMP_DIFF) + 1) |
Definition at line 70 of file example_detector_distance_calibration_caching.c.
#define MAX_CAL_TEMP_DIFF (16) |
A sensor calibration and the dynamic part of a detector calibration are valid at the temperature they were done +- 15 degrees.
If the temperature isn't controlled during caching, which is the case in this example, the maximum amount of caches needs to be calculated from a temperature difference of 16.
For example
However, if the temperature is controlled, for example in a factory, the maximum amount of caches can be calculated from a temperature difference of 30.
For example
The maximum temperature variation that the application will operate in is assumed to be -40 to 85 degrees in this example.
Definition at line 68 of file example_detector_distance_calibration_caching.c.
#define MAX_TEMP_VARIATION (125) |
Definition at line 69 of file example_detector_distance_calibration_caching.c.
#define SENSOR_ID (1U) |
Definition at line 39 of file example_detector_distance_calibration_caching.c.
#define SENSOR_TIMEOUT_MS (2000U) |
Definition at line 41 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 542 of file example_detector_distance_calibration_caching.c.
int app_main | ( | int | argc, |
char * | argv[] | ||
) |
Assembly test example.
Service subsweeps example.
Low power service example.
Service multple configurations example.
Service sensor calibration caching example.
Service example.
Processing subtract adaptive background example.
Processing static presence example.
Processing peak interpolation example.
Processing noncoherent mean example.
Processing coherent mean example.
Processing amplitude example.
Detector presence example with multiple configurations.
Detector presence example.
Detector distance example with iq data print.
Detector distance with calibration caching example.
Detector distance example.
Control helper example.
Detector filters and states are reset on prepare (reconfiguration) to avoid risk of false detections when switching back to a zone.
Detector filters and states are reset on prepare (reconfiguration) to avoid risk of false detections when switching back to a zone.
Definition at line 138 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 467 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 325 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 415 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 442 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 279 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 511 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 534 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 246 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 358 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 379 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 229 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 81 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 79 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 80 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 73 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 74 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 78 of file example_detector_distance_calibration_caching.c.
|
static |
Definition at line 77 of file example_detector_distance_calibration_caching.c.