vlx lib
vl6180x_high_level_api.h@0:bc9f26b5dadf, 2015-02-08 (annotated)
- Committer:
- vijaynvr
- Date:
- Sun Feb 08 14:26:51 2015 +0000
- Revision:
- 0:bc9f26b5dadf
working
Who changed what in which revision?
User | Revision | Line number | New 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 |