vlx lib

Committer:
vijaynvr
Date:
Sun Feb 08 14:26:51 2015 +0000
Revision:
0:bc9f26b5dadf
working

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vijaynvr 0:bc9f26b5dadf 1 /*******************************************************************************
vijaynvr 0:bc9f26b5dadf 2 ################################################################################
vijaynvr 0:bc9f26b5dadf 3 # (C) STMicroelectronics 2014
vijaynvr 0:bc9f26b5dadf 4 #
vijaynvr 0:bc9f26b5dadf 5 # This program is free software; you can redistribute it and/or modify it under
vijaynvr 0:bc9f26b5dadf 6 # the terms of the GNU General Public License version 2 and only version 2 as
vijaynvr 0:bc9f26b5dadf 7 # published by the Free Software Foundation.
vijaynvr 0:bc9f26b5dadf 8 #
vijaynvr 0:bc9f26b5dadf 9 # This program is distributed in the hope that it will be useful, but WITHOUT
vijaynvr 0:bc9f26b5dadf 10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
vijaynvr 0:bc9f26b5dadf 11 # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
vijaynvr 0:bc9f26b5dadf 12 # details.
vijaynvr 0:bc9f26b5dadf 13 #
vijaynvr 0:bc9f26b5dadf 14 # You should have received a copy of the GNU General Public License along with
vijaynvr 0:bc9f26b5dadf 15 # this program; if not, write to the Free Software Foundation, Inc.,
vijaynvr 0:bc9f26b5dadf 16 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
vijaynvr 0:bc9f26b5dadf 17 #
vijaynvr 0:bc9f26b5dadf 18 #------------------------------------------------------------------------------
vijaynvr 0:bc9f26b5dadf 19 # Imaging Division
vijaynvr 0:bc9f26b5dadf 20 ################################################################################
vijaynvr 0:bc9f26b5dadf 21 ********************************************************************************/
vijaynvr 0:bc9f26b5dadf 22
vijaynvr 0:bc9f26b5dadf 23 /**
vijaynvr 0:bc9f26b5dadf 24 * @file vl6180x_high_level_api.h
vijaynvr 0:bc9f26b5dadf 25 *
vijaynvr 0:bc9f26b5dadf 26 * @brief High level interface for the device, providing methods for basic
vijaynvr 0:bc9f26b5dadf 27 * ranging and ambient light sensor measurement.
vijaynvr 0:bc9f26b5dadf 28 *
vijaynvr 0:bc9f26b5dadf 29 */
vijaynvr 0:bc9f26b5dadf 30
vijaynvr 0:bc9f26b5dadf 31 #ifndef VL6180X_HL_API
vijaynvr 0:bc9f26b5dadf 32 #define VL6180X_HL_API
vijaynvr 0:bc9f26b5dadf 33
vijaynvr 0:bc9f26b5dadf 34 #include "definitions.h"
vijaynvr 0:bc9f26b5dadf 35 #include "als_driver.h"
vijaynvr 0:bc9f26b5dadf 36 #include "ranging_driver.h"
vijaynvr 0:bc9f26b5dadf 37
vijaynvr 0:bc9f26b5dadf 38
vijaynvr 0:bc9f26b5dadf 39 #ifdef __cplusplus
vijaynvr 0:bc9f26b5dadf 40 extern "C"
vijaynvr 0:bc9f26b5dadf 41 {
vijaynvr 0:bc9f26b5dadf 42 #endif
vijaynvr 0:bc9f26b5dadf 43
vijaynvr 0:bc9f26b5dadf 44
vijaynvr 0:bc9f26b5dadf 45 /**
vijaynvr 0:bc9f26b5dadf 46 * @brief Function to report the Vendor ID as a string.
vijaynvr 0:bc9f26b5dadf 47 */
vijaynvr 0:bc9f26b5dadf 48 sensor_error get_vendor(uint8_t *pVendorStr);
vijaynvr 0:bc9f26b5dadf 49
vijaynvr 0:bc9f26b5dadf 50 /**
vijaynvr 0:bc9f26b5dadf 51 * @brief Function to report the Device Version as a string.
vijaynvr 0:bc9f26b5dadf 52 * id : device identifier. 0, if only one device. \n
vijaynvr 0:bc9f26b5dadf 53 * Returns -1 to report error.
vijaynvr 0:bc9f26b5dadf 54 */
vijaynvr 0:bc9f26b5dadf 55 sensor_error get_version(int32_t id, uint8_t *pVersionStr);
vijaynvr 0:bc9f26b5dadf 56
vijaynvr 0:bc9f26b5dadf 57
vijaynvr 0:bc9f26b5dadf 58 /**
vijaynvr 0:bc9f26b5dadf 59 * @brief Function to return the Maximum range reported by the
vijaynvr 0:bc9f26b5dadf 60 * sensor.
vijaynvr 0:bc9f26b5dadf 61 */
vijaynvr 0:bc9f26b5dadf 62 uint32_t get_max_range();
vijaynvr 0:bc9f26b5dadf 63
vijaynvr 0:bc9f26b5dadf 64 /**
vijaynvr 0:bc9f26b5dadf 65 * @brief Function to return the Minimum range reported by the
vijaynvr 0:bc9f26b5dadf 66 * sensor.
vijaynvr 0:bc9f26b5dadf 67 */
vijaynvr 0:bc9f26b5dadf 68 uint32_t get_min_range();
vijaynvr 0:bc9f26b5dadf 69
vijaynvr 0:bc9f26b5dadf 70 /**
vijaynvr 0:bc9f26b5dadf 71 * @brief Function to perform device initialisation. \n
vijaynvr 0:bc9f26b5dadf 72 * Returns -1 to report error.
vijaynvr 0:bc9f26b5dadf 73 */
vijaynvr 0:bc9f26b5dadf 74 sensor_error initialise(uint8_t device_base_address);
vijaynvr 0:bc9f26b5dadf 75
vijaynvr 0:bc9f26b5dadf 76 /**
vijaynvr 0:bc9f26b5dadf 77 * @brief Function to configure the device for single shot
vijaynvr 0:bc9f26b5dadf 78 * ranging. \n
vijaynvr 0:bc9f26b5dadf 79 * Returns -1 to report error.
vijaynvr 0:bc9f26b5dadf 80 */
vijaynvr 0:bc9f26b5dadf 81 sensor_error start_ranging(int32_t id);
vijaynvr 0:bc9f26b5dadf 82
vijaynvr 0:bc9f26b5dadf 83 /**
vijaynvr 0:bc9f26b5dadf 84 * @brief Function to configure the device for single shot
vijaynvr 0:bc9f26b5dadf 85 * extended ranging. \n
vijaynvr 0:bc9f26b5dadf 86 * Returns -1 to report error.
vijaynvr 0:bc9f26b5dadf 87 */
vijaynvr 0:bc9f26b5dadf 88 sensor_error start_extended_ranging(int32_t id);
vijaynvr 0:bc9f26b5dadf 89
vijaynvr 0:bc9f26b5dadf 90 /**
vijaynvr 0:bc9f26b5dadf 91 * @brief Function to perform a single shot range measurement
vijaynvr 0:bc9f26b5dadf 92 * and reports the results to the given argument. \n
vijaynvr 0:bc9f26b5dadf 93 * Pre-Requisite : Requires startRanging() to be called
vijaynvr 0:bc9f26b5dadf 94 * beforehand. \n
vijaynvr 0:bc9f26b5dadf 95 * Returns -1 to report error.
vijaynvr 0:bc9f26b5dadf 96 */
vijaynvr 0:bc9f26b5dadf 97 sensor_error get_range_measurement(int32_t id, sensor_RangeData *pRangeData);
vijaynvr 0:bc9f26b5dadf 98
vijaynvr 0:bc9f26b5dadf 99 /**
vijaynvr 0:bc9f26b5dadf 100 * @brief Function to configure the device for single shot
vijaynvr 0:bc9f26b5dadf 101 * ALS measurements. \n
vijaynvr 0:bc9f26b5dadf 102 * Returns -1 to report error.
vijaynvr 0:bc9f26b5dadf 103 */
vijaynvr 0:bc9f26b5dadf 104 sensor_error start_als(int32_t id);
vijaynvr 0:bc9f26b5dadf 105
vijaynvr 0:bc9f26b5dadf 106 /**
vijaynvr 0:bc9f26b5dadf 107 * @brief Function to perform a single shot ALS measurement
vijaynvr 0:bc9f26b5dadf 108 * and reports the results to the given argument. \n
vijaynvr 0:bc9f26b5dadf 109 * Pre-Requisite : Requires startAls() to be called beforehand. \n
vijaynvr 0:bc9f26b5dadf 110 * Returns -1 to report error.
vijaynvr 0:bc9f26b5dadf 111 */
vijaynvr 0:bc9f26b5dadf 112 sensor_error get_als_measurement(int32_t id, sensor_AlsData *pAlsData);
vijaynvr 0:bc9f26b5dadf 113
vijaynvr 0:bc9f26b5dadf 114 /**
vijaynvr 0:bc9f26b5dadf 115 * @brief TBC
vijaynvr 0:bc9f26b5dadf 116 */
vijaynvr 0:bc9f26b5dadf 117 sensor_error get_minimum_delay();
vijaynvr 0:bc9f26b5dadf 118
vijaynvr 0:bc9f26b5dadf 119 #ifdef __cplusplus
vijaynvr 0:bc9f26b5dadf 120 }
vijaynvr 0:bc9f26b5dadf 121 #endif
vijaynvr 0:bc9f26b5dadf 122
vijaynvr 0:bc9f26b5dadf 123 #endif /* VL6180X_HL_API */
vijaynvr 0:bc9f26b5dadf 124
vijaynvr 0:bc9f26b5dadf 125