presence_reg_protocol.h
Go to the documentation of this file.
1 // Copyright (c) Acconeer AB, 2023
2 // All rights reserved
3 
4 #ifndef PRESENCE_REG_PROTOCOL_H_
5 #define PRESENCE_REG_PROTOCOL_H_
6 
7 #include <stdbool.h>
8 #include <stdint.h>
9 
10 // The number of registers in the application
11 #define PRESENCE_REG_REGISTER_COUNT 32U
12 
13 // The register address defines
14 #define PRESENCE_REG_VERSION_ADDRESS 0U
15 #define PRESENCE_REG_PROTOCOL_STATUS_ADDRESS 1U
16 #define PRESENCE_REG_MEASURE_COUNTER_ADDRESS 2U
17 #define PRESENCE_REG_DETECTOR_STATUS_ADDRESS 3U
18 #define PRESENCE_REG_PRESENCE_RESULT_ADDRESS 16U
19 #define PRESENCE_REG_PRESENCE_DISTANCE_ADDRESS 17U
20 #define PRESENCE_REG_INTRA_PRESENCE_SCORE_ADDRESS 18U
21 #define PRESENCE_REG_INTER_PRESENCE_SCORE_ADDRESS 19U
22 #define PRESENCE_REG_SWEEPS_PER_FRAME_ADDRESS 64U
23 #define PRESENCE_REG_INTER_FRAME_PRESENCE_TIMEOUT_ADDRESS 65U
24 #define PRESENCE_REG_INTER_PHASE_BOOST_ENABLED_ADDRESS 66U
25 #define PRESENCE_REG_INTRA_DETECTION_ENABLED_ADDRESS 67U
26 #define PRESENCE_REG_INTER_DETECTION_ENABLED_ADDRESS 68U
27 #define PRESENCE_REG_FRAME_RATE_ADDRESS 69U
28 #define PRESENCE_REG_INTRA_DETECTION_THRESHOLD_ADDRESS 70U
29 #define PRESENCE_REG_INTER_DETECTION_THRESHOLD_ADDRESS 71U
30 #define PRESENCE_REG_INTER_FRAME_DEVIATION_TIME_CONST_ADDRESS 72U
31 #define PRESENCE_REG_INTER_FRAME_FAST_CUTOFF_ADDRESS 73U
32 #define PRESENCE_REG_INTER_FRAME_SLOW_CUTOFF_ADDRESS 74U
33 #define PRESENCE_REG_INTRA_FRAME_TIME_CONST_ADDRESS 75U
34 #define PRESENCE_REG_INTRA_OUTPUT_TIME_CONST_ADDRESS 76U
35 #define PRESENCE_REG_INTER_OUTPUT_TIME_CONST_ADDRESS 77U
36 #define PRESENCE_REG_AUTO_PROFILE_ENABLED_ADDRESS 78U
37 #define PRESENCE_REG_AUTO_STEP_LENGTH_ENABLED_ADDRESS 79U
38 #define PRESENCE_REG_MANUAL_PROFILE_ADDRESS 80U
39 #define PRESENCE_REG_MANUAL_STEP_LENGTH_ADDRESS 81U
40 #define PRESENCE_REG_START_ADDRESS 82U
41 #define PRESENCE_REG_END_ADDRESS 83U
42 #define PRESENCE_REG_RESET_FILTERS_ON_PREPARE_ADDRESS 84U
43 #define PRESENCE_REG_HWAAS_ADDRESS 85U
44 #define PRESENCE_REG_DETECTION_ON_GPIO_ADDRESS 128U
45 #define PRESENCE_REG_COMMAND_ADDRESS 256U
46 
47 // The defines for version fields (masks ans bit-positions)
48 #define PRESENCE_REG_VERSION_FIELD_MAJOR_POS 16U
49 #define PRESENCE_REG_VERSION_FIELD_MAJOR_MASK 0xffff0000
50 #define PRESENCE_REG_VERSION_FIELD_MINOR_POS 8U
51 #define PRESENCE_REG_VERSION_FIELD_MINOR_MASK 0x0000ff00
52 #define PRESENCE_REG_VERSION_FIELD_PATCH_POS 0U
53 #define PRESENCE_REG_VERSION_FIELD_PATCH_MASK 0x000000ff
54 
55 // The defines for protocol_status fields (masks ans bit-positions)
56 #define PRESENCE_REG_PROTOCOL_STATUS_FIELD_PROTOCOL_STATE_ERROR_POS 0U
57 #define PRESENCE_REG_PROTOCOL_STATUS_FIELD_PROTOCOL_STATE_ERROR_MASK 0x00000001
58 #define PRESENCE_REG_PROTOCOL_STATUS_FIELD_PACKET_LENGTH_ERROR_POS 1U
59 #define PRESENCE_REG_PROTOCOL_STATUS_FIELD_PACKET_LENGTH_ERROR_MASK 0x00000002
60 #define PRESENCE_REG_PROTOCOL_STATUS_FIELD_ADDRESS_ERROR_POS 2U
61 #define PRESENCE_REG_PROTOCOL_STATUS_FIELD_ADDRESS_ERROR_MASK 0x00000004
62 #define PRESENCE_REG_PROTOCOL_STATUS_FIELD_WRITE_FAILED_POS 3U
63 #define PRESENCE_REG_PROTOCOL_STATUS_FIELD_WRITE_FAILED_MASK 0x00000008
64 #define PRESENCE_REG_PROTOCOL_STATUS_FIELD_WRITE_TO_READ_ONLY_POS 4U
65 #define PRESENCE_REG_PROTOCOL_STATUS_FIELD_WRITE_TO_READ_ONLY_MASK 0x00000010
66 
67 // The defines for detector_status fields (masks ans bit-positions)
68 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_RSS_REGISTER_OK_POS 0U
69 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_RSS_REGISTER_OK_MASK 0x00000001
70 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_CONFIG_CREATE_OK_POS 1U
71 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_CONFIG_CREATE_OK_MASK 0x00000002
72 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_SENSOR_CREATE_OK_POS 2U
73 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_SENSOR_CREATE_OK_MASK 0x00000004
74 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_SENSOR_CALIBRATE_OK_POS 3U
75 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_SENSOR_CALIBRATE_OK_MASK 0x00000008
76 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_CREATE_OK_POS 4U
77 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_CREATE_OK_MASK 0x00000010
78 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_BUFFER_OK_POS 5U
79 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_BUFFER_OK_MASK 0x00000020
80 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_SENSOR_BUFFER_OK_POS 6U
81 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_SENSOR_BUFFER_OK_MASK 0x00000040
82 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_CONFIG_APPLY_OK_POS 7U
83 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_CONFIG_APPLY_OK_MASK 0x00000080
84 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_RSS_REGISTER_ERROR_POS 16U
85 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_RSS_REGISTER_ERROR_MASK 0x00010000
86 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_CONFIG_CREATE_ERROR_POS 17U
87 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_CONFIG_CREATE_ERROR_MASK 0x00020000
88 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_SENSOR_CREATE_ERROR_POS 18U
89 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_SENSOR_CREATE_ERROR_MASK 0x00040000
90 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_SENSOR_CALIBRATE_ERROR_POS 19U
91 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_SENSOR_CALIBRATE_ERROR_MASK 0x00080000
92 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_CREATE_ERROR_POS 20U
93 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_CREATE_ERROR_MASK 0x00100000
94 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_BUFFER_ERROR_POS 21U
95 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_BUFFER_ERROR_MASK 0x00200000
96 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_SENSOR_BUFFER_ERROR_POS 22U
97 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_SENSOR_BUFFER_ERROR_MASK 0x00400000
98 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_CONFIG_APPLY_ERROR_POS 23U
99 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_CONFIG_APPLY_ERROR_MASK 0x00800000
100 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_ERROR_POS 28U
101 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_ERROR_MASK 0x10000000
102 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_BUSY_POS 31U
103 #define PRESENCE_REG_DETECTOR_STATUS_FIELD_BUSY_MASK 0x80000000
104 
105 // The defines for presence_result fields (masks ans bit-positions)
106 #define PRESENCE_REG_PRESENCE_RESULT_FIELD_PRESENCE_DETECTED_POS 0U
107 #define PRESENCE_REG_PRESENCE_RESULT_FIELD_PRESENCE_DETECTED_MASK 0x00000001
108 #define PRESENCE_REG_PRESENCE_RESULT_FIELD_PRESENCE_DETECTED_STICKY_POS 1U
109 #define PRESENCE_REG_PRESENCE_RESULT_FIELD_PRESENCE_DETECTED_STICKY_MASK 0x00000002
110 #define PRESENCE_REG_PRESENCE_RESULT_FIELD_DETECTOR_ERROR_POS 15U
111 #define PRESENCE_REG_PRESENCE_RESULT_FIELD_DETECTOR_ERROR_MASK 0x00008000
112 #define PRESENCE_REG_PRESENCE_RESULT_FIELD_TEMPERATURE_POS 16U
113 #define PRESENCE_REG_PRESENCE_RESULT_FIELD_TEMPERATURE_MASK 0xffff0000
114 
115 // The defines for manual_profile enum values
116 #define PRESENCE_REG_MANUAL_PROFILE_ENUM_PROFILE1 1U
117 #define PRESENCE_REG_MANUAL_PROFILE_ENUM_PROFILE2 2U
118 #define PRESENCE_REG_MANUAL_PROFILE_ENUM_PROFILE3 3U
119 #define PRESENCE_REG_MANUAL_PROFILE_ENUM_PROFILE4 4U
120 #define PRESENCE_REG_MANUAL_PROFILE_ENUM_PROFILE5 5U
121 
122 // The defines for command enum values
123 #define PRESENCE_REG_COMMAND_ENUM_APPLY_CONFIGURATION 1U
124 #define PRESENCE_REG_COMMAND_ENUM_START_DETECTOR 2U
125 #define PRESENCE_REG_COMMAND_ENUM_STOP_DETECTOR 3U
126 #define PRESENCE_REG_COMMAND_ENUM_ENABLE_UART_LOGS 32U
127 #define PRESENCE_REG_COMMAND_ENUM_DISABLE_UART_LOGS 33U
128 #define PRESENCE_REG_COMMAND_ENUM_LOG_CONFIGURATION 34U
129 #define PRESENCE_REG_COMMAND_ENUM_RESET_MODULE 0x52535421
130 
131 // The config default defines
132 #define PRESENCE_REG_SWEEPS_PER_FRAME_DEFAULT_VALUE 16U
133 #define PRESENCE_REG_INTER_FRAME_PRESENCE_TIMEOUT_DEFAULT_VALUE 3U
134 #define PRESENCE_REG_INTER_PHASE_BOOST_ENABLED_DEFAULT_VALUE 0U
135 #define PRESENCE_REG_INTRA_DETECTION_ENABLED_DEFAULT_VALUE 1U
136 #define PRESENCE_REG_INTER_DETECTION_ENABLED_DEFAULT_VALUE 1U
137 #define PRESENCE_REG_FRAME_RATE_DEFAULT_VALUE 12000U
138 #define PRESENCE_REG_INTRA_DETECTION_THRESHOLD_DEFAULT_VALUE 1300U
139 #define PRESENCE_REG_INTER_DETECTION_THRESHOLD_DEFAULT_VALUE 1000U
140 #define PRESENCE_REG_INTER_FRAME_DEVIATION_TIME_CONST_DEFAULT_VALUE 500U
141 #define PRESENCE_REG_INTER_FRAME_FAST_CUTOFF_DEFAULT_VALUE 6000U
142 #define PRESENCE_REG_INTER_FRAME_SLOW_CUTOFF_DEFAULT_VALUE 200U
143 #define PRESENCE_REG_INTRA_FRAME_TIME_CONST_DEFAULT_VALUE 150U
144 #define PRESENCE_REG_INTRA_OUTPUT_TIME_CONST_DEFAULT_VALUE 300U
145 #define PRESENCE_REG_INTER_OUTPUT_TIME_CONST_DEFAULT_VALUE 2000U
146 #define PRESENCE_REG_AUTO_PROFILE_ENABLED_DEFAULT_VALUE 1U
147 #define PRESENCE_REG_AUTO_STEP_LENGTH_ENABLED_DEFAULT_VALUE 1U
148 #define PRESENCE_REG_MANUAL_PROFILE_DEFAULT_VALUE PRESENCE_REG_MANUAL_PROFILE_ENUM_PROFILE4
149 #define PRESENCE_REG_MANUAL_STEP_LENGTH_DEFAULT_VALUE 72U
150 #define PRESENCE_REG_START_DEFAULT_VALUE 300U
151 #define PRESENCE_REG_END_DEFAULT_VALUE 2500U
152 #define PRESENCE_REG_RESET_FILTERS_ON_PREPARE_DEFAULT_VALUE 1U
153 #define PRESENCE_REG_HWAAS_DEFAULT_VALUE 32U
154 #define PRESENCE_REG_DETECTION_ON_GPIO_DEFAULT_VALUE 0U
155 
156 
157 /**
158  * The presence protocol setup function.
159  */
160 void presence_reg_protocol_setup(void);
161 
162 
163 /**
164  * The presence protocol write default register value function.
165  */
167 
168 
169 /**
170  * Read:
171  * Get the RSS version.
172  */
173 void presence_reg_read_version(uint32_t *value);
174 
175 
176 /**
177  * Read:
178  * Get protocol error flags.
179  */
180 void presence_reg_read_protocol_status(uint32_t *value);
181 
182 
183 /**
184  * Read:
185  * Get the measure counter, the number of measurements performed since
186  * restart.
187  */
188 void presence_reg_read_measure_counter(uint32_t *value);
189 
190 
191 /**
192  * Read:
193  * Get detector status flags.
194  */
195 void presence_reg_read_detector_status(uint32_t *value);
196 
197 
198 /**
199  * Read:
200  * The result from the presence detector.
201  */
202 void presence_reg_read_presence_result(uint32_t *value);
203 
204 
205 /**
206  * Read:
207  * The distance, in millimeters, for the detected presence
208  */
209 void presence_reg_read_presence_distance(uint32_t *value);
210 
211 
212 /**
213  * Read:
214  * A measure of the amount of fast motion detected.
215  */
216 void presence_reg_read_intra_presence_score(uint32_t *value);
217 
218 
219 /**
220  * Read:
221  * A measure of the amount of slow motion detected.
222  */
223 void presence_reg_read_inter_presence_score(uint32_t *value);
224 
225 
226 /**
227  * Read:
228  * The number of sweeps that will be captured in each frame
229  * (measurement).
230  */
231 void presence_reg_read_sweeps_per_frame(uint32_t *value);
232 
233 
234 /**
235  * Write:
236  * The number of sweeps that will be captured in each frame
237  * (measurement).
238  */
239 bool presence_reg_write_sweeps_per_frame(const uint32_t value);
240 
241 
242 /**
243  * Read:
244  * Number of seconds the inter-frame presence score needs to decrease
245  * before exponential scaling starts for faster decline. Should be
246  * between 0 and 30 where 0 means no timeout. Note:
247  */
249 
250 
251 /**
252  * Write:
253  * Number of seconds the inter-frame presence score needs to decrease
254  * before exponential scaling starts for faster decline. Should be
255  * between 0 and 30 where 0 means no timeout. Note:
256  */
257 bool presence_reg_write_inter_frame_presence_timeout(const uint32_t value);
258 
259 
260 /**
261  * Read:
262  * Enable to increase detection of slow motions by utilizing the phase
263  * information in the Sparse IQ data.
264  */
265 void presence_reg_read_inter_phase_boost_enabled(uint32_t *value);
266 
267 
268 /**
269  * Write:
270  * Enable to increase detection of slow motions by utilizing the phase
271  * information in the Sparse IQ data.
272  */
273 bool presence_reg_write_inter_phase_boost_enabled(const uint32_t value);
274 
275 
276 /**
277  * Read:
278  * Enable to detect faster movements inside frames.
279  */
280 void presence_reg_read_intra_detection_enabled(uint32_t *value);
281 
282 
283 /**
284  * Write:
285  * Enable to detect faster movements inside frames.
286  */
287 bool presence_reg_write_intra_detection_enabled(const uint32_t value);
288 
289 
290 /**
291  * Read:
292  * Enable to detect slower movements between frames.
293  */
294 void presence_reg_read_inter_detection_enabled(uint32_t *value);
295 
296 
297 /**
298  * Write:
299  * Enable to detect slower movements between frames.
300  */
301 bool presence_reg_write_inter_detection_enabled(const uint32_t value);
302 
303 
304 /**
305  * Read:
306  * The presence detector frame rate. Note: This value is a factor 1000
307  * larger than the RSS value.
308  */
309 void presence_reg_read_frame_rate(uint32_t *value);
310 
311 
312 /**
313  * Write:
314  * The presence detector frame rate. Note: This value is a factor 1000
315  * larger than the RSS value.
316  */
317 bool presence_reg_write_frame_rate(const uint32_t value);
318 
319 
320 /**
321  * Read:
322  * The threshold for detecting faster movements inside frames. Note:
323  * This value is a factor 1000 larger than the RSS value.
324  */
325 void presence_reg_read_intra_detection_threshold(uint32_t *value);
326 
327 
328 /**
329  * Write:
330  * The threshold for detecting faster movements inside frames. Note:
331  * This value is a factor 1000 larger than the RSS value.
332  */
333 bool presence_reg_write_intra_detection_threshold(const uint32_t value);
334 
335 
336 /**
337  * Read:
338  * This is the threshold for detecting slower movements between
339  * frames. Note: This value is a factor 1000 larger than the RSS
340  * value.
341  */
342 void presence_reg_read_inter_detection_threshold(uint32_t *value);
343 
344 
345 /**
346  * Write:
347  * This is the threshold for detecting slower movements between
348  * frames. Note: This value is a factor 1000 larger than the RSS
349  * value.
350  */
351 bool presence_reg_write_inter_detection_threshold(const uint32_t value);
352 
353 
354 /**
355  * Read:
356  * The time constant of the low pass filter for the inter-frame
357  * deviation between fast and slow. Note: This value is a factor 1000
358  * larger than the RSS value.
359  */
361 
362 
363 /**
364  * Write:
365  * The time constant of the low pass filter for the inter-frame
366  * deviation between fast and slow. Note: This value is a factor 1000
367  * larger than the RSS value.
368  */
369 bool presence_reg_write_inter_frame_deviation_time_const(const uint32_t value);
370 
371 
372 /**
373  * Read:
374  * The cutoff frequency of the low pass filter for the fast filtered
375  * absolute sweep mean. Note: This value is a factor 1000 larger than
376  * the RSS value.
377  */
378 void presence_reg_read_inter_frame_fast_cutoff(uint32_t *value);
379 
380 
381 /**
382  * Write:
383  * The cutoff frequency of the low pass filter for the fast filtered
384  * absolute sweep mean. Note: This value is a factor 1000 larger than
385  * the RSS value.
386  */
387 bool presence_reg_write_inter_frame_fast_cutoff(const uint32_t value);
388 
389 
390 /**
391  * Read:
392  * The cutoff frequency of the low pass filter for the slow filtered
393  * absolute sweep mean. Note: This value is a factor 1000 larger than
394  * the RSS value.
395  */
396 void presence_reg_read_inter_frame_slow_cutoff(uint32_t *value);
397 
398 
399 /**
400  * Write:
401  * The cutoff frequency of the low pass filter for the slow filtered
402  * absolute sweep mean. Note: This value is a factor 1000 larger than
403  * the RSS value.
404  */
405 bool presence_reg_write_inter_frame_slow_cutoff(const uint32_t value);
406 
407 
408 /**
409  * Read:
410  * The time constant for the depthwise filtering in the intra-frame
411  * part. Note: This value is a factor 1000 larger than the RSS value.
412  */
413 void presence_reg_read_intra_frame_time_const(uint32_t *value);
414 
415 
416 /**
417  * Write:
418  * The time constant for the depthwise filtering in the intra-frame
419  * part. Note: This value is a factor 1000 larger than the RSS value.
420  */
421 bool presence_reg_write_intra_frame_time_const(const uint32_t value);
422 
423 
424 /**
425  * Read:
426  * The time constant for the output in the intra-frame part. Note:
427  * This value is a factor 1000 larger than the RSS value.
428  */
429 void presence_reg_read_intra_output_time_const(uint32_t *value);
430 
431 
432 /**
433  * Write:
434  * The time constant for the output in the intra-frame part. Note:
435  * This value is a factor 1000 larger than the RSS value.
436  */
437 bool presence_reg_write_intra_output_time_const(const uint32_t value);
438 
439 
440 /**
441  * Read:
442  * The time constant for the output in the inter-frame part. Note:
443  * This value is a factor 1000 larger than the RSS value.
444  */
445 void presence_reg_read_inter_output_time_const(uint32_t *value);
446 
447 
448 /**
449  * Write:
450  * The time constant for the output in the inter-frame part. Note:
451  * This value is a factor 1000 larger than the RSS value.
452  */
453 bool presence_reg_write_inter_output_time_const(const uint32_t value);
454 
455 
456 /**
457  * Read:
458  * Enable/Disable automatic selection of profile based on start point
459  * of measurement.
460  */
461 void presence_reg_read_auto_profile_enabled(uint32_t *value);
462 
463 
464 /**
465  * Write:
466  * Enable/Disable automatic selection of profile based on start point
467  * of measurement.
468  */
469 bool presence_reg_write_auto_profile_enabled(const uint32_t value);
470 
471 
472 /**
473  * Read:
474  * Enable/Disable automatic selection of step length based on the
475  * profile.
476  */
477 void presence_reg_read_auto_step_length_enabled(uint32_t *value);
478 
479 
480 /**
481  * Write:
482  * Enable/Disable automatic selection of step length based on the
483  * profile.
484  */
485 bool presence_reg_write_auto_step_length_enabled(const uint32_t value);
486 
487 
488 /**
489  * Read:
490  * The profile to use. The profile will only be used if profile auto
491  * selection was disabled.
492  */
493 void presence_reg_read_manual_profile(uint32_t *value);
494 
495 
496 /**
497  * Write:
498  * The profile to use. The profile will only be used if profile auto
499  * selection was disabled.
500  */
501 bool presence_reg_write_manual_profile(const uint32_t value);
502 
503 
504 /**
505  * Read:
506  * The number of steps between each data point. The manual step length
507  * will only be used if step length auto selection was disabled.
508  */
509 void presence_reg_read_manual_step_length(uint32_t *value);
510 
511 
512 /**
513  * Write:
514  * The number of steps between each data point. The manual step length
515  * will only be used if step length auto selection was disabled.
516  */
517 bool presence_reg_write_manual_step_length(const uint32_t value);
518 
519 
520 /**
521  * Read:
522  * The start point of measurement interval in millimeters. Note: This
523  * value is a factor 1000 larger than the RSS value.
524  */
525 void presence_reg_read_start(uint32_t *value);
526 
527 
528 /**
529  * Write:
530  * The start point of measurement interval in millimeters. Note: This
531  * value is a factor 1000 larger than the RSS value.
532  */
533 bool presence_reg_write_start(const uint32_t value);
534 
535 
536 /**
537  * Read:
538  * The end point of measurement interval in millimeters. Note: This
539  * value is a factor 1000 larger than the RSS value.
540  */
541 void presence_reg_read_end(uint32_t *value);
542 
543 
544 /**
545  * Write:
546  * The end point of measurement interval in millimeters. Note: This
547  * value is a factor 1000 larger than the RSS value.
548  */
549 bool presence_reg_write_end(const uint32_t value);
550 
551 
552 /**
553  * Read:
554  * Enable/Disable reset of the presence filters during start/restart.
555  */
556 void presence_reg_read_reset_filters_on_prepare(uint32_t *value);
557 
558 
559 /**
560  * Write:
561  * Enable/Disable reset of the presence filters during start/restart.
562  */
563 bool presence_reg_write_reset_filters_on_prepare(const uint32_t value);
564 
565 
566 /**
567  * Read:
568  * The hardware accelerated average samples (HWAAS).
569  */
570 void presence_reg_read_hwaas(uint32_t *value);
571 
572 
573 /**
574  * Write:
575  * The hardware accelerated average samples (HWAAS).
576  */
577 bool presence_reg_write_hwaas(const uint32_t value);
578 
579 
580 /**
581  * Read:
582  * Output presence detection on generic gpio
583  */
584 void presence_reg_read_detection_on_gpio(uint32_t *value);
585 
586 
587 /**
588  * Write:
589  * Output presence detection on generic gpio
590  */
591 bool presence_reg_write_detection_on_gpio(const uint32_t value);
592 
593 
594 /**
595  * Write:
596  * Execute command.
597  */
598 bool presence_reg_write_command(const uint32_t value);
599 
600 
601 #endif
presence_reg_write_inter_frame_slow_cutoff
bool presence_reg_write_inter_frame_slow_cutoff(const uint32_t value)
Definition: presence_reg_protocol_access.c:372
presence_reg_write_auto_profile_enabled
bool presence_reg_write_auto_profile_enabled(const uint32_t value)
Definition: presence_reg_protocol_access.c:473
presence_reg_read_measure_counter
void presence_reg_read_measure_counter(uint32_t *value)
Definition: presence_reg_protocol_access.c:72
presence_reg_write_inter_detection_threshold
bool presence_reg_write_inter_detection_threshold(const uint32_t value)
Definition: presence_reg_protocol_access.c:297
presence_reg_write_inter_output_time_const
bool presence_reg_write_inter_output_time_const(const uint32_t value)
Definition: presence_reg_protocol_access.c:447
presence_reg_write_intra_detection_threshold
bool presence_reg_write_intra_detection_threshold(const uint32_t value)
Definition: presence_reg_protocol_access.c:272
presence_reg_write_intra_frame_time_const
bool presence_reg_write_intra_frame_time_const(const uint32_t value)
Definition: presence_reg_protocol_access.c:397
presence_reg_read_inter_frame_slow_cutoff
void presence_reg_read_inter_frame_slow_cutoff(uint32_t *value)
Definition: presence_reg_protocol_access.c:363
presence_reg_read_presence_distance
void presence_reg_read_presence_distance(uint32_t *value)
Definition: presence_reg_protocol_access.c:90
presence_reg_write_frame_rate
bool presence_reg_write_frame_rate(const uint32_t value)
Definition: presence_reg_protocol_access.c:247
presence_reg_write_start
bool presence_reg_write_start(const uint32_t value)
Definition: presence_reg_protocol_access.c:620
presence_reg_read_protocol_status
void presence_reg_read_protocol_status(uint32_t *value)
Definition: presence_reg_protocol_access.c:38
presence_reg_read_intra_output_time_const
void presence_reg_read_intra_output_time_const(uint32_t *value)
Definition: presence_reg_protocol_access.c:413
presence_reg_read_inter_frame_presence_timeout
void presence_reg_read_inter_frame_presence_timeout(uint32_t *value)
Definition: presence_reg_protocol_access.c:137
presence_reg_write_inter_frame_fast_cutoff
bool presence_reg_write_inter_frame_fast_cutoff(const uint32_t value)
Definition: presence_reg_protocol_access.c:347
presence_reg_read_intra_detection_threshold
void presence_reg_read_intra_detection_threshold(uint32_t *value)
Definition: presence_reg_protocol_access.c:263
presence_reg_read_detector_status
void presence_reg_read_detector_status(uint32_t *value)
Definition: presence_reg_protocol_access.c:78
presence_reg_read_hwaas
void presence_reg_read_hwaas(uint32_t *value)
Definition: presence_reg_protocol_access.c:687
presence_reg_read_auto_step_length_enabled
void presence_reg_read_auto_step_length_enabled(uint32_t *value)
Definition: presence_reg_protocol_access.c:489
presence_reg_write_command
bool presence_reg_write_command(const uint32_t value)
Definition: presence_reg_protocol_access.c:733
presence_reg_read_end
void presence_reg_read_end(uint32_t *value)
Definition: presence_reg_protocol_access.c:636
presence_reg_write_inter_frame_deviation_time_const
bool presence_reg_write_inter_frame_deviation_time_const(const uint32_t value)
Definition: presence_reg_protocol_access.c:322
presence_reg_read_inter_frame_deviation_time_const
void presence_reg_read_inter_frame_deviation_time_const(uint32_t *value)
Definition: presence_reg_protocol_access.c:313
presence_reg_write_manual_step_length
bool presence_reg_write_manual_step_length(const uint32_t value)
Definition: presence_reg_protocol_access.c:596
presence_reg_read_auto_profile_enabled
void presence_reg_read_auto_profile_enabled(uint32_t *value)
Definition: presence_reg_protocol_access.c:463
presence_reg_read_inter_output_time_const
void presence_reg_read_inter_output_time_const(uint32_t *value)
Definition: presence_reg_protocol_access.c:438
presence_reg_read_inter_presence_score
void presence_reg_read_inter_presence_score(uint32_t *value)
Definition: presence_reg_protocol_access.c:106
presence_reg_write_detection_on_gpio
bool presence_reg_write_detection_on_gpio(const uint32_t value)
Definition: presence_reg_protocol_access.c:723
presence_reg_read_manual_step_length
void presence_reg_read_manual_step_length(uint32_t *value)
Definition: presence_reg_protocol_access.c:588
presence_reg_write_inter_detection_enabled
bool presence_reg_write_inter_detection_enabled(const uint32_t value)
Definition: presence_reg_protocol_access.c:222
presence_reg_write_inter_frame_presence_timeout
bool presence_reg_write_inter_frame_presence_timeout(const uint32_t value)
Definition: presence_reg_protocol_access.c:145
presence_reg_read_inter_phase_boost_enabled
void presence_reg_read_inter_phase_boost_enabled(uint32_t *value)
Definition: presence_reg_protocol_access.c:160
presence_reg_protocol_write_default
void presence_reg_protocol_write_default(void)
Definition: presence_reg_protocol.c:188
presence_reg_read_version
void presence_reg_read_version(uint32_t *value)
Definition: presence_reg_protocol_access.c:32
presence_reg_write_hwaas
bool presence_reg_write_hwaas(const uint32_t value)
Definition: presence_reg_protocol_access.c:695
presence_reg_write_auto_step_length_enabled
bool presence_reg_write_auto_step_length_enabled(const uint32_t value)
Definition: presence_reg_protocol_access.c:499
presence_reg_read_presence_result
void presence_reg_read_presence_result(uint32_t *value)
Definition: presence_reg_protocol_access.c:84
presence_reg_write_sweeps_per_frame
bool presence_reg_write_sweeps_per_frame(const uint32_t value)
Definition: presence_reg_protocol_access.c:122
presence_reg_read_intra_frame_time_const
void presence_reg_read_intra_frame_time_const(uint32_t *value)
Definition: presence_reg_protocol_access.c:388
presence_reg_read_inter_detection_enabled
void presence_reg_read_inter_detection_enabled(uint32_t *value)
Definition: presence_reg_protocol_access.c:212
presence_reg_read_inter_detection_threshold
void presence_reg_read_inter_detection_threshold(uint32_t *value)
Definition: presence_reg_protocol_access.c:288
presence_reg_read_detection_on_gpio
void presence_reg_read_detection_on_gpio(uint32_t *value)
Definition: presence_reg_protocol_access.c:710
presence_reg_read_reset_filters_on_prepare
void presence_reg_read_reset_filters_on_prepare(uint32_t *value)
Definition: presence_reg_protocol_access.c:661
presence_reg_read_frame_rate
void presence_reg_read_frame_rate(uint32_t *value)
Definition: presence_reg_protocol_access.c:238
presence_reg_read_inter_frame_fast_cutoff
void presence_reg_read_inter_frame_fast_cutoff(uint32_t *value)
Definition: presence_reg_protocol_access.c:338
presence_reg_read_start
void presence_reg_read_start(uint32_t *value)
Definition: presence_reg_protocol_access.c:611
presence_reg_read_sweeps_per_frame
void presence_reg_read_sweeps_per_frame(uint32_t *value)
Definition: presence_reg_protocol_access.c:114
presence_reg_write_reset_filters_on_prepare
bool presence_reg_write_reset_filters_on_prepare(const uint32_t value)
Definition: presence_reg_protocol_access.c:671
presence_reg_read_manual_profile
void presence_reg_read_manual_profile(uint32_t *value)
Definition: presence_reg_protocol_access.c:515
presence_reg_write_intra_detection_enabled
bool presence_reg_write_intra_detection_enabled(const uint32_t value)
Definition: presence_reg_protocol_access.c:196
presence_reg_read_intra_presence_score
void presence_reg_read_intra_presence_score(uint32_t *value)
Definition: presence_reg_protocol_access.c:98
presence_reg_read_intra_detection_enabled
void presence_reg_read_intra_detection_enabled(uint32_t *value)
Definition: presence_reg_protocol_access.c:186
presence_reg_write_end
bool presence_reg_write_end(const uint32_t value)
Definition: presence_reg_protocol_access.c:645
presence_reg_write_intra_output_time_const
bool presence_reg_write_intra_output_time_const(const uint32_t value)
Definition: presence_reg_protocol_access.c:422
presence_reg_protocol_setup
void presence_reg_protocol_setup(void)
Definition: presence_reg_protocol.c:182
presence_reg_write_inter_phase_boost_enabled
bool presence_reg_write_inter_phase_boost_enabled(const uint32_t value)
Definition: presence_reg_protocol_access.c:170
presence_reg_write_manual_profile
bool presence_reg_write_manual_profile(const uint32_t value)
Definition: presence_reg_protocol_access.c:546