ST Expansion SW Team / VL53L1

Dependencies:   X_NUCLEO_COMMON ST_INTERFACES

Dependents:   X_NUCLEO_53L1CB

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers vl53l1_nvm.h Source File

vl53l1_nvm.h

00001 
00002 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
00003 /******************************************************************************
00004  * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
00005 
00006  This file is part of VL53L1 and is dual licensed,
00007  either GPL-2.0+
00008  or 'BSD 3-clause "New" or "Revised" License' , at your option.
00009  ******************************************************************************
00010  */
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 #ifndef _VL53L1_NVM_H_
00019 #define _VL53L1_NVM_H_
00020 
00021 #include "vl53l1_ll_def.h"
00022 #include "vl53l1_platform.h"
00023 
00024 #ifdef __cplusplus
00025 extern "C"
00026 {
00027 #endif
00028 
00029 #define VL53L1_NVM_POWER_UP_DELAY_US             50
00030 #define VL53L1_NVM_READ_TRIGGER_DELAY_US          5
00031 
00032 
00033 
00034 VL53L1_Error VL53L1_nvm_enable(
00035     VL53L1_DEV     Dev,
00036     uint16_t       nvm_ctrl_pulse_width,
00037     int32_t        nvm_power_up_delay_us);
00038 
00039 
00040 
00041 
00042 VL53L1_Error VL53L1_nvm_read(
00043     VL53L1_DEV     Dev,
00044     uint8_t        start_address,
00045     uint8_t        count,
00046     uint8_t       *pdata);
00047 
00048 
00049 
00050 
00051 VL53L1_Error VL53L1_nvm_disable(
00052     VL53L1_DEV     Dev);
00053 
00054 
00055 
00056 
00057 VL53L1_Error VL53L1_nvm_format_decode(
00058     uint16_t                   buf_size,
00059     uint8_t                   *pbuffer,
00060     VL53L1_decoded_nvm_data_t *pdata);
00061 
00062 
00063 
00064 
00065 VL53L1_Error VL53L1_nvm_decode_optical_centre(
00066     uint16_t                             buf_size,
00067     uint8_t                             *pbuffer,
00068     VL53L1_optical_centre_t             *pdata);
00069 
00070 
00071 
00072 
00073 VL53L1_Error VL53L1_nvm_decode_cal_peak_rate_map(
00074     uint16_t                             buf_size,
00075     uint8_t                             *pbuffer,
00076     VL53L1_cal_peak_rate_map_t          *pdata);
00077 
00078 
00079 
00080 
00081 VL53L1_Error VL53L1_nvm_decode_additional_offset_cal_data(
00082     uint16_t                             buf_size,
00083     uint8_t                             *pbuffer,
00084     VL53L1_additional_offset_cal_data_t *pdata);
00085 
00086 
00087 
00088 
00089 VL53L1_Error VL53L1_nvm_decode_fmt_range_results_data(
00090     uint16_t                             buf_size,
00091     uint8_t                             *pbuffer,
00092     VL53L1_decoded_nvm_fmt_range_data_t *pdata);
00093 
00094 
00095 
00096 
00097 VL53L1_Error VL53L1_nvm_decode_fmt_info(
00098     uint16_t                       buf_size,
00099     uint8_t                       *pbuffer,
00100     VL53L1_decoded_nvm_fmt_info_t *pdata);
00101 
00102 
00103 
00104 
00105 VL53L1_Error VL53L1_nvm_decode_ews_info(
00106     uint16_t                       buf_size,
00107     uint8_t                       *pbuffer,
00108     VL53L1_decoded_nvm_ews_info_t *pdata);
00109 
00110 
00111 
00112 
00113 void VL53L1_nvm_format_encode(
00114     VL53L1_decoded_nvm_data_t *pnvm_info,
00115     uint8_t                   *pnvm_data);
00116 
00117 
00118 
00119 
00120 VL53L1_Error VL53L1_read_nvm_raw_data(
00121     VL53L1_DEV     Dev,
00122     uint8_t        start_address,
00123     uint8_t        count,
00124     uint8_t       *pnvm_raw_data);
00125 
00126 
00127 
00128 
00129 VL53L1_Error VL53L1_read_nvm(
00130     VL53L1_DEV                 Dev,
00131     uint8_t                    nvm_format,
00132     VL53L1_decoded_nvm_data_t *pnvm_info);
00133 
00134 
00135 
00136 
00137 VL53L1_Error VL53L1_read_nvm_optical_centre(
00138     VL53L1_DEV                           Dev,
00139     VL53L1_optical_centre_t             *pcentre);
00140 
00141 
00142 
00143 
00144 VL53L1_Error VL53L1_read_nvm_cal_peak_rate_map(
00145     VL53L1_DEV                           Dev,
00146     VL53L1_cal_peak_rate_map_t          *pcal_data);
00147 
00148 
00149 
00150 
00151 VL53L1_Error VL53L1_read_nvm_additional_offset_cal_data(
00152     VL53L1_DEV                           Dev,
00153     VL53L1_additional_offset_cal_data_t *pcal_data);
00154 
00155 
00156 
00157 
00158 VL53L1_Error VL53L1_read_nvm_fmt_range_results_data(
00159     VL53L1_DEV                           Dev,
00160     uint16_t                             range_results_select,
00161     VL53L1_decoded_nvm_fmt_range_data_t *prange_data);
00162 
00163 
00164 #ifdef __cplusplus
00165 }
00166 #endif
00167 
00168 #endif
00169