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_error_strings.c Source File

vl53l1_error_strings.c

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 #include "vl53l1_error_codes.h"
00016 #include "vl53l1_error_strings.h"
00017 #include "vl53l1_platform_log.h"
00018 #include "vl53l1_ll_def.h"
00019 
00020 #define LOG_FUNCTION_START(fmt, ...) \
00021     _LOG_FUNCTION_START(VL53L1_TRACE_MODULE_API, fmt, ##__VA_ARGS__)
00022 #define LOG_FUNCTION_END(status, ...) \
00023     _LOG_FUNCTION_END(VL53L1_TRACE_MODULE_API, status, ##__VA_ARGS__)
00024 #define LOG_FUNCTION_END_FMT(status, fmt, ...) \
00025     _LOG_FUNCTION_END_FMT(VL53L1_TRACE_MODULE_API, \
00026         status, fmt, ##__VA_ARGS__)
00027 
00028 
00029 VL53L1_Error VL53L1_get_pal_error_string(
00030     VL53L1_Error   PalErrorCode,
00031     char          *pPalErrorString)
00032 {
00033     VL53L1_Error Status = VL53L1_ERROR_NONE;
00034 
00035 #ifdef VL53L1_USE_EMPTY_STRING
00036     SUPPRESS_UNUSED_WARNING(PalErrorCode);
00037 #endif
00038 
00039     LOG_FUNCTION_START("");
00040 
00041 #ifdef VL53L1_USE_EMPTY_STRING
00042     VL53L1_COPYSTRING(pPalErrorString, "");
00043 #else
00044 
00045     switch (PalErrorCode) {
00046     case VL53L1_ERROR_NONE:
00047         VL53L1_COPYSTRING(pPalErrorString,
00048             VL53L1_STRING_ERROR_NONE);
00049         break;
00050     case VL53L1_ERROR_CALIBRATION_WARNING:
00051         VL53L1_COPYSTRING(pPalErrorString,
00052             VL53L1_STRING_ERROR_CALIBRATION_WARNING);
00053         break;
00054     case VL53L1_ERROR_MIN_CLIPPED:
00055         VL53L1_COPYSTRING(pPalErrorString,
00056             VL53L1_STRING_ERROR_MIN_CLIPPED);
00057         break;
00058     case VL53L1_ERROR_UNDEFINED:
00059         VL53L1_COPYSTRING(pPalErrorString,
00060             VL53L1_STRING_ERROR_UNDEFINED);
00061         break;
00062     case VL53L1_ERROR_INVALID_PARAMS:
00063         VL53L1_COPYSTRING(pPalErrorString,
00064             VL53L1_STRING_ERROR_INVALID_PARAMS);
00065         break;
00066     case VL53L1_ERROR_NOT_SUPPORTED:
00067         VL53L1_COPYSTRING(pPalErrorString,
00068             VL53L1_STRING_ERROR_NOT_SUPPORTED);
00069         break;
00070     case VL53L1_ERROR_RANGE_ERROR:
00071         VL53L1_COPYSTRING(pPalErrorString,
00072             VL53L1_STRING_ERROR_RANGE_ERROR);
00073         break;
00074     case VL53L1_ERROR_TIME_OUT:
00075         VL53L1_COPYSTRING(pPalErrorString,
00076             VL53L1_STRING_ERROR_TIME_OUT);
00077         break;
00078     case VL53L1_ERROR_MODE_NOT_SUPPORTED:
00079         VL53L1_COPYSTRING(pPalErrorString,
00080             VL53L1_STRING_ERROR_MODE_NOT_SUPPORTED);
00081         break;
00082     case VL53L1_ERROR_BUFFER_TOO_SMALL:
00083         VL53L1_COPYSTRING(pPalErrorString,
00084             VL53L1_STRING_ERROR_BUFFER_TOO_SMALL);
00085         break;
00086     case VL53L1_ERROR_COMMS_BUFFER_TOO_SMALL:
00087         VL53L1_COPYSTRING(pPalErrorString,
00088             VL53L1_STRING_ERROR_COMMS_BUFFER_TOO_SMALL);
00089         break;
00090     case VL53L1_ERROR_GPIO_NOT_EXISTING:
00091         VL53L1_COPYSTRING(pPalErrorString,
00092             VL53L1_STRING_ERROR_GPIO_NOT_EXISTING);
00093         break;
00094     case VL53L1_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED:
00095         VL53L1_COPYSTRING(pPalErrorString,
00096             VL53L1_STRING_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED);
00097         break;
00098     case VL53L1_ERROR_CONTROL_INTERFACE:
00099         VL53L1_COPYSTRING(pPalErrorString,
00100             VL53L1_STRING_ERROR_CONTROL_INTERFACE);
00101         break;
00102     case VL53L1_ERROR_INVALID_COMMAND:
00103         VL53L1_COPYSTRING(pPalErrorString,
00104             VL53L1_STRING_ERROR_INVALID_COMMAND);
00105         break;
00106     case VL53L1_ERROR_DIVISION_BY_ZERO:
00107         VL53L1_COPYSTRING(pPalErrorString,
00108             VL53L1_STRING_ERROR_DIVISION_BY_ZERO);
00109         break;
00110     case VL53L1_ERROR_REF_SPAD_INIT:
00111         VL53L1_COPYSTRING(pPalErrorString,
00112             VL53L1_STRING_ERROR_REF_SPAD_INIT);
00113         break;
00114     case VL53L1_ERROR_GPH_SYNC_CHECK_FAIL:
00115         VL53L1_COPYSTRING(pPalErrorString,
00116             VL53L1_STRING_ERROR_GPH_SYNC_CHECK_FAIL);
00117         break;
00118     case VL53L1_ERROR_STREAM_COUNT_CHECK_FAIL:
00119         VL53L1_COPYSTRING(pPalErrorString,
00120             VL53L1_STRING_ERROR_STREAM_COUNT_CHECK_FAIL);
00121         break;
00122     case VL53L1_ERROR_GPH_ID_CHECK_FAIL:
00123         VL53L1_COPYSTRING(pPalErrorString,
00124             VL53L1_STRING_ERROR_GPH_ID_CHECK_FAIL);
00125         break;
00126     case VL53L1_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL:
00127         VL53L1_COPYSTRING(pPalErrorString,
00128             VL53L1_STRING_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL);
00129         break;
00130     case VL53L1_ERROR_ZONE_GPH_ID_CHECK_FAIL:
00131         VL53L1_COPYSTRING(pPalErrorString,
00132             VL53L1_STRING_ERROR_ZONE_GPH_ID_CHECK_FAIL);
00133         break;
00134 
00135     case VL53L1_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL:
00136         VL53L1_COPYSTRING(pPalErrorString,
00137             VL53L1_STRING_ERROR_XTALK_EXTRACTION_NO_SAMPLES_FAIL);
00138         break;
00139     case VL53L1_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL:
00140         VL53L1_COPYSTRING(pPalErrorString,
00141             VL53L1_STRING_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL);
00142         break;
00143 
00144     case VL53L1_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL:
00145         VL53L1_COPYSTRING(pPalErrorString,
00146             VL53L1_STRING_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL);
00147         break;
00148     case VL53L1_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL:
00149         VL53L1_COPYSTRING(pPalErrorString,
00150             VL53L1_STRING_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL);
00151         break;
00152     case VL53L1_ERROR_ZONE_CAL_NO_SAMPLE_FAIL:
00153         VL53L1_COPYSTRING(pPalErrorString,
00154             VL53L1_STRING_ERROR_ZONE_CAL_NO_SAMPLE_FAIL);
00155         break;
00156 
00157     case VL53L1_WARNING_OFFSET_CAL_MISSING_SAMPLES:
00158         VL53L1_COPYSTRING(pPalErrorString,
00159             VL53L1_STRING_WARNING_OFFSET_CAL_MISSING_SAMPLES);
00160         break;
00161     case VL53L1_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH:
00162         VL53L1_COPYSTRING(pPalErrorString,
00163             VL53L1_STRING_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH);
00164         break;
00165     case VL53L1_WARNING_OFFSET_CAL_RATE_TOO_HIGH:
00166         VL53L1_COPYSTRING(pPalErrorString,
00167             VL53L1_STRING_WARNING_OFFSET_CAL_RATE_TOO_HIGH);
00168         break;
00169     case VL53L1_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW:
00170         VL53L1_COPYSTRING(pPalErrorString,
00171             VL53L1_STRING_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW);
00172         break;
00173 
00174     case VL53L1_WARNING_ZONE_CAL_MISSING_SAMPLES:
00175         VL53L1_COPYSTRING(pPalErrorString,
00176             VL53L1_STRING_WARNING_ZONE_CAL_MISSING_SAMPLES);
00177         break;
00178     case VL53L1_WARNING_ZONE_CAL_SIGMA_TOO_HIGH:
00179         VL53L1_COPYSTRING(pPalErrorString,
00180             VL53L1_STRING_WARNING_ZONE_CAL_SIGMA_TOO_HIGH);
00181         break;
00182     case VL53L1_WARNING_ZONE_CAL_RATE_TOO_HIGH:
00183         VL53L1_COPYSTRING(pPalErrorString,
00184             VL53L1_STRING_WARNING_ZONE_CAL_RATE_TOO_HIGH);
00185         break;
00186 
00187     case VL53L1_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS:
00188         VL53L1_COPYSTRING(pPalErrorString,
00189             VL53L1_STRING_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS);
00190         break;
00191     case VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH:
00192         VL53L1_COPYSTRING(pPalErrorString,
00193             VL53L1_STRING_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH);
00194         break;
00195     case VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW:
00196         VL53L1_COPYSTRING(pPalErrorString,
00197             VL53L1_STRING_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW);
00198         break;
00199 
00200     case VL53L1_WARNING_XTALK_MISSING_SAMPLES:
00201         VL53L1_COPYSTRING(pPalErrorString,
00202             VL53L1_STRING_WARNING_XTALK_MISSING_SAMPLES);
00203         break;
00204     case VL53L1_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT:
00205         VL53L1_COPYSTRING(pPalErrorString,
00206             VL53L1_STRING_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT);
00207         break;
00208     case VL53L1_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT:
00209         VL53L1_COPYSTRING(pPalErrorString,
00210             VL53L1_STRING_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT);
00211         break;
00212 
00213     case VL53L1_ERROR_DEVICE_FIRMWARE_TOO_OLD:
00214         VL53L1_COPYSTRING(pPalErrorString,
00215             VL53L1_STRING_ERROR_DEVICE_FIRMWARE_TOO_OLD);
00216         break;
00217     case VL53L1_ERROR_DEVICE_FIRMWARE_TOO_NEW:
00218         VL53L1_COPYSTRING(pPalErrorString,
00219             VL53L1_STRING_ERROR_DEVICE_FIRMWARE_TOO_NEW);
00220         break;
00221     case VL53L1_ERROR_UNIT_TEST_FAIL:
00222         VL53L1_COPYSTRING(pPalErrorString,
00223             VL53L1_STRING_ERROR_UNIT_TEST_FAIL);
00224         break;
00225     case VL53L1_ERROR_FILE_READ_FAIL:
00226         VL53L1_COPYSTRING(pPalErrorString,
00227             VL53L1_STRING_ERROR_FILE_READ_FAIL);
00228         break;
00229     case VL53L1_ERROR_FILE_WRITE_FAIL:
00230         VL53L1_COPYSTRING(pPalErrorString,
00231             VL53L1_STRING_ERROR_FILE_WRITE_FAIL);
00232         break;
00233     case VL53L1_ERROR_NOT_IMPLEMENTED:
00234         VL53L1_COPYSTRING(pPalErrorString,
00235             VL53L1_STRING_ERROR_NOT_IMPLEMENTED);
00236         break;
00237     default:
00238         VL53L1_COPYSTRING(pPalErrorString,
00239                 VL53L1_STRING_UNKNOW_ERROR_CODE);
00240     }
00241 
00242 #endif
00243 
00244     LOG_FUNCTION_END(Status);
00245 
00246     return Status;
00247 }
00248