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