ref_app_breathing_reg_protocol.c
Go to the documentation of this file.
1 // Copyright (c) Acconeer AB, 2025
2 // All rights reserved
3 // This file is subject to the terms and conditions defined in the file
4 // 'LICENSES/license_acconeer.txt', (BSD 3-Clause License) which is part
5 // of this source code package.
6 
7 #include <stdbool.h>
8 #include <stddef.h>
9 #include <stdint.h>
10 
11 #include "acc_reg_protocol.h"
13 
14 
15 /**
16  * This struct defines the links between a register address and the register read and/or write function.
17  */
19  {
20  REF_APP_BREATHING_REG_VERSION_ADDRESS, // version address
21  ref_app_breathing_reg_read_version, // version read access function
22  NULL,
23  },
24  {
25  REF_APP_BREATHING_REG_PROTOCOL_STATUS_ADDRESS, // protocol_status address
26  ref_app_breathing_reg_read_protocol_status, // protocol_status read access function
27  NULL,
28  },
29  {
30  REF_APP_BREATHING_REG_MEASURE_COUNTER_ADDRESS, // measure_counter address
31  ref_app_breathing_reg_read_measure_counter, // measure_counter read access function
32  NULL,
33  },
34  {
35  REF_APP_BREATHING_REG_APP_STATUS_ADDRESS, // app_status address
36  ref_app_breathing_reg_read_app_status, // app_status read access function
37  NULL,
38  },
39  {
40  REF_APP_BREATHING_REG_BREATHING_RESULT_ADDRESS, // breathing_result address
41  ref_app_breathing_reg_read_breathing_result, // breathing_result read access function
42  NULL,
43  },
44  {
45  REF_APP_BREATHING_REG_BREATHING_RATE_ADDRESS, // breathing_rate address
46  ref_app_breathing_reg_read_breathing_rate, // breathing_rate read access function
47  NULL,
48  },
49  {
50  REF_APP_BREATHING_REG_APP_STATE_ADDRESS, // app_state address
51  ref_app_breathing_reg_read_app_state, // app_state read access function
52  NULL,
53  },
54  {
55  REF_APP_BREATHING_REG_START_ADDRESS, // start address
56  ref_app_breathing_reg_read_start, // start read access function
57  ref_app_breathing_reg_write_start, // start write access function
58  },
59  {
60  REF_APP_BREATHING_REG_END_ADDRESS, // end address
61  ref_app_breathing_reg_read_end, // end read access function
62  ref_app_breathing_reg_write_end, // end write access function
63  },
64  {
65  REF_APP_BREATHING_REG_NUM_DISTANCES_TO_ANALYZE_ADDRESS, // num_distances_to_analyze address
66  ref_app_breathing_reg_read_num_distances_to_analyze, // num_distances_to_analyze read access function
67  ref_app_breathing_reg_write_num_distances_to_analyze, // num_distances_to_analyze write access function
68  },
69  {
70  REF_APP_BREATHING_REG_DISTANCE_DETERMINATION_DURATION_S_ADDRESS, // distance_determination_duration_s address
71  ref_app_breathing_reg_read_distance_determination_duration_s, // distance_determination_duration_s read access function
72  ref_app_breathing_reg_write_distance_determination_duration_s, // distance_determination_duration_s write access function
73  },
74  {
75  REF_APP_BREATHING_REG_USE_PRESENCE_PROCESSOR_ADDRESS, // use_presence_processor address
76  ref_app_breathing_reg_read_use_presence_processor, // use_presence_processor read access function
77  ref_app_breathing_reg_write_use_presence_processor, // use_presence_processor write access function
78  },
79  {
80  REF_APP_BREATHING_REG_LOWEST_BREATHING_RATE_ADDRESS, // lowest_breathing_rate address
81  ref_app_breathing_reg_read_lowest_breathing_rate, // lowest_breathing_rate read access function
82  ref_app_breathing_reg_write_lowest_breathing_rate, // lowest_breathing_rate write access function
83  },
84  {
85  REF_APP_BREATHING_REG_HIGHEST_BREATHING_RATE_ADDRESS, // highest_breathing_rate address
86  ref_app_breathing_reg_read_highest_breathing_rate, // highest_breathing_rate read access function
87  ref_app_breathing_reg_write_highest_breathing_rate, // highest_breathing_rate write access function
88  },
89  {
90  REF_APP_BREATHING_REG_TIME_SERIES_LENGTH_S_ADDRESS, // time_series_length_s address
91  ref_app_breathing_reg_read_time_series_length_s, // time_series_length_s read access function
92  ref_app_breathing_reg_write_time_series_length_s, // time_series_length_s write access function
93  },
94  {
95  REF_APP_BREATHING_REG_FRAME_RATE_ADDRESS, // frame_rate address
96  ref_app_breathing_reg_read_frame_rate, // frame_rate read access function
97  ref_app_breathing_reg_write_frame_rate, // frame_rate write access function
98  },
99  {
100  REF_APP_BREATHING_REG_SWEEPS_PER_FRAME_ADDRESS, // sweeps_per_frame address
101  ref_app_breathing_reg_read_sweeps_per_frame, // sweeps_per_frame read access function
102  ref_app_breathing_reg_write_sweeps_per_frame, // sweeps_per_frame write access function
103  },
104  {
105  REF_APP_BREATHING_REG_HWAAS_ADDRESS, // hwaas address
106  ref_app_breathing_reg_read_hwaas, // hwaas read access function
107  ref_app_breathing_reg_write_hwaas, // hwaas write access function
108  },
109  {
110  REF_APP_BREATHING_REG_PROFILE_ADDRESS, // profile address
111  ref_app_breathing_reg_read_profile, // profile read access function
112  ref_app_breathing_reg_write_profile, // profile write access function
113  },
114  {
115  REF_APP_BREATHING_REG_INTRA_DETECTION_THRESHOLD_ADDRESS, // intra_detection_threshold address
116  ref_app_breathing_reg_read_intra_detection_threshold, // intra_detection_threshold read access function
117  ref_app_breathing_reg_write_intra_detection_threshold, // intra_detection_threshold write access function
118  },
119  {
120  REF_APP_BREATHING_REG_COMMAND_ADDRESS, // command address
121  NULL,
122  ref_app_breathing_reg_write_command, // command write access function
123  },
124  {
125  REF_APP_BREATHING_REG_APPLICATION_ID_ADDRESS, // application_id address
126  ref_app_breathing_reg_read_application_id, // application_id read access function
127  NULL,
128  },
129 };
130 
131 
133 {
135 }
136 
137 
139 {
153 }
REF_APP_BREATHING_REG_TIME_SERIES_LENGTH_S_DEFAULT_VALUE
#define REF_APP_BREATHING_REG_TIME_SERIES_LENGTH_S_DEFAULT_VALUE
Definition: ref_app_breathing_reg_protocol.h:140
ref_app_breathing_reg_read_highest_breathing_rate
void ref_app_breathing_reg_read_highest_breathing_rate(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:275
REF_APP_BREATHING_REG_MEASURE_COUNTER_ADDRESS
#define REF_APP_BREATHING_REG_MEASURE_COUNTER_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:16
ref_app_breathing_reg_read_frame_rate
void ref_app_breathing_reg_read_frame_rate(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:321
REF_APP_BREATHING_REG_INTRA_DETECTION_THRESHOLD_DEFAULT_VALUE
#define REF_APP_BREATHING_REG_INTRA_DETECTION_THRESHOLD_DEFAULT_VALUE
Definition: ref_app_breathing_reg_protocol.h:145
ref_app_breathing_reg_protocol_setup
void ref_app_breathing_reg_protocol_setup(void)
Definition: ref_app_breathing_reg_protocol.c:132
ref_app_breathing_reg_write_highest_breathing_rate
bool ref_app_breathing_reg_write_highest_breathing_rate(const uint32_t value)
Definition: ref_app_breathing_reg_protocol_access.c:283
REF_APP_BREATHING_REG_USE_PRESENCE_PROCESSOR_DEFAULT_VALUE
#define REF_APP_BREATHING_REG_USE_PRESENCE_PROCESSOR_DEFAULT_VALUE
Definition: ref_app_breathing_reg_protocol.h:137
ref_app_breathing_reg_write_lowest_breathing_rate
bool ref_app_breathing_reg_write_lowest_breathing_rate(const uint32_t value)
Definition: ref_app_breathing_reg_protocol_access.c:260
REF_APP_BREATHING_REG_BREATHING_RATE_ADDRESS
#define REF_APP_BREATHING_REG_BREATHING_RATE_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:19
REF_APP_BREATHING_REG_PROFILE_ADDRESS
#define REF_APP_BREATHING_REG_PROFILE_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:32
ref_app_breathing_reg_read_time_series_length_s
void ref_app_breathing_reg_read_time_series_length_s(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:298
REF_APP_BREATHING_REG_NUM_DISTANCES_TO_ANALYZE_DEFAULT_VALUE
#define REF_APP_BREATHING_REG_NUM_DISTANCES_TO_ANALYZE_DEFAULT_VALUE
Definition: ref_app_breathing_reg_protocol.h:135
ref_app_breathing_reg_read_use_presence_processor
void ref_app_breathing_reg_read_use_presence_processor(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:229
ref_app_breathing_reg_read_lowest_breathing_rate
void ref_app_breathing_reg_read_lowest_breathing_rate(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:252
ref_app_breathing_reg_write_time_series_length_s
bool ref_app_breathing_reg_write_time_series_length_s(const uint32_t value)
Definition: ref_app_breathing_reg_protocol_access.c:306
REF_APP_BREATHING_REG_FRAME_RATE_DEFAULT_VALUE
#define REF_APP_BREATHING_REG_FRAME_RATE_DEFAULT_VALUE
Definition: ref_app_breathing_reg_protocol.h:141
ref_app_breathing_reg_read_num_distances_to_analyze
void ref_app_breathing_reg_read_num_distances_to_analyze(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:183
ref_app_breathing_reg_read_breathing_rate
void ref_app_breathing_reg_read_breathing_rate(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:97
REF_APP_BREATHING_REG_SWEEPS_PER_FRAME_ADDRESS
#define REF_APP_BREATHING_REG_SWEEPS_PER_FRAME_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:30
REF_APP_BREATHING_REG_DISTANCE_DETERMINATION_DURATION_S_DEFAULT_VALUE
#define REF_APP_BREATHING_REG_DISTANCE_DETERMINATION_DURATION_S_DEFAULT_VALUE
Definition: ref_app_breathing_reg_protocol.h:136
REF_APP_BREATHING_REG_APP_STATE_ADDRESS
#define REF_APP_BREATHING_REG_APP_STATE_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:20
ref_app_breathing_reg_read_app_status
void ref_app_breathing_reg_read_app_status(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:85
acc_reg_protocol_setup
void acc_reg_protocol_setup(const acc_reg_protocol_t *protocol_struct, uint16_t register_count)
Setup register protocol.
Definition: acc_reg_protocol.c:202
REF_APP_BREATHING_REG_HWAAS_ADDRESS
#define REF_APP_BREATHING_REG_HWAAS_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:31
ref_app_breathing_reg_read_protocol_status
void ref_app_breathing_reg_read_protocol_status(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:45
ref_app_breathing_reg_read_sweeps_per_frame
void ref_app_breathing_reg_read_sweeps_per_frame(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:346
REF_APP_BREATHING_REG_HWAAS_DEFAULT_VALUE
#define REF_APP_BREATHING_REG_HWAAS_DEFAULT_VALUE
Definition: ref_app_breathing_reg_protocol.h:143
ref_app_breathing_reg_protocol
const acc_reg_protocol_t ref_app_breathing_reg_protocol[REF_APP_BREATHING_REG_REGISTER_COUNT]
Definition: ref_app_breathing_reg_protocol.c:18
REF_APP_BREATHING_REG_START_DEFAULT_VALUE
#define REF_APP_BREATHING_REG_START_DEFAULT_VALUE
Definition: ref_app_breathing_reg_protocol.h:133
REF_APP_BREATHING_REG_TIME_SERIES_LENGTH_S_ADDRESS
#define REF_APP_BREATHING_REG_TIME_SERIES_LENGTH_S_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:28
REF_APP_BREATHING_REG_START_ADDRESS
#define REF_APP_BREATHING_REG_START_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:21
ref_app_breathing_reg_write_intra_detection_threshold
bool ref_app_breathing_reg_write_intra_detection_threshold(const uint32_t value)
Definition: ref_app_breathing_reg_protocol_access.c:474
ref_app_breathing_reg_write_start
bool ref_app_breathing_reg_write_start(const uint32_t value)
Definition: ref_app_breathing_reg_protocol_access.c:142
REF_APP_BREATHING_REG_USE_PRESENCE_PROCESSOR_ADDRESS
#define REF_APP_BREATHING_REG_USE_PRESENCE_PROCESSOR_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:25
REF_APP_BREATHING_REG_REGISTER_COUNT
#define REF_APP_BREATHING_REG_REGISTER_COUNT
Definition: ref_app_breathing_reg_protocol.h:11
REF_APP_BREATHING_REG_COMMAND_ADDRESS
#define REF_APP_BREATHING_REG_COMMAND_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:34
REF_APP_BREATHING_REG_FRAME_RATE_ADDRESS
#define REF_APP_BREATHING_REG_FRAME_RATE_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:29
ref_app_breathing_reg_read_application_id
void ref_app_breathing_reg_read_application_id(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:33
ref_app_breathing_reg_read_breathing_result
void ref_app_breathing_reg_read_breathing_result(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:91
ref_app_breathing_reg_protocol.h
ref_app_breathing_reg_read_profile
void ref_app_breathing_reg_read_profile(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:392
REF_APP_BREATHING_REG_LOWEST_BREATHING_RATE_DEFAULT_VALUE
#define REF_APP_BREATHING_REG_LOWEST_BREATHING_RATE_DEFAULT_VALUE
Definition: ref_app_breathing_reg_protocol.h:138
ref_app_breathing_reg_read_version
void ref_app_breathing_reg_read_version(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:39
ref_app_breathing_reg_write_command
bool ref_app_breathing_reg_write_command(const uint32_t value)
Definition: ref_app_breathing_reg_protocol_access.c:490
ref_app_breathing_reg_read_distance_determination_duration_s
void ref_app_breathing_reg_read_distance_determination_duration_s(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:206
REF_APP_BREATHING_REG_VERSION_ADDRESS
#define REF_APP_BREATHING_REG_VERSION_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:14
ref_app_breathing_reg_write_frame_rate
bool ref_app_breathing_reg_write_frame_rate(const uint32_t value)
Definition: ref_app_breathing_reg_protocol_access.c:330
REF_APP_BREATHING_REG_END_ADDRESS
#define REF_APP_BREATHING_REG_END_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:22
REF_APP_BREATHING_REG_PROTOCOL_STATUS_ADDRESS
#define REF_APP_BREATHING_REG_PROTOCOL_STATUS_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:15
REF_APP_BREATHING_REG_SWEEPS_PER_FRAME_DEFAULT_VALUE
#define REF_APP_BREATHING_REG_SWEEPS_PER_FRAME_DEFAULT_VALUE
Definition: ref_app_breathing_reg_protocol.h:142
REF_APP_BREATHING_REG_APP_STATUS_ADDRESS
#define REF_APP_BREATHING_REG_APP_STATUS_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:17
REF_APP_BREATHING_REG_BREATHING_RESULT_ADDRESS
#define REF_APP_BREATHING_REG_BREATHING_RESULT_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:18
ref_app_breathing_reg_write_end
bool ref_app_breathing_reg_write_end(const uint32_t value)
Definition: ref_app_breathing_reg_protocol_access.c:167
acc_reg_protocol_t
Register access mode and functions struct.
Definition: acc_reg_protocol.h:38
ref_app_breathing_reg_write_num_distances_to_analyze
bool ref_app_breathing_reg_write_num_distances_to_analyze(const uint32_t value)
Definition: ref_app_breathing_reg_protocol_access.c:191
REF_APP_BREATHING_REG_PROFILE_DEFAULT_VALUE
#define REF_APP_BREATHING_REG_PROFILE_DEFAULT_VALUE
Definition: ref_app_breathing_reg_protocol.h:144
ref_app_breathing_reg_write_use_presence_processor
bool ref_app_breathing_reg_write_use_presence_processor(const uint32_t value)
Definition: ref_app_breathing_reg_protocol_access.c:237
ref_app_breathing_reg_read_intra_detection_threshold
void ref_app_breathing_reg_read_intra_detection_threshold(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:465
acc_reg_protocol.h
ref_app_breathing_reg_write_hwaas
bool ref_app_breathing_reg_write_hwaas(const uint32_t value)
Definition: ref_app_breathing_reg_protocol_access.c:377
ref_app_breathing_reg_write_profile
bool ref_app_breathing_reg_write_profile(const uint32_t value)
Definition: ref_app_breathing_reg_protocol_access.c:423
REF_APP_BREATHING_REG_HIGHEST_BREATHING_RATE_DEFAULT_VALUE
#define REF_APP_BREATHING_REG_HIGHEST_BREATHING_RATE_DEFAULT_VALUE
Definition: ref_app_breathing_reg_protocol.h:139
REF_APP_BREATHING_REG_DISTANCE_DETERMINATION_DURATION_S_ADDRESS
#define REF_APP_BREATHING_REG_DISTANCE_DETERMINATION_DURATION_S_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:24
REF_APP_BREATHING_REG_END_DEFAULT_VALUE
#define REF_APP_BREATHING_REG_END_DEFAULT_VALUE
Definition: ref_app_breathing_reg_protocol.h:134
ref_app_breathing_reg_read_measure_counter
void ref_app_breathing_reg_read_measure_counter(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:79
REF_APP_BREATHING_REG_LOWEST_BREATHING_RATE_ADDRESS
#define REF_APP_BREATHING_REG_LOWEST_BREATHING_RATE_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:26
ref_app_breathing_reg_write_sweeps_per_frame
bool ref_app_breathing_reg_write_sweeps_per_frame(const uint32_t value)
Definition: ref_app_breathing_reg_protocol_access.c:354
ref_app_breathing_reg_read_end
void ref_app_breathing_reg_read_end(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:158
REF_APP_BREATHING_REG_APPLICATION_ID_ADDRESS
#define REF_APP_BREATHING_REG_APPLICATION_ID_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:35
ref_app_breathing_reg_read_hwaas
void ref_app_breathing_reg_read_hwaas(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:369
REF_APP_BREATHING_REG_INTRA_DETECTION_THRESHOLD_ADDRESS
#define REF_APP_BREATHING_REG_INTRA_DETECTION_THRESHOLD_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:33
ref_app_breathing_reg_read_start
void ref_app_breathing_reg_read_start(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:133
REF_APP_BREATHING_REG_HIGHEST_BREATHING_RATE_ADDRESS
#define REF_APP_BREATHING_REG_HIGHEST_BREATHING_RATE_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:27
ref_app_breathing_reg_protocol_write_default
void ref_app_breathing_reg_protocol_write_default(void)
Definition: ref_app_breathing_reg_protocol.c:138
REF_APP_BREATHING_REG_NUM_DISTANCES_TO_ANALYZE_ADDRESS
#define REF_APP_BREATHING_REG_NUM_DISTANCES_TO_ANALYZE_ADDRESS
Definition: ref_app_breathing_reg_protocol.h:23
ref_app_breathing_reg_read_app_state
void ref_app_breathing_reg_read_app_state(uint32_t *value)
Definition: ref_app_breathing_reg_protocol_access.c:105
ref_app_breathing_reg_write_distance_determination_duration_s
bool ref_app_breathing_reg_write_distance_determination_duration_s(const uint32_t value)
Definition: ref_app_breathing_reg_protocol_access.c:214