Committer:
charlesmn
Date:
Wed Oct 28 16:06:15 2020 +0000
Revision:
1:b4bdb0356af0
Parent:
0:1da5e4bcb8e5
fix compiler error. Replace #ifdef 0 with #if 0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
charlesmn 0:1da5e4bcb8e5 1 /**
charlesmn 0:1da5e4bcb8e5 2 ******************************************************************************
charlesmn 0:1da5e4bcb8e5 3 * @file vl6180_class.cpp
charlesmn 0:1da5e4bcb8e5 4 * @author JS
charlesmn 0:1da5e4bcb8e5 5 * @version V0.0.1
charlesmn 0:1da5e4bcb8e5 6 * @date 15-January-2019
charlesmn 0:1da5e4bcb8e5 7 * @brief Implementation file for the VL53L1 sensor component driver class
charlesmn 0:1da5e4bcb8e5 8 ******************************************************************************
charlesmn 0:1da5e4bcb8e5 9 * @attention
charlesmn 0:1da5e4bcb8e5 10 *
charlesmn 0:1da5e4bcb8e5 11 * <h2><center>&copy; COPYRIGHT(c) 2018 STMicroelectronics</center></h2>
charlesmn 0:1da5e4bcb8e5 12 *
charlesmn 0:1da5e4bcb8e5 13 * Redistribution and use in source and binary forms, with or without modification,
charlesmn 0:1da5e4bcb8e5 14 * are permitted provided that the following conditions are met:
charlesmn 0:1da5e4bcb8e5 15 * 1. Redistributions of source code must retain the above copyright notice,
charlesmn 0:1da5e4bcb8e5 16 * this list of conditions and the following disclaimer.
charlesmn 0:1da5e4bcb8e5 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
charlesmn 0:1da5e4bcb8e5 18 * this list of conditions and the following disclaimer in the documentation
charlesmn 0:1da5e4bcb8e5 19 * and/or other materials provided with the distribution.
charlesmn 0:1da5e4bcb8e5 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
charlesmn 0:1da5e4bcb8e5 21 * may be used to endorse or promote products derived from this software
charlesmn 0:1da5e4bcb8e5 22 * without specific prior written permission.
charlesmn 0:1da5e4bcb8e5 23 *
charlesmn 0:1da5e4bcb8e5 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
charlesmn 0:1da5e4bcb8e5 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
charlesmn 0:1da5e4bcb8e5 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
charlesmn 0:1da5e4bcb8e5 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
charlesmn 0:1da5e4bcb8e5 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
charlesmn 0:1da5e4bcb8e5 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
charlesmn 0:1da5e4bcb8e5 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
charlesmn 0:1da5e4bcb8e5 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
charlesmn 0:1da5e4bcb8e5 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
charlesmn 0:1da5e4bcb8e5 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
charlesmn 0:1da5e4bcb8e5 34 *
charlesmn 0:1da5e4bcb8e5 35 ******************************************************************************
charlesmn 0:1da5e4bcb8e5 36 */
charlesmn 0:1da5e4bcb8e5 37
charlesmn 0:1da5e4bcb8e5 38 /* Includes */
charlesmn 0:1da5e4bcb8e5 39 #include <stdlib.h>
charlesmn 0:1da5e4bcb8e5 40 #include "vl6180_class.h"
charlesmn 0:1da5e4bcb8e5 41 #include "vl6180_i2c_fn.h"
charlesmn 0:1da5e4bcb8e5 42 #include "vl6180_def.h"
charlesmn 0:1da5e4bcb8e5 43 #include "vl6180_api.h"
charlesmn 0:1da5e4bcb8e5 44
charlesmn 0:1da5e4bcb8e5 45
charlesmn 0:1da5e4bcb8e5 46 #define ALGO__PART_TO_PART_RANGE_OFFSET_MM 0x001E
charlesmn 0:1da5e4bcb8e5 47 #define MM_CONFIG__INNER_OFFSET_MM 0x0020
charlesmn 0:1da5e4bcb8e5 48 #define MM_CONFIG__OUTER_OFFSET_MM 0x0022
charlesmn 0:1da5e4bcb8e5 49
charlesmn 0:1da5e4bcb8e5 50 //#include "vl53l1x_configuration.h"
charlesmn 0:1da5e4bcb8e5 51
charlesmn 0:1da5e4bcb8e5 52
charlesmn 0:1da5e4bcb8e5 53 #ifndef MIN
charlesmn 0:1da5e4bcb8e5 54 #define MIN(v1, v2) ((v1) < (v2) ? (v1) : (v2))
charlesmn 0:1da5e4bcb8e5 55 #endif
charlesmn 0:1da5e4bcb8e5 56 #ifndef MAX
charlesmn 0:1da5e4bcb8e5 57 #define MAX(v1, v2) ((v1) < (v2) ? (v2) : (v1))
charlesmn 0:1da5e4bcb8e5 58 #endif
charlesmn 0:1da5e4bcb8e5 59
charlesmn 0:1da5e4bcb8e5 60 #define DMAX_REFLECTANCE_IDX 2
charlesmn 0:1da5e4bcb8e5 61
charlesmn 0:1da5e4bcb8e5 62 #define LOWPOWER_AUTO_VHV_LOOP_DURATION_US 245
charlesmn 0:1da5e4bcb8e5 63 #define LOWPOWER_AUTO_OVERHEAD_BEFORE_A_RANGING 1448
charlesmn 0:1da5e4bcb8e5 64 #define LOWPOWER_AUTO_OVERHEAD_BETWEEN_A_B_RANGING 2100
charlesmn 0:1da5e4bcb8e5 65
charlesmn 0:1da5e4bcb8e5 66 #define FDA_MAX_TIMING_BUDGET_US 550000
charlesmn 0:1da5e4bcb8e5 67
charlesmn 0:1da5e4bcb8e5 68 #define VL53L1DevStructGetLLDriverHandle(Dev) (&Dev->Data.LLData)
charlesmn 0:1da5e4bcb8e5 69
charlesmn 0:1da5e4bcb8e5 70
charlesmn 0:1da5e4bcb8e5 71 VL6180_ERROR VL6180::vl6180_GetSWVersion(VL6180_Version_t *pVersion)
charlesmn 0:1da5e4bcb8e5 72 {
charlesmn 0:1da5e4bcb8e5 73 VL6180_ERROR Status = 0;
charlesmn 0:1da5e4bcb8e5 74
charlesmn 0:1da5e4bcb8e5 75 pVersion->major = VL53L1X_IMPLEMENTATION_VER_MAJOR;
charlesmn 0:1da5e4bcb8e5 76 pVersion->minor = VL53L1X_IMPLEMENTATION_VER_MINOR;
charlesmn 0:1da5e4bcb8e5 77 pVersion->build = VL53L1X_IMPLEMENTATION_VER_SUB;
charlesmn 0:1da5e4bcb8e5 78 pVersion->revision = VL53L1X_IMPLEMENTATION_VER_REVISION;
charlesmn 0:1da5e4bcb8e5 79 return Status;
charlesmn 0:1da5e4bcb8e5 80 }
charlesmn 0:1da5e4bcb8e5 81
charlesmn 0:1da5e4bcb8e5 82 VL6180_ERROR VL6180::vl6180_SetI2CAddress(uint8_t new_address)
charlesmn 0:1da5e4bcb8e5 83 {
charlesmn 0:1da5e4bcb8e5 84 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 85
charlesmn 0:1da5e4bcb8e5 86 // Device.i2c_addr = new_address;
charlesmn 0:1da5e4bcb8e5 87
charlesmn 0:1da5e4bcb8e5 88 if ( Device.i2c_addr != new_address)
charlesmn 0:1da5e4bcb8e5 89 {
charlesmn 0:1da5e4bcb8e5 90
charlesmn 0:1da5e4bcb8e5 91 status = VL6180_SetI2CAddress (&Device,new_address);
charlesmn 0:1da5e4bcb8e5 92 printf("VL53L1X_SetI2CAddress %d to %d \n", Device.i2c_addr,new_address);
charlesmn 0:1da5e4bcb8e5 93 Device.i2c_addr = new_address;
charlesmn 0:1da5e4bcb8e5 94
charlesmn 0:1da5e4bcb8e5 95 }
charlesmn 0:1da5e4bcb8e5 96 printf("Sensor right VL53L1X_SetI2CAddress end\n\r");
charlesmn 0:1da5e4bcb8e5 97 return status;
charlesmn 0:1da5e4bcb8e5 98 }
charlesmn 0:1da5e4bcb8e5 99
charlesmn 0:1da5e4bcb8e5 100 int VL6180::init_sensor(uint8_t new_addr)
charlesmn 0:1da5e4bcb8e5 101 {
charlesmn 0:1da5e4bcb8e5 102 Device.i2c_addr = new_addr;
charlesmn 0:1da5e4bcb8e5 103 int status = 0;
charlesmn 0:1da5e4bcb8e5 104 VL53L1_Off();
charlesmn 0:1da5e4bcb8e5 105 VL53L1_On();
charlesmn 0:1da5e4bcb8e5 106
charlesmn 0:1da5e4bcb8e5 107 status = is_present();
charlesmn 0:1da5e4bcb8e5 108 if (!status) {
charlesmn 0:1da5e4bcb8e5 109 printf("Failed to init VL53L0X sensor!\n\r");
charlesmn 0:1da5e4bcb8e5 110 return status;
charlesmn 0:1da5e4bcb8e5 111 }
charlesmn 0:1da5e4bcb8e5 112 printf("init_sensor %d \n",status);
charlesmn 0:1da5e4bcb8e5 113 return status;
charlesmn 0:1da5e4bcb8e5 114 }
charlesmn 0:1da5e4bcb8e5 115
charlesmn 0:1da5e4bcb8e5 116
charlesmn 0:1da5e4bcb8e5 117 VL6180_ERROR VL6180::vl6180_ClearInterrupt()
charlesmn 0:1da5e4bcb8e5 118 {
charlesmn 0:1da5e4bcb8e5 119 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 120
charlesmn 0:1da5e4bcb8e5 121 //status = VL53L1_WrByte(Device, SYSTEM__INTERRUPT_CLEAR, 0x01);
charlesmn 0:1da5e4bcb8e5 122 status = VL6180_ClearInterrupt(&Device, INTERRUPT_CLEAR_ERROR|INTERRUPT_CLEAR_RANGING);
charlesmn 0:1da5e4bcb8e5 123 printf("VL6180::VL53L1X_ClearInterrupt()\n");
charlesmn 0:1da5e4bcb8e5 124 return status;
charlesmn 0:1da5e4bcb8e5 125 }
charlesmn 0:1da5e4bcb8e5 126
charlesmn 0:1da5e4bcb8e5 127
charlesmn 0:1da5e4bcb8e5 128 VL6180_ERROR VL6180::vl6180_WaitDeviceBooted(VL6180Dev_t dev)
charlesmn 0:1da5e4bcb8e5 129 {
charlesmn 0:1da5e4bcb8e5 130 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 131 status = VL6180_WaitDeviceBooted(dev);
charlesmn 0:1da5e4bcb8e5 132
charlesmn 0:1da5e4bcb8e5 133 return status;
charlesmn 0:1da5e4bcb8e5 134 }
charlesmn 0:1da5e4bcb8e5 135
charlesmn 0:1da5e4bcb8e5 136 VL6180_ERROR VL6180::vl6180_InitData(VL6180Dev_t dev)
charlesmn 0:1da5e4bcb8e5 137 {
charlesmn 0:1da5e4bcb8e5 138 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 139 status = VL6180_InitData(dev);
charlesmn 0:1da5e4bcb8e5 140
charlesmn 0:1da5e4bcb8e5 141 return status;
charlesmn 0:1da5e4bcb8e5 142 }
charlesmn 0:1da5e4bcb8e5 143
charlesmn 0:1da5e4bcb8e5 144
charlesmn 0:1da5e4bcb8e5 145 VL6180_ERROR VL6180::vl6180_DMaxSetState(VL6180Dev_t dev, int state)
charlesmn 0:1da5e4bcb8e5 146 {
charlesmn 0:1da5e4bcb8e5 147 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 148 status = VL6180_DMaxSetState(dev,state);
charlesmn 0:1da5e4bcb8e5 149
charlesmn 0:1da5e4bcb8e5 150 return status;
charlesmn 0:1da5e4bcb8e5 151 }
charlesmn 0:1da5e4bcb8e5 152
charlesmn 0:1da5e4bcb8e5 153 VL6180_ERROR VL6180::vl6180_UpscaleGetScaling(VL6180Dev_t dev)
charlesmn 0:1da5e4bcb8e5 154 {
charlesmn 0:1da5e4bcb8e5 155 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 156 status = VL6180_UpscaleGetScaling(dev);
charlesmn 0:1da5e4bcb8e5 157
charlesmn 0:1da5e4bcb8e5 158 return status;
charlesmn 0:1da5e4bcb8e5 159 }
charlesmn 0:1da5e4bcb8e5 160
charlesmn 0:1da5e4bcb8e5 161 VL6180_ERROR VL6180::vl6180_FilterGetState(VL6180Dev_t dev)
charlesmn 0:1da5e4bcb8e5 162 {
charlesmn 0:1da5e4bcb8e5 163 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 164 status = VL6180_FilterGetState(dev);
charlesmn 0:1da5e4bcb8e5 165
charlesmn 0:1da5e4bcb8e5 166 return status;
charlesmn 0:1da5e4bcb8e5 167 }
charlesmn 0:1da5e4bcb8e5 168
charlesmn 0:1da5e4bcb8e5 169
charlesmn 0:1da5e4bcb8e5 170
charlesmn 0:1da5e4bcb8e5 171 // required?
charlesmn 0:1da5e4bcb8e5 172 VL6180_ERROR VL6180::vl6180_SetInterruptPolarity(uint8_t NewPolarity)
charlesmn 0:1da5e4bcb8e5 173 {
charlesmn 0:1da5e4bcb8e5 174 // uint8_t Temp;
charlesmn 0:1da5e4bcb8e5 175 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 176
charlesmn 0:1da5e4bcb8e5 177 // status = VL53L1_RdByte(Device, GPIO_HV_MUX__CTRL, &Temp);
charlesmn 0:1da5e4bcb8e5 178 // Temp = Temp & 0xEF;
charlesmn 0:1da5e4bcb8e5 179 // status = VL53L1_WrByte(Device, GPIO_HV_MUX__CTRL, Temp | (!(NewPolarity & 1)) << 4);
charlesmn 0:1da5e4bcb8e5 180
charlesmn 0:1da5e4bcb8e5 181 return status;
charlesmn 0:1da5e4bcb8e5 182 }
charlesmn 0:1da5e4bcb8e5 183
charlesmn 0:1da5e4bcb8e5 184 VL6180_ERROR VL6180::vl6180_Prepare(VL6180Dev_t dev)
charlesmn 0:1da5e4bcb8e5 185 {
charlesmn 0:1da5e4bcb8e5 186 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 187 status = VL6180_Prepare(dev);
charlesmn 0:1da5e4bcb8e5 188
charlesmn 0:1da5e4bcb8e5 189 return status;
charlesmn 0:1da5e4bcb8e5 190 }
charlesmn 0:1da5e4bcb8e5 191
charlesmn 0:1da5e4bcb8e5 192 VL6180_ERROR VL6180::vl6180_RangePollMeasurement(VL6180Dev_t dev, VL6180_RangeData_t *pRangeData)
charlesmn 0:1da5e4bcb8e5 193 {
charlesmn 0:1da5e4bcb8e5 194 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 195 status = VL6180_RangePollMeasurement(dev,pRangeData);
charlesmn 0:1da5e4bcb8e5 196
charlesmn 0:1da5e4bcb8e5 197 return status;
charlesmn 0:1da5e4bcb8e5 198 }
charlesmn 0:1da5e4bcb8e5 199
charlesmn 0:1da5e4bcb8e5 200 /*
charlesmn 0:1da5e4bcb8e5 201 VL6180_ERROR VL6180::VL6180x_AlsPollMeasurement(VL6180xDev_t dev, VL6180x_AlsData_t *pAlsData)
charlesmn 0:1da5e4bcb8e5 202 {
charlesmn 0:1da5e4bcb8e5 203 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 204 status = VL6180x_AlsPollMeasurement(dev,pAlsData);
charlesmn 0:1da5e4bcb8e5 205
charlesmn 0:1da5e4bcb8e5 206 return status;
charlesmn 0:1da5e4bcb8e5 207 }
charlesmn 0:1da5e4bcb8e5 208 */
charlesmn 0:1da5e4bcb8e5 209
charlesmn 0:1da5e4bcb8e5 210
charlesmn 0:1da5e4bcb8e5 211 VL6180_ERROR VL6180::vl6180_GetInterruptPolarity(uint8_t *pInterruptPolarity)
charlesmn 0:1da5e4bcb8e5 212 {
charlesmn 0:1da5e4bcb8e5 213 uint8_t Temp;
charlesmn 0:1da5e4bcb8e5 214 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 215
charlesmn 0:1da5e4bcb8e5 216 status = VL6180_RdByte(&Device, GPIO_HV_MUX__CTRL, &Temp);
charlesmn 0:1da5e4bcb8e5 217 Temp = Temp & 0x10;
charlesmn 0:1da5e4bcb8e5 218 *pInterruptPolarity = !(Temp>>4);
charlesmn 0:1da5e4bcb8e5 219 return status;
charlesmn 0:1da5e4bcb8e5 220 }
charlesmn 0:1da5e4bcb8e5 221
charlesmn 0:1da5e4bcb8e5 222 VL6180_ERROR VL6180::VL6180_I2CWrite(uint8_t DeviceAddr, uint16_t RegisterAddr, uint8_t* pBuffer, uint16_t NumByteToWrite)
charlesmn 0:1da5e4bcb8e5 223 {
charlesmn 0:1da5e4bcb8e5 224 int ret;
charlesmn 0:1da5e4bcb8e5 225 ret = dev_i2c->vl6180_i2c_write(pBuffer, DeviceAddr, RegisterAddr, NumByteToWrite);
charlesmn 0:1da5e4bcb8e5 226 if (ret) {
charlesmn 0:1da5e4bcb8e5 227 return -1;
charlesmn 0:1da5e4bcb8e5 228 }
charlesmn 0:1da5e4bcb8e5 229 return 0;
charlesmn 0:1da5e4bcb8e5 230
charlesmn 0:1da5e4bcb8e5 231 }
charlesmn 0:1da5e4bcb8e5 232
charlesmn 0:1da5e4bcb8e5 233 VL6180_ERROR VL6180::VL6180_I2CRead(uint8_t DeviceAddr, uint16_t RegisterAddr, uint8_t* pBuffer, uint16_t NumByteToRead)
charlesmn 0:1da5e4bcb8e5 234 {
charlesmn 0:1da5e4bcb8e5 235 int ret;
charlesmn 0:1da5e4bcb8e5 236
charlesmn 0:1da5e4bcb8e5 237 ret = dev_i2c->vl6180_i2c_read(pBuffer, DeviceAddr, RegisterAddr, NumByteToRead);
charlesmn 0:1da5e4bcb8e5 238 //ret = dev_i2c->i2c_read(pBuffer, DeviceAddr, RegisterAddr, NumByteToRead);
charlesmn 0:1da5e4bcb8e5 239 if (ret) {
charlesmn 0:1da5e4bcb8e5 240 return -1;
charlesmn 0:1da5e4bcb8e5 241 }
charlesmn 0:1da5e4bcb8e5 242 return 0;
charlesmn 0:1da5e4bcb8e5 243 }
charlesmn 0:1da5e4bcb8e5 244
charlesmn 0:1da5e4bcb8e5 245 VL6180_ERROR VL6180::vl6180_RangeStartContinuousMode(VL6180Dev_t dev)
charlesmn 0:1da5e4bcb8e5 246
charlesmn 0:1da5e4bcb8e5 247 {
charlesmn 0:1da5e4bcb8e5 248 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 249 status = VL6180_RangeStartContinuousMode(dev);
charlesmn 0:1da5e4bcb8e5 250
charlesmn 0:1da5e4bcb8e5 251 return status;
charlesmn 0:1da5e4bcb8e5 252 }
charlesmn 0:1da5e4bcb8e5 253
charlesmn 0:1da5e4bcb8e5 254
charlesmn 0:1da5e4bcb8e5 255 VL6180_ERROR VL6180::vl6180_RangeStartSingleShot(VL6180Dev_t dev)
charlesmn 0:1da5e4bcb8e5 256 {
charlesmn 0:1da5e4bcb8e5 257 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 258 status = VL6180_RangeStartSingleShot(dev);
charlesmn 0:1da5e4bcb8e5 259
charlesmn 0:1da5e4bcb8e5 260 return status;
charlesmn 0:1da5e4bcb8e5 261 }
charlesmn 0:1da5e4bcb8e5 262
charlesmn 0:1da5e4bcb8e5 263
charlesmn 0:1da5e4bcb8e5 264 VL6180_ERROR VL6180::vl6180_RangeSetInterMeasPeriod(VL6180Dev_t dev, uint32_t InterMeasTime_msec)
charlesmn 0:1da5e4bcb8e5 265 {
charlesmn 0:1da5e4bcb8e5 266 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 267 status = VL6180_RangeSetInterMeasPeriod(dev,InterMeasTime_msec);
charlesmn 0:1da5e4bcb8e5 268
charlesmn 0:1da5e4bcb8e5 269 return status;
charlesmn 0:1da5e4bcb8e5 270 }
charlesmn 0:1da5e4bcb8e5 271
charlesmn 0:1da5e4bcb8e5 272 VL6180_ERROR VL6180::vl6180_RangeGetMeasurement(VL6180Dev_t dev, VL6180_RangeData_t *pRangeData)
charlesmn 0:1da5e4bcb8e5 273 {
charlesmn 0:1da5e4bcb8e5 274 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 275 status = VL6180_RangeGetMeasurement(dev,pRangeData);
charlesmn 0:1da5e4bcb8e5 276
charlesmn 0:1da5e4bcb8e5 277 return status;
charlesmn 0:1da5e4bcb8e5 278 }
charlesmn 0:1da5e4bcb8e5 279
charlesmn 0:1da5e4bcb8e5 280
charlesmn 0:1da5e4bcb8e5 281 VL6180_ERROR VL6180::vl6180_RangeGetMeasurementIfReady(VL6180Dev_t dev, VL6180_RangeData_t *pRangeData)
charlesmn 0:1da5e4bcb8e5 282 {
charlesmn 0:1da5e4bcb8e5 283 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 284 status = VL6180_RangeGetMeasurementIfReady(dev,pRangeData);
charlesmn 0:1da5e4bcb8e5 285
charlesmn 0:1da5e4bcb8e5 286 return status;
charlesmn 0:1da5e4bcb8e5 287 }
charlesmn 0:1da5e4bcb8e5 288
charlesmn 0:1da5e4bcb8e5 289 VL6180_ERROR VL6180::vl6180_SetupGPIO1(VL6180Dev_t dev, uint8_t IntFunction, int ActiveHigh)
charlesmn 0:1da5e4bcb8e5 290 {
charlesmn 0:1da5e4bcb8e5 291 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 292 status = VL6180_SetupGPIO1(dev,IntFunction,ActiveHigh);
charlesmn 0:1da5e4bcb8e5 293
charlesmn 0:1da5e4bcb8e5 294 return status;
charlesmn 0:1da5e4bcb8e5 295 }
charlesmn 0:1da5e4bcb8e5 296
charlesmn 0:1da5e4bcb8e5 297
charlesmn 0:1da5e4bcb8e5 298 VL6180_ERROR VL6180::vl6180_RangeConfigInterrupt(VL6180Dev_t dev, uint8_t ConfigGpioInt)
charlesmn 0:1da5e4bcb8e5 299 {
charlesmn 0:1da5e4bcb8e5 300 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 301 status = VL6180_RangeConfigInterrupt(dev,ConfigGpioInt);
charlesmn 0:1da5e4bcb8e5 302
charlesmn 0:1da5e4bcb8e5 303 return status;
charlesmn 0:1da5e4bcb8e5 304 }
charlesmn 0:1da5e4bcb8e5 305
charlesmn 0:1da5e4bcb8e5 306 VL6180_ERROR VL6180::vl6180_ClearInterrupt(VL6180Dev_t dev, uint8_t IntClear)
charlesmn 0:1da5e4bcb8e5 307 {
charlesmn 0:1da5e4bcb8e5 308 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 309 status = VL6180_ClearInterrupt(dev,IntClear);
charlesmn 0:1da5e4bcb8e5 310
charlesmn 0:1da5e4bcb8e5 311 return status;
charlesmn 0:1da5e4bcb8e5 312 }
charlesmn 0:1da5e4bcb8e5 313
charlesmn 0:1da5e4bcb8e5 314
charlesmn 0:1da5e4bcb8e5 315 VL6180_ERROR VL6180::vl6180_RangeSetThresholds(VL6180Dev_t dev, uint16_t low, uint16_t high, int UseSafeParamHold)
charlesmn 0:1da5e4bcb8e5 316 {
charlesmn 0:1da5e4bcb8e5 317 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 318 status = VL6180_RangeSetThresholds(dev,low,high,UseSafeParamHold);
charlesmn 0:1da5e4bcb8e5 319
charlesmn 0:1da5e4bcb8e5 320 return status;
charlesmn 0:1da5e4bcb8e5 321 }
charlesmn 0:1da5e4bcb8e5 322
charlesmn 0:1da5e4bcb8e5 323 VL6180_ERROR VL6180::vl6180_FilterSetState(VL6180Dev_t dev, int state)
charlesmn 0:1da5e4bcb8e5 324 {
charlesmn 0:1da5e4bcb8e5 325 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 326 status = VL6180_FilterSetState(dev,state);
charlesmn 0:1da5e4bcb8e5 327
charlesmn 0:1da5e4bcb8e5 328 return status;
charlesmn 0:1da5e4bcb8e5 329 }
charlesmn 0:1da5e4bcb8e5 330
charlesmn 0:1da5e4bcb8e5 331 VL6180_ERROR VL6180::vl6180_UpscaleSetScaling(VL6180Dev_t dev, uint8_t scaling)
charlesmn 0:1da5e4bcb8e5 332 {
charlesmn 0:1da5e4bcb8e5 333 VL6180_ERROR status = 0;
charlesmn 0:1da5e4bcb8e5 334 status = VL6180_UpscaleSetScaling(dev,scaling);
charlesmn 0:1da5e4bcb8e5 335
charlesmn 0:1da5e4bcb8e5 336 return status;
charlesmn 0:1da5e4bcb8e5 337 }