Statistics
| Branch: | Tag: | Revision:

amiro-lld / drivers / VL53L1X / v1 / api / core / vl53l1_api_debug.h @ 4dba9195

History | View | Annotate | Download (11.534 KB)

1
/*
2
* Copyright (c) 2017, STMicroelectronics - All Rights Reserved
3
*
4
* This file is part of VL53L1 Core and is dual licensed,
5
* either 'STMicroelectronics
6
* Proprietary license'
7
* or 'BSD 3-clause "New" or "Revised" License' , at your option.
8
*
9
********************************************************************************
10
*
11
* 'STMicroelectronics Proprietary license'
12
*
13
********************************************************************************
14
*
15
* License terms: STMicroelectronics Proprietary in accordance with licensing
16
* terms at www.st.com/sla0081
17
*
18
* STMicroelectronics confidential
19
* Reproduction and Communication of this document is strictly prohibited unless
20
* specifically authorized in writing by STMicroelectronics.
21
*
22
*
23
********************************************************************************
24
*
25
* Alternatively, VL53L1 Core may be distributed under the terms of
26
* 'BSD 3-clause "New" or "Revised" License', in which case the following
27
* provisions apply instead of the ones mentioned above :
28
*
29
********************************************************************************
30
*
31
* License terms: BSD 3-clause "New" or "Revised" License.
32
*
33
* Redistribution and use in source and binary forms, with or without
34
* modification, are permitted provided that the following conditions are met:
35
*
36
* 1. Redistributions of source code must retain the above copyright notice, this
37
* list of conditions and the following disclaimer.
38
*
39
* 2. Redistributions in binary form must reproduce the above copyright notice,
40
* this list of conditions and the following disclaimer in the documentation
41
* and/or other materials provided with the distribution.
42
*
43
* 3. Neither the name of the copyright holder nor the names of its contributors
44
* may be used to endorse or promote products derived from this software
45
* without specific prior written permission.
46
*
47
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
48
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
49
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
50
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
51
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
52
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
53
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
54
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
55
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
56
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
57
*
58
*
59
********************************************************************************
60
*
61
*/
62

    
63
/**
64
 * @file  vl53l1_api_debug.h
65
 *
66
 * @brief EwokPlus25 low level API function definitions
67
 */
68

    
69
#ifndef _VL53L1_API_DEBUG_H_
70
#define _VL53L1_API_DEBUG_H_
71

    
72
#include "vl53l1_platform.h"
73

    
74
#ifdef __cplusplus
75
extern "C" {
76
#endif
77

    
78

    
79

    
80
/* Start Patch_AdditionalDebugData_11823 */
81

    
82
/**
83
 * @brief Gets the current LL Driver configuration parameters and the last
84
 *        set of histogram data for debug
85
 *
86
 * @param[in]   Dev              : Device Handle
87
 * @param[out]  pdata     : pointer to VL53L1_additional_data_t data structure
88
 *
89
 * @return   VL53L1_ERROR_NONE    Success
90
 * @return  "Other error code"    See ::VL53L1_Error
91
 */
92

    
93
VL53L1_Error VL53L1_get_additional_data(
94
        VL53L1_DEV                Dev,
95
        VL53L1_additional_data_t *pdata);
96

    
97
/* End Patch_AdditionalDebugData_11823 */
98

    
99

    
100
#ifdef VL53L1_LOG_ENABLE
101

    
102
/**
103
 * @brief Implements an sprintf function for  signed fixed point numbers
104
 *
105
 * @param[in]   fp_value   : input signed fixed point number
106
 * @param[in]   frac_bits  : number of fixed point fractional bits
107
 * @param[in]   buf_size   : size of supplied text buffer
108
 * @param[out]  pbuffer    : pointer to text buffer
109
 *
110
 */
111

    
112
void  VL53L1_signed_fixed_point_sprintf(
113
        int32_t    fp_value,
114
        uint8_t    frac_bits,
115
        uint16_t   buf_size,
116
        char      *pbuffer);
117

    
118

    
119
/**
120
 * @brief   Convenience function to print out VL53L1_static_nvm_managed_t for debug
121
 *
122
 * @param[in]  pdata      : pointer to VL53L1_static_nvm_managed_t
123
 * @param[in]  pprefix     : pointer to name prefix string
124
 * @param[in]  trace_flags : logging module enable bit flags
125
 */
126

    
127
void VL53L1_print_static_nvm_managed(
128
        VL53L1_static_nvm_managed_t   *pdata,
129
        char                          *pprefix,
130
        uint32_t                       trace_flags);
131

    
132

    
133
/**
134
 * @brief   Convenience function to print out VL53L1_customer_nvm_managed_t for debug
135
 *
136
 * @param[in]  pdata       : pointer to VL53L1_customer_nvm_managed_t
137
 * @param[in]  pprefix     : pointer to name prefix string
138
 * @param[in]  trace_flags : logging module enable bit flags
139
 */
140

    
141
void VL53L1_print_customer_nvm_managed(
142
        VL53L1_customer_nvm_managed_t *pdata,
143
        char                          *pprefix,
144
        uint32_t                       trace_flags);
145

    
146

    
147
/**
148
 * @brief   Convenience function to print out VL53L1_nvm_copy_data_t for debug
149
 *
150
 * @param[in]  pdata    : pointer to VL53L1_nvm_copy_data_t
151
 * @param[in]  pprefix     : pointer to name prefix string
152
 * @param[in]  trace_flags : logging module enable bit flags
153
 */
154

    
155
void VL53L1_print_nvm_copy_data(
156
        VL53L1_nvm_copy_data_t        *pdata,
157
        char                          *pprefix,
158
        uint32_t                       trace_flags);
159

    
160

    
161
/**
162
 * @brief Convenience function to print out the contents of
163
 *        the Range Results structure for debug
164
 *
165
 * @param[in]  pdata       : pointer to a VL53L1_range_results_t structure
166
 * @param[in]  pprefix     : pointer to name prefix string
167
 * @param[in]  trace_flags : logging module enable bit flags
168
 */
169

    
170
void VL53L1_print_range_results(
171
        VL53L1_range_results_t *pdata,
172
        char                   *pprefix,
173
        uint32_t                trace_flags);
174

    
175
/**
176
 * @brief Convenience function to print out the contents of
177
 *        the  Range Data structure for debug
178
 *
179
 * @param[in]  pdata       : pointer to a VL53L1_range_data_t structure
180
 * @param[in]  pprefix     : pointer to name prefix string
181
 * @param[in]  trace_flags : logging module enable bit flags
182
 */
183

    
184
void VL53L1_print_range_data(
185
        VL53L1_range_data_t *pdata,
186
        char                *pprefix,
187
        uint32_t             trace_flags);
188

    
189
/**
190
 * @brief Convenience function to print out the contents of
191
 *        the offset range results structure for debug
192
 *
193
 * @param[in]  pdata       : pointer to a VL53L1_offset_range_results_t structure
194
 * @param[in]  pprefix     : pointer to name prefix string
195
 * @param[in]  trace_flags : logging module enable bit flags
196
 */
197

    
198
void VL53L1_print_offset_range_results(
199
        VL53L1_offset_range_results_t *pdata,
200
        char                          *pprefix,
201
        uint32_t                       trace_flags);
202

    
203
/**
204
 * @brief Convenience function to print out the contents of
205
 *        the offset range data structure for debug
206
 *
207
 * @param[in]  pdata       : pointer to a VL53L1_offset_range_data_t structure
208
 * @param[in]  pprefix     : pointer to name prefix string
209
 * @param[in]  trace_flags : logging module enable bit flags
210
 */
211

    
212
void VL53L1_print_offset_range_data(
213
        VL53L1_offset_range_data_t *pdata,
214
        char                       *pprefix,
215
        uint32_t                    trace_flags);
216

    
217

    
218
/**
219
 * @brief Convenience function to print out the contents of
220
 *        the peak rate map calibration data structure
221
 *
222
 * @param[in]  pdata       : pointer to a VL53L1_cal_peak_rate_map_t structure
223
 * @param[in]  pprefix     : pointer to name prefix string
224
 * @param[in]  trace_flags : logging module enable bit flags
225
 */
226

    
227
void VL53L1_print_cal_peak_rate_map(
228
        VL53L1_cal_peak_rate_map_t *pdata,
229
        char                       *pprefix,
230
        uint32_t                    trace_flags);
231

    
232

    
233
/**
234
 * @brief Convenience function to print out the contents of
235
 *        the additional offset calibration data structure
236
 *
237
 * @param[in]  pdata       : pointer to a VL53L1_additional_offset_cal_data_t structure
238
 * @param[in]  pprefix     : pointer to name prefix string
239
 * @param[in]  trace_flags : logging module enable bit flags
240
 */
241

    
242
void VL53L1_print_additional_offset_cal_data(
243
        VL53L1_additional_offset_cal_data_t *pdata,
244
        char                                *pprefix,
245
        uint32_t                             trace_flags);
246

    
247
/**
248
 * @brief Convenience function to print out the contents of
249
 *        the additional  data structure
250
 *
251
 * @param[in]  pdata       : pointer to a VL53L1_additional_data_t structure
252
 * @param[in]  pprefix     : pointer to name prefix string
253
 * @param[in]  trace_flags : logging module enable bit flags
254
 */
255

    
256
void VL53L1_print_additional_data(
257
        VL53L1_additional_data_t *pdata,
258
        char                     *pprefix,
259
        uint32_t                 trace_flags);
260

    
261

    
262
/**
263
 * @brief Convenience function to print out the contents of
264
 *        the LL driver gain calibration data structure
265
 *
266
 * @param[in]  pdata       : pointer to a VL53L1_gain_calibration_data_t structure
267
 * @param[in]  pprefix     : pointer to name prefix string
268
 * @param[in]  trace_flags : logging module enable bit flags
269
 */
270

    
271
void VL53L1_print_gain_calibration_data(
272
        VL53L1_gain_calibration_data_t *pdata,
273
        char                           *pprefix,
274
        uint32_t                        trace_flags);
275

    
276

    
277
/**
278
 * @brief Convenience function to print out the contents of
279
 *        the xtalk configuration data for debug
280
 *
281
 * @param[in]  pdata       : pointer to a VL53L1_xtalk_config_t Structure
282
 * @param[in]  pprefix     : pointer to name prefix string
283
 * @param[in]  trace_flags : logging module enable bit flags
284
 */
285

    
286
void VL53L1_print_xtalk_config(
287
        VL53L1_xtalk_config_t *pdata,
288
        char                  *pprefix,
289
        uint32_t               trace_flags);
290

    
291
/**
292
 * @brief Convenience function to print out the contents of
293
 *        the Optical Centre structure for debug
294
 *
295
 * @param[in]  pdata       : pointer to a VL53L1_optical_centre_t structure
296
 * @param[in]  pprefix     : pointer to name prefix string
297
 * @param[in]  trace_flags : logging module enable bit flags
298
 */
299

    
300
void VL53L1_print_optical_centre(
301
        VL53L1_optical_centre_t   *pdata,
302
        char                      *pprefix,
303
        uint32_t                   trace_flags);
304

    
305

    
306
/**
307
 * @brief Convenience function to print out the contents of
308
 *        the User Zone (ROI) structure for debug
309
 *
310
 * @param[in]  pdata       : pointer to a VL53L1_user_zone_t structure
311
 * @param[in]  pprefix     : pointer to name prefix string
312
 * @param[in]  trace_flags : logging module enable bit flags
313
 */
314

    
315
void VL53L1_print_user_zone(
316
        VL53L1_user_zone_t   *pdata,
317
        char                 *pprefix,
318
        uint32_t              trace_flags);
319

    
320
/**
321
 * @brief Convenience function for printing out VL53L1_spad_rate_data_t
322
 *
323
 * @param[in]  pspad_rates : pointer to VL53L1_spad_rate_data_t
324
 * @param[in]  pprefix     : pointer to name prefix string
325
 * @param[in]  trace_flags : logging module enable bit flags
326
 */
327

    
328
void VL53L1_print_spad_rate_data(
329
        VL53L1_spad_rate_data_t  *pspad_rates,
330
        char                     *pprefix,
331
        uint32_t                  trace_flags);
332

    
333

    
334
/**
335
 * @brief Convenience function for printing out VL53L1_spad_rate_map_t
336
 *
337
 * @param[in]  pspad_rates  : pointer to VL53L1_spad_rate_map_t
338
 * @param[in]  pprefix     : pointer to name prefix string
339
 * @param[in]  trace_flags : logging module enable bit flags
340
 */
341

    
342
void VL53L1_print_spad_rate_map(
343
        VL53L1_spad_rate_data_t  *pspad_rates,
344
        char                     *pprefix,
345
        uint32_t                  trace_flags);
346

    
347

    
348
#endif /* VL53L1_LOG_ENABLE */
349

    
350
#ifdef __cplusplus
351
}
352
#endif
353

    
354
#endif /* _VL53L1_API_DEBUG_H_ */