Go to the documentation of this file.
4 #ifndef DISTANCE_REG_PROTOCOL_H_
5 #define DISTANCE_REG_PROTOCOL_H_
11 #define DISTANCE_REG_REGISTER_COUNT 40U
14 #define DISTANCE_REG_VERSION_ADDRESS 0U
15 #define DISTANCE_REG_PROTOCOL_STATUS_ADDRESS 1U
16 #define DISTANCE_REG_MEASURE_COUNTER_ADDRESS 2U
17 #define DISTANCE_REG_DETECTOR_STATUS_ADDRESS 3U
18 #define DISTANCE_REG_DISTANCE_RESULT_ADDRESS 16U
19 #define DISTANCE_REG_PEAK0_DISTANCE_ADDRESS 17U
20 #define DISTANCE_REG_PEAK1_DISTANCE_ADDRESS 18U
21 #define DISTANCE_REG_PEAK2_DISTANCE_ADDRESS 19U
22 #define DISTANCE_REG_PEAK3_DISTANCE_ADDRESS 20U
23 #define DISTANCE_REG_PEAK4_DISTANCE_ADDRESS 21U
24 #define DISTANCE_REG_PEAK5_DISTANCE_ADDRESS 22U
25 #define DISTANCE_REG_PEAK6_DISTANCE_ADDRESS 23U
26 #define DISTANCE_REG_PEAK7_DISTANCE_ADDRESS 24U
27 #define DISTANCE_REG_PEAK8_DISTANCE_ADDRESS 25U
28 #define DISTANCE_REG_PEAK9_DISTANCE_ADDRESS 26U
29 #define DISTANCE_REG_PEAK0_STRENGTH_ADDRESS 27U
30 #define DISTANCE_REG_PEAK1_STRENGTH_ADDRESS 28U
31 #define DISTANCE_REG_PEAK2_STRENGTH_ADDRESS 29U
32 #define DISTANCE_REG_PEAK3_STRENGTH_ADDRESS 30U
33 #define DISTANCE_REG_PEAK4_STRENGTH_ADDRESS 31U
34 #define DISTANCE_REG_PEAK5_STRENGTH_ADDRESS 32U
35 #define DISTANCE_REG_PEAK6_STRENGTH_ADDRESS 33U
36 #define DISTANCE_REG_PEAK7_STRENGTH_ADDRESS 34U
37 #define DISTANCE_REG_PEAK8_STRENGTH_ADDRESS 35U
38 #define DISTANCE_REG_PEAK9_STRENGTH_ADDRESS 36U
39 #define DISTANCE_REG_START_ADDRESS 64U
40 #define DISTANCE_REG_END_ADDRESS 65U
41 #define DISTANCE_REG_MAX_STEP_LENGTH_ADDRESS 66U
42 #define DISTANCE_REG_CLOSE_RANGE_LEAKAGE_CANCELLATION_ADDRESS 67U
43 #define DISTANCE_REG_SIGNAL_QUALITY_ADDRESS 68U
44 #define DISTANCE_REG_MAX_PROFILE_ADDRESS 69U
45 #define DISTANCE_REG_THRESHOLD_METHOD_ADDRESS 70U
46 #define DISTANCE_REG_PEAK_SORTING_ADDRESS 71U
47 #define DISTANCE_REG_NUM_FRAMES_RECORDED_THRESHOLD_ADDRESS 72U
48 #define DISTANCE_REG_FIXED_AMPLITUDE_THRESHOLD_VALUE_ADDRESS 73U
49 #define DISTANCE_REG_THRESHOLD_SENSITIVITY_ADDRESS 74U
50 #define DISTANCE_REG_REFLECTOR_SHAPE_ADDRESS 75U
51 #define DISTANCE_REG_FIXED_STRENGTH_THRESHOLD_VALUE_ADDRESS 76U
52 #define DISTANCE_REG_MEASURE_ON_WAKEUP_ADDRESS 128U
53 #define DISTANCE_REG_COMMAND_ADDRESS 256U
56 #define DISTANCE_REG_VERSION_FIELD_MAJOR_POS 16U
57 #define DISTANCE_REG_VERSION_FIELD_MAJOR_MASK 0xffff0000
58 #define DISTANCE_REG_VERSION_FIELD_MINOR_POS 8U
59 #define DISTANCE_REG_VERSION_FIELD_MINOR_MASK 0x0000ff00
60 #define DISTANCE_REG_VERSION_FIELD_PATCH_POS 0U
61 #define DISTANCE_REG_VERSION_FIELD_PATCH_MASK 0x000000ff
64 #define DISTANCE_REG_PROTOCOL_STATUS_FIELD_PROTOCOL_STATE_ERROR_POS 0U
65 #define DISTANCE_REG_PROTOCOL_STATUS_FIELD_PROTOCOL_STATE_ERROR_MASK 0x00000001
66 #define DISTANCE_REG_PROTOCOL_STATUS_FIELD_PACKET_LENGTH_ERROR_POS 1U
67 #define DISTANCE_REG_PROTOCOL_STATUS_FIELD_PACKET_LENGTH_ERROR_MASK 0x00000002
68 #define DISTANCE_REG_PROTOCOL_STATUS_FIELD_ADDRESS_ERROR_POS 2U
69 #define DISTANCE_REG_PROTOCOL_STATUS_FIELD_ADDRESS_ERROR_MASK 0x00000004
70 #define DISTANCE_REG_PROTOCOL_STATUS_FIELD_WRITE_FAILED_POS 3U
71 #define DISTANCE_REG_PROTOCOL_STATUS_FIELD_WRITE_FAILED_MASK 0x00000008
72 #define DISTANCE_REG_PROTOCOL_STATUS_FIELD_WRITE_TO_READ_ONLY_POS 4U
73 #define DISTANCE_REG_PROTOCOL_STATUS_FIELD_WRITE_TO_READ_ONLY_MASK 0x00000010
76 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_RSS_REGISTER_OK_POS 0U
77 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_RSS_REGISTER_OK_MASK 0x00000001
78 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_CONFIG_CREATE_OK_POS 1U
79 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_CONFIG_CREATE_OK_MASK 0x00000002
80 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_SENSOR_CREATE_OK_POS 2U
81 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_SENSOR_CREATE_OK_MASK 0x00000004
82 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_CREATE_OK_POS 3U
83 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_CREATE_OK_MASK 0x00000008
84 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_BUFFER_OK_POS 4U
85 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_BUFFER_OK_MASK 0x00000010
86 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_SENSOR_BUFFER_OK_POS 5U
87 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_SENSOR_BUFFER_OK_MASK 0x00000020
88 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_CALIBRATION_BUFFER_OK_POS 6U
89 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_CALIBRATION_BUFFER_OK_MASK 0x00000040
90 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_CONFIG_APPLY_OK_POS 7U
91 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_CONFIG_APPLY_OK_MASK 0x00000080
92 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_SENSOR_CALIBRATE_OK_POS 8U
93 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_SENSOR_CALIBRATE_OK_MASK 0x00000100
94 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_CALIBRATE_OK_POS 9U
95 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_CALIBRATE_OK_MASK 0x00000200
96 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_RSS_REGISTER_ERROR_POS 16U
97 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_RSS_REGISTER_ERROR_MASK 0x00010000
98 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_CONFIG_CREATE_ERROR_POS 17U
99 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_CONFIG_CREATE_ERROR_MASK 0x00020000
100 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_SENSOR_CREATE_ERROR_POS 18U
101 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_SENSOR_CREATE_ERROR_MASK 0x00040000
102 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_CREATE_ERROR_POS 19U
103 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_CREATE_ERROR_MASK 0x00080000
104 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_BUFFER_ERROR_POS 20U
105 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_BUFFER_ERROR_MASK 0x00100000
106 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_SENSOR_BUFFER_ERROR_POS 21U
107 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_SENSOR_BUFFER_ERROR_MASK 0x00200000
108 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_CALIBRATION_BUFFER_ERROR_POS 22U
109 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_CALIBRATION_BUFFER_ERROR_MASK 0x00400000
110 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_CONFIG_APPLY_ERROR_POS 23U
111 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_CONFIG_APPLY_ERROR_MASK 0x00800000
112 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_SENSOR_CALIBRATE_ERROR_POS 24U
113 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_SENSOR_CALIBRATE_ERROR_MASK 0x01000000
114 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_CALIBRATE_ERROR_POS 25U
115 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_CALIBRATE_ERROR_MASK 0x02000000
116 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_ERROR_POS 28U
117 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_DETECTOR_ERROR_MASK 0x10000000
118 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_BUSY_POS 31U
119 #define DISTANCE_REG_DETECTOR_STATUS_FIELD_BUSY_MASK 0x80000000
122 #define DISTANCE_REG_DISTANCE_RESULT_FIELD_NUM_DISTANCES_POS 0U
123 #define DISTANCE_REG_DISTANCE_RESULT_FIELD_NUM_DISTANCES_MASK 0x0000000f
124 #define DISTANCE_REG_DISTANCE_RESULT_FIELD_NEAR_START_EDGE_POS 8U
125 #define DISTANCE_REG_DISTANCE_RESULT_FIELD_NEAR_START_EDGE_MASK 0x00000100
126 #define DISTANCE_REG_DISTANCE_RESULT_FIELD_CALIBRATION_NEEDED_POS 9U
127 #define DISTANCE_REG_DISTANCE_RESULT_FIELD_CALIBRATION_NEEDED_MASK 0x00000200
128 #define DISTANCE_REG_DISTANCE_RESULT_FIELD_MEASURE_DISTANCE_ERROR_POS 10U
129 #define DISTANCE_REG_DISTANCE_RESULT_FIELD_MEASURE_DISTANCE_ERROR_MASK 0x00000400
130 #define DISTANCE_REG_DISTANCE_RESULT_FIELD_TEMPERATURE_POS 16U
131 #define DISTANCE_REG_DISTANCE_RESULT_FIELD_TEMPERATURE_MASK 0xffff0000
134 #define DISTANCE_REG_MAX_PROFILE_ENUM_PROFILE1 1U
135 #define DISTANCE_REG_MAX_PROFILE_ENUM_PROFILE2 2U
136 #define DISTANCE_REG_MAX_PROFILE_ENUM_PROFILE3 3U
137 #define DISTANCE_REG_MAX_PROFILE_ENUM_PROFILE4 4U
138 #define DISTANCE_REG_MAX_PROFILE_ENUM_PROFILE5 5U
141 #define DISTANCE_REG_THRESHOLD_METHOD_ENUM_FIXED_AMPLITUDE 1U
142 #define DISTANCE_REG_THRESHOLD_METHOD_ENUM_RECORDED 2U
143 #define DISTANCE_REG_THRESHOLD_METHOD_ENUM_CFAR 3U
144 #define DISTANCE_REG_THRESHOLD_METHOD_ENUM_FIXED_STRENGTH 4U
147 #define DISTANCE_REG_PEAK_SORTING_ENUM_CLOSEST 1U
148 #define DISTANCE_REG_PEAK_SORTING_ENUM_STRONGEST 2U
151 #define DISTANCE_REG_REFLECTOR_SHAPE_ENUM_GENERIC 1U
152 #define DISTANCE_REG_REFLECTOR_SHAPE_ENUM_PLANAR 2U
155 #define DISTANCE_REG_COMMAND_ENUM_APPLY_CONFIG_AND_CALIBRATE 1U
156 #define DISTANCE_REG_COMMAND_ENUM_MEASURE_DISTANCE 2U
157 #define DISTANCE_REG_COMMAND_ENUM_APPLY_CONFIGURATION 3U
158 #define DISTANCE_REG_COMMAND_ENUM_CALIBRATE 4U
159 #define DISTANCE_REG_COMMAND_ENUM_RECALIBRATE 5U
160 #define DISTANCE_REG_COMMAND_ENUM_ENABLE_UART_LOGS 32U
161 #define DISTANCE_REG_COMMAND_ENUM_DISABLE_UART_LOGS 33U
162 #define DISTANCE_REG_COMMAND_ENUM_LOG_CONFIGURATION 34U
163 #define DISTANCE_REG_COMMAND_ENUM_RESET_MODULE 0x52535421
166 #define DISTANCE_REG_START_DEFAULT_VALUE 250U
167 #define DISTANCE_REG_END_DEFAULT_VALUE 3000U
168 #define DISTANCE_REG_MAX_STEP_LENGTH_DEFAULT_VALUE 0U
169 #define DISTANCE_REG_CLOSE_RANGE_LEAKAGE_CANCELLATION_DEFAULT_VALUE 1U
170 #define DISTANCE_REG_SIGNAL_QUALITY_DEFAULT_VALUE 15000U
171 #define DISTANCE_REG_MAX_PROFILE_DEFAULT_VALUE DISTANCE_REG_MAX_PROFILE_ENUM_PROFILE5
172 #define DISTANCE_REG_THRESHOLD_METHOD_DEFAULT_VALUE DISTANCE_REG_THRESHOLD_METHOD_ENUM_CFAR
173 #define DISTANCE_REG_PEAK_SORTING_DEFAULT_VALUE DISTANCE_REG_PEAK_SORTING_ENUM_STRONGEST
174 #define DISTANCE_REG_NUM_FRAMES_RECORDED_THRESHOLD_DEFAULT_VALUE 100U
175 #define DISTANCE_REG_FIXED_AMPLITUDE_THRESHOLD_VALUE_DEFAULT_VALUE 100000U
176 #define DISTANCE_REG_THRESHOLD_SENSITIVITY_DEFAULT_VALUE 500U
177 #define DISTANCE_REG_REFLECTOR_SHAPE_DEFAULT_VALUE DISTANCE_REG_REFLECTOR_SHAPE_ENUM_GENERIC
178 #define DISTANCE_REG_FIXED_STRENGTH_THRESHOLD_VALUE_DEFAULT_VALUE 0U
179 #define DISTANCE_REG_MEASURE_ON_WAKEUP_DEFAULT_VALUE 0U
void distance_reg_read_end(uint32_t *value)
void distance_reg_read_fixed_amplitude_threshold_value(uint32_t *value)
void distance_reg_read_peak4_strength(uint32_t *value)
void distance_reg_read_version(uint32_t *value)
bool distance_reg_write_measure_on_wakeup(const uint32_t value)
void distance_reg_read_peak_sorting(uint32_t *value)
void distance_reg_read_peak5_strength(uint32_t *value)
bool distance_reg_write_max_step_length(const uint32_t value)
void distance_reg_read_peak7_strength(uint32_t *value)
void distance_reg_read_peak9_distance(uint32_t *value)
void distance_reg_read_fixed_strength_threshold_value(uint32_t *value)
void distance_reg_read_peak4_distance(uint32_t *value)
void distance_reg_read_detector_status(uint32_t *value)
bool distance_reg_write_reflector_shape(const uint32_t value)
void distance_reg_read_num_frames_recorded_threshold(uint32_t *value)
bool distance_reg_write_threshold_sensitivity(const uint32_t value)
void distance_reg_read_protocol_status(uint32_t *value)
bool distance_reg_write_fixed_strength_threshold_value(const uint32_t value)
bool distance_reg_write_signal_quality(const uint32_t value)
void distance_reg_read_distance_result(uint32_t *value)
void distance_reg_read_max_profile(uint32_t *value)
void distance_reg_read_max_step_length(uint32_t *value)
void distance_reg_read_peak1_distance(uint32_t *value)
void distance_reg_read_peak1_strength(uint32_t *value)
void distance_reg_read_measure_counter(uint32_t *value)
void distance_reg_protocol_write_default(void)
void distance_reg_read_measure_on_wakeup(uint32_t *value)
void distance_reg_read_peak2_strength(uint32_t *value)
void distance_reg_read_peak6_strength(uint32_t *value)
void distance_reg_read_threshold_sensitivity(uint32_t *value)
bool distance_reg_write_max_profile(const uint32_t value)
void distance_reg_read_peak7_distance(uint32_t *value)
void distance_reg_read_peak8_strength(uint32_t *value)
void distance_reg_read_peak6_distance(uint32_t *value)
void distance_reg_read_threshold_method(uint32_t *value)
bool distance_reg_write_end(const uint32_t value)
void distance_reg_protocol_setup(void)
bool distance_reg_write_close_range_leakage_cancellation(const uint32_t value)
bool distance_reg_write_command(const uint32_t value)
void distance_reg_read_peak0_distance(uint32_t *value)
void distance_reg_read_reflector_shape(uint32_t *value)
bool distance_reg_write_start(const uint32_t value)
void distance_reg_read_peak3_distance(uint32_t *value)
bool distance_reg_write_peak_sorting(const uint32_t value)
void distance_reg_read_close_range_leakage_cancellation(uint32_t *value)
void distance_reg_read_signal_quality(uint32_t *value)
bool distance_reg_write_num_frames_recorded_threshold(const uint32_t value)
void distance_reg_read_start(uint32_t *value)
void distance_reg_read_peak3_strength(uint32_t *value)
void distance_reg_read_peak2_distance(uint32_t *value)
bool distance_reg_write_threshold_method(const uint32_t value)
bool distance_reg_write_fixed_amplitude_threshold_value(const uint32_t value)
void distance_reg_read_peak9_strength(uint32_t *value)
void distance_reg_read_peak8_distance(uint32_t *value)
void distance_reg_read_peak0_strength(uint32_t *value)
void distance_reg_read_peak5_distance(uint32_t *value)