Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
vl53l1_error_strings.c
00001 00002 /******************************************************************************* 00003 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved 00004 00005 This file is part of VL53L1 Core and is dual licensed, 00006 either 'STMicroelectronics 00007 Proprietary license' 00008 or 'BSD 3-clause "New" or "Revised" License' , at your option. 00009 00010 ******************************************************************************** 00011 00012 'STMicroelectronics Proprietary license' 00013 00014 ******************************************************************************** 00015 00016 License terms: STMicroelectronics Proprietary in accordance with licensing 00017 terms at www.st.com/sla0081 00018 00019 STMicroelectronics confidential 00020 Reproduction and Communication of this document is strictly prohibited unless 00021 specifically authorized in writing by STMicroelectronics. 00022 00023 00024 ******************************************************************************** 00025 00026 Alternatively, VL53L1 Core may be distributed under the terms of 00027 'BSD 3-clause "New" or "Revised" License', in which case the following 00028 provisions apply instead of the ones 00029 mentioned above : 00030 00031 ******************************************************************************** 00032 00033 License terms: BSD 3-clause "New" or "Revised" License. 00034 00035 Redistribution and use in source and binary forms, with or without 00036 modification, are permitted provided that the following conditions are met: 00037 00038 1. Redistributions of source code must retain the above copyright notice, this 00039 list of conditions and the following disclaimer. 00040 00041 2. Redistributions in binary form must reproduce the above copyright notice, 00042 this list of conditions and the following disclaimer in the documentation 00043 and/or other materials provided with the distribution. 00044 00045 3. Neither the name of the copyright holder nor the names of its contributors 00046 may be used to endorse or promote products derived from this software 00047 without specific prior written permission. 00048 00049 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00050 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00051 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00052 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00053 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00054 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00055 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00056 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00057 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00058 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00059 00060 00061 ******************************************************************************** 00062 00063 */ 00064 00065 00066 00067 00068 #include "vl53l1_error_codes.h" 00069 #include "vl53l1_error_strings.h" 00070 #include "vl53l1_platform_log.h" 00071 #include "vl53l1_ll_def.h" 00072 00073 #define LOG_FUNCTION_START(fmt, ...) \ 00074 _LOG_FUNCTION_START(VL53L1_TRACE_MODULE_API, fmt, ##__VA_ARGS__) 00075 #define LOG_FUNCTION_END(status, ...) \ 00076 _LOG_FUNCTION_END(VL53L1_TRACE_MODULE_API, status, ##__VA_ARGS__) 00077 #define LOG_FUNCTION_END_FMT(status, fmt, ...) \ 00078 _LOG_FUNCTION_END_FMT(VL53L1_TRACE_MODULE_API, \ 00079 status, fmt, ##__VA_ARGS__) 00080 00081 00082 VL53L1_Error VL53L1_get_pal_error_string( 00083 VL53L1_Error PalErrorCode, 00084 char *pPalErrorString) 00085 { 00086 VL53L1_Error Status = VL53L1_ERROR_NONE; 00087 00088 #ifdef VL53L1_USE_EMPTY_STRING 00089 SUPPRESS_UNUSED_WARNING(PalErrorCode); 00090 #endif 00091 00092 LOG_FUNCTION_START(""); 00093 00094 #ifdef VL53L1_USE_EMPTY_STRING 00095 VL53L1_COPYSTRING(pPalErrorString, ""); 00096 #else 00097 00098 switch (PalErrorCode) { 00099 case VL53L1_ERROR_NONE: 00100 VL53L1_COPYSTRING(pPalErrorString, 00101 VL53L1_STRING_ERROR_NONE); 00102 break; 00103 case VL53L1_ERROR_CALIBRATION_WARNING: 00104 VL53L1_COPYSTRING(pPalErrorString, 00105 VL53L1_STRING_ERROR_CALIBRATION_WARNING); 00106 break; 00107 case VL53L1_ERROR_MIN_CLIPPED: 00108 VL53L1_COPYSTRING(pPalErrorString, 00109 VL53L1_STRING_ERROR_MIN_CLIPPED); 00110 break; 00111 case VL53L1_ERROR_UNDEFINED: 00112 VL53L1_COPYSTRING(pPalErrorString, 00113 VL53L1_STRING_ERROR_UNDEFINED); 00114 break; 00115 case VL53L1_ERROR_INVALID_PARAMS: 00116 VL53L1_COPYSTRING(pPalErrorString, 00117 VL53L1_STRING_ERROR_INVALID_PARAMS); 00118 break; 00119 case VL53L1_ERROR_NOT_SUPPORTED: 00120 VL53L1_COPYSTRING(pPalErrorString, 00121 VL53L1_STRING_ERROR_NOT_SUPPORTED); 00122 break; 00123 case VL53L1_ERROR_RANGE_ERROR: 00124 VL53L1_COPYSTRING(pPalErrorString, 00125 VL53L1_STRING_ERROR_RANGE_ERROR); 00126 break; 00127 case VL53L1_ERROR_TIME_OUT: 00128 VL53L1_COPYSTRING(pPalErrorString, 00129 VL53L1_STRING_ERROR_TIME_OUT); 00130 break; 00131 case VL53L1_ERROR_MODE_NOT_SUPPORTED: 00132 VL53L1_COPYSTRING(pPalErrorString, 00133 VL53L1_STRING_ERROR_MODE_NOT_SUPPORTED); 00134 break; 00135 case VL53L1_ERROR_BUFFER_TOO_SMALL: 00136 VL53L1_COPYSTRING(pPalErrorString, 00137 VL53L1_STRING_ERROR_BUFFER_TOO_SMALL); 00138 break; 00139 case VL53L1_ERROR_COMMS_BUFFER_TOO_SMALL: 00140 VL53L1_COPYSTRING(pPalErrorString, 00141 VL53L1_STRING_ERROR_COMMS_BUFFER_TOO_SMALL); 00142 break; 00143 case VL53L1_ERROR_GPIO_NOT_EXISTING: 00144 VL53L1_COPYSTRING(pPalErrorString, 00145 VL53L1_STRING_ERROR_GPIO_NOT_EXISTING); 00146 break; 00147 case VL53L1_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED: 00148 VL53L1_COPYSTRING(pPalErrorString, 00149 VL53L1_STRING_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED); 00150 break; 00151 case VL53L1_ERROR_CONTROL_INTERFACE: 00152 VL53L1_COPYSTRING(pPalErrorString, 00153 VL53L1_STRING_ERROR_CONTROL_INTERFACE); 00154 break; 00155 case VL53L1_ERROR_INVALID_COMMAND: 00156 VL53L1_COPYSTRING(pPalErrorString, 00157 VL53L1_STRING_ERROR_INVALID_COMMAND); 00158 break; 00159 case VL53L1_ERROR_DIVISION_BY_ZERO: 00160 VL53L1_COPYSTRING(pPalErrorString, 00161 VL53L1_STRING_ERROR_DIVISION_BY_ZERO); 00162 break; 00163 case VL53L1_ERROR_REF_SPAD_INIT: 00164 VL53L1_COPYSTRING(pPalErrorString, 00165 VL53L1_STRING_ERROR_REF_SPAD_INIT); 00166 break; 00167 case VL53L1_ERROR_GPH_SYNC_CHECK_FAIL: 00168 VL53L1_COPYSTRING(pPalErrorString, 00169 VL53L1_STRING_ERROR_GPH_SYNC_CHECK_FAIL); 00170 break; 00171 case VL53L1_ERROR_STREAM_COUNT_CHECK_FAIL: 00172 VL53L1_COPYSTRING(pPalErrorString, 00173 VL53L1_STRING_ERROR_STREAM_COUNT_CHECK_FAIL); 00174 break; 00175 case VL53L1_ERROR_GPH_ID_CHECK_FAIL: 00176 VL53L1_COPYSTRING(pPalErrorString, 00177 VL53L1_STRING_ERROR_GPH_ID_CHECK_FAIL); 00178 break; 00179 case VL53L1_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL: 00180 VL53L1_COPYSTRING(pPalErrorString, 00181 VL53L1_STRING_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL); 00182 break; 00183 case VL53L1_ERROR_ZONE_GPH_ID_CHECK_FAIL: 00184 VL53L1_COPYSTRING(pPalErrorString, 00185 VL53L1_STRING_ERROR_ZONE_GPH_ID_CHECK_FAIL); 00186 break; 00187 00188 case VL53L1_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL: 00189 VL53L1_COPYSTRING(pPalErrorString, 00190 VL53L1_STRING_ERROR_XTALK_EXTRACTION_NO_SAMPLES_FAIL); 00191 break; 00192 case VL53L1_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL: 00193 VL53L1_COPYSTRING(pPalErrorString, 00194 VL53L1_STRING_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL); 00195 break; 00196 00197 case VL53L1_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL: 00198 VL53L1_COPYSTRING(pPalErrorString, 00199 VL53L1_STRING_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL); 00200 break; 00201 case VL53L1_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL: 00202 VL53L1_COPYSTRING(pPalErrorString, 00203 VL53L1_STRING_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL); 00204 break; 00205 case VL53L1_ERROR_ZONE_CAL_NO_SAMPLE_FAIL: 00206 VL53L1_COPYSTRING(pPalErrorString, 00207 VL53L1_STRING_ERROR_ZONE_CAL_NO_SAMPLE_FAIL); 00208 break; 00209 00210 case VL53L1_WARNING_OFFSET_CAL_MISSING_SAMPLES: 00211 VL53L1_COPYSTRING(pPalErrorString, 00212 VL53L1_STRING_WARNING_OFFSET_CAL_MISSING_SAMPLES); 00213 break; 00214 case VL53L1_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH: 00215 VL53L1_COPYSTRING(pPalErrorString, 00216 VL53L1_STRING_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH); 00217 break; 00218 case VL53L1_WARNING_OFFSET_CAL_RATE_TOO_HIGH: 00219 VL53L1_COPYSTRING(pPalErrorString, 00220 VL53L1_STRING_WARNING_OFFSET_CAL_RATE_TOO_HIGH); 00221 break; 00222 case VL53L1_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW: 00223 VL53L1_COPYSTRING(pPalErrorString, 00224 VL53L1_STRING_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW); 00225 break; 00226 00227 case VL53L1_WARNING_ZONE_CAL_MISSING_SAMPLES: 00228 VL53L1_COPYSTRING(pPalErrorString, 00229 VL53L1_STRING_WARNING_ZONE_CAL_MISSING_SAMPLES); 00230 break; 00231 case VL53L1_WARNING_ZONE_CAL_SIGMA_TOO_HIGH: 00232 VL53L1_COPYSTRING(pPalErrorString, 00233 VL53L1_STRING_WARNING_ZONE_CAL_SIGMA_TOO_HIGH); 00234 break; 00235 case VL53L1_WARNING_ZONE_CAL_RATE_TOO_HIGH: 00236 VL53L1_COPYSTRING(pPalErrorString, 00237 VL53L1_STRING_WARNING_ZONE_CAL_RATE_TOO_HIGH); 00238 break; 00239 00240 case VL53L1_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS: 00241 VL53L1_COPYSTRING(pPalErrorString, 00242 VL53L1_STRING_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS); 00243 break; 00244 case VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH: 00245 VL53L1_COPYSTRING(pPalErrorString, 00246 VL53L1_STRING_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH); 00247 break; 00248 case VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW: 00249 VL53L1_COPYSTRING(pPalErrorString, 00250 VL53L1_STRING_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW); 00251 break; 00252 00253 case VL53L1_WARNING_XTALK_MISSING_SAMPLES: 00254 VL53L1_COPYSTRING(pPalErrorString, 00255 VL53L1_STRING_WARNING_XTALK_MISSING_SAMPLES); 00256 break; 00257 case VL53L1_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT: 00258 VL53L1_COPYSTRING(pPalErrorString, 00259 VL53L1_STRING_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT); 00260 break; 00261 case VL53L1_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT: 00262 VL53L1_COPYSTRING(pPalErrorString, 00263 VL53L1_STRING_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT); 00264 break; 00265 00266 case VL53L1_ERROR_DEVICE_FIRMWARE_TOO_OLD: 00267 VL53L1_COPYSTRING(pPalErrorString, 00268 VL53L1_STRING_ERROR_DEVICE_FIRMWARE_TOO_OLD); 00269 break; 00270 case VL53L1_ERROR_DEVICE_FIRMWARE_TOO_NEW: 00271 VL53L1_COPYSTRING(pPalErrorString, 00272 VL53L1_STRING_ERROR_DEVICE_FIRMWARE_TOO_NEW); 00273 break; 00274 case VL53L1_ERROR_UNIT_TEST_FAIL: 00275 VL53L1_COPYSTRING(pPalErrorString, 00276 VL53L1_STRING_ERROR_UNIT_TEST_FAIL); 00277 break; 00278 case VL53L1_ERROR_FILE_READ_FAIL: 00279 VL53L1_COPYSTRING(pPalErrorString, 00280 VL53L1_STRING_ERROR_FILE_READ_FAIL); 00281 break; 00282 case VL53L1_ERROR_FILE_WRITE_FAIL: 00283 VL53L1_COPYSTRING(pPalErrorString, 00284 VL53L1_STRING_ERROR_FILE_WRITE_FAIL); 00285 break; 00286 case VL53L1_ERROR_NOT_IMPLEMENTED: 00287 VL53L1_COPYSTRING(pPalErrorString, 00288 VL53L1_STRING_ERROR_NOT_IMPLEMENTED); 00289 break; 00290 default: 00291 VL53L1_COPYSTRING(pPalErrorString, 00292 VL53L1_STRING_UNKNOW_ERROR_CODE); 00293 } 00294 00295 #endif 00296 00297 LOG_FUNCTION_END(Status); 00298 00299 return Status; 00300 } 00301 00302
Generated on Tue Jul 12 2022 20:07:14 by
1.7.2