INSAT Mini Project

Dependencies:   ST_INTERFACES X_NUCLEO_COMMON

Fork of X_NUCLEO_6180XA1 by ST

Committer:
licio.mapelli@st.com
Date:
Tue Nov 17 17:15:47 2015 +0100
Revision:
33:1573db91352c
Parent:
24:025afc3fe30f
Child:
35:407b0b127eb8
Added Switch class, added self contained Display class, added STMPE1600 component
and modified X_NUCLEO_6180XA1 class accordingly

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gallonm 1:1de1ea2994d9 1 /*******************************************************************************
gallonm 1:1de1ea2994d9 2 Copyright © 2014, STMicroelectronics International N.V.
gallonm 1:1de1ea2994d9 3 All rights reserved.
gallonm 1:1de1ea2994d9 4
gallonm 1:1de1ea2994d9 5 Redistribution and use in source and binary forms, with or without
gallonm 1:1de1ea2994d9 6 modification, are permitted provided that the following conditions are met:
gallonm 1:1de1ea2994d9 7 * Redistributions of source code must retain the above copyright
gallonm 1:1de1ea2994d9 8 notice, this list of conditions and the following disclaimer.
gallonm 1:1de1ea2994d9 9 * Redistributions in binary form must reproduce the above copyright
gallonm 1:1de1ea2994d9 10 notice, this list of conditions and the following disclaimer in the
gallonm 1:1de1ea2994d9 11 documentation and/or other materials provided with the distribution.
gallonm 1:1de1ea2994d9 12 * Neither the name of STMicroelectronics nor the
gallonm 1:1de1ea2994d9 13 names of its contributors may be used to endorse or promote products
gallonm 1:1de1ea2994d9 14 derived from this software without specific prior written permission.
gallonm 1:1de1ea2994d9 15
gallonm 1:1de1ea2994d9 16 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
gallonm 1:1de1ea2994d9 17 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
gallonm 1:1de1ea2994d9 18 WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
gallonm 1:1de1ea2994d9 19 NON-INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS ARE DISCLAIMED.
gallonm 1:1de1ea2994d9 20 IN NO EVENT SHALL STMICROELECTRONICS INTERNATIONAL N.V. BE LIABLE FOR ANY
gallonm 1:1de1ea2994d9 21 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
gallonm 1:1de1ea2994d9 22 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
gallonm 1:1de1ea2994d9 23 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
gallonm 1:1de1ea2994d9 24 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
gallonm 1:1de1ea2994d9 25 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
gallonm 1:1de1ea2994d9 26 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
gallonm 1:1de1ea2994d9 27 ********************************************************************************/
gallonm 1:1de1ea2994d9 28 /*
gallonm 1:1de1ea2994d9 29 * $Date: 2015-01-08 14:35:34 +0100 (Thu, 08 Jan 2015) $
gallonm 1:1de1ea2994d9 30 * $Revision: 2042 $
gallonm 1:1de1ea2994d9 31 */
gallonm 1:1de1ea2994d9 32
gallonm 1:1de1ea2994d9 33 /**
gallonm 1:1de1ea2994d9 34 * @file VL6180x_cfg.h
gallonm 1:1de1ea2994d9 35 *
gallonm 1:1de1ea2994d9 36 * Proximity and ALS configuration
gallonm 1:1de1ea2994d9 37 */
gallonm 1:1de1ea2994d9 38
gallonm 1:1de1ea2994d9 39 #ifndef VL6180x_CFG_H_
gallonm 1:1de1ea2994d9 40 #define VL6180x_CFG_H_
gallonm 1:1de1ea2994d9 41
gallonm 1:1de1ea2994d9 42 /** @defgroup api_config Configuration
gallonm 1:1de1ea2994d9 43 * @brief API static configuration
gallonm 1:1de1ea2994d9 44 */
gallonm 1:1de1ea2994d9 45
gallonm 1:1de1ea2994d9 46
gallonm 1:1de1ea2994d9 47
gallonm 1:1de1ea2994d9 48 /** @ingroup api_config
gallonm 1:1de1ea2994d9 49 * @{*/
gallonm 1:1de1ea2994d9 50
gallonm 1:1de1ea2994d9 51
gallonm 1:1de1ea2994d9 52 /**
gallonm 1:1de1ea2994d9 53 * @def VL6180x_UPSCALE_SUPPORT
gallonm 1:1de1ea2994d9 54 * @brief Configure up-scale capabilities and default up-scale factor for ranging operations
gallonm 1:1de1ea2994d9 55 *
gallonm 1:1de1ea2994d9 56 * @li 1 : Fixed scaling by 1 (no up-scaling support)
gallonm 1:1de1ea2994d9 57 * @li 2 : Fixed scaling by 2
gallonm 1:1de1ea2994d9 58 * @li 3 : Fixed scaling by 3
gallonm 1:1de1ea2994d9 59 * @li -1 -2 -3 : Run time programmable through @a VL6180x_UpscaleSetScaling(). Default scaling factore is -VL6180x_UPSCALE_SUPPORT \n
gallonm 1:1de1ea2994d9 60 */
gallonm 24:025afc3fe30f 61 //#define VL6180x_UPSCALE_SUPPORT -1
gallonm 1:1de1ea2994d9 62
gallonm 1:1de1ea2994d9 63 /**
gallonm 1:1de1ea2994d9 64 * @def VL6180x_ALS_SUPPORT
gallonm 1:1de1ea2994d9 65 * @brief Enable ALS support
gallonm 1:1de1ea2994d9 66 *
gallonm 1:1de1ea2994d9 67 * Set to 0 if ALS is not used in application. This can help reducing code size if it is a concern.
gallonm 1:1de1ea2994d9 68 */
gallonm 1:1de1ea2994d9 69 #define VL6180x_ALS_SUPPORT 1
gallonm 1:1de1ea2994d9 70
gallonm 1:1de1ea2994d9 71 /**
gallonm 1:1de1ea2994d9 72 * @def VL6180x_HAVE_DMAX_RANGING
gallonm 1:1de1ea2994d9 73 * @brief Enable DMax calculation for ranging applications.
gallonm 1:1de1ea2994d9 74 *
gallonm 1:1de1ea2994d9 75 * When set to 1, __Dmax__ is returned by API typically when @a VL6180x_RangePollMeasurement() high level
gallonm 1:1de1ea2994d9 76 * function is called (this is returned in @a VL6180x_RangeData_t structure).
gallonm 1:1de1ea2994d9 77 * __Dmax__ is an estimation of the maximum distance (in mm) the product can report a valid distance of a 17% target for
gallonm 1:1de1ea2994d9 78 * the current ambient light conditions (__Dmax__ decreases when ambient light increases). __Dmax__ should be used only
gallonm 1:1de1ea2994d9 79 * when the product is not able to return a valid distance (no object or object is too far from the ranging sensor).
gallonm 1:1de1ea2994d9 80 * Typically, this is done by checking the __errorStatus__ field of the @a VL6180x_RangeData_t structure returned by
gallonm 1:1de1ea2994d9 81 * the @a VL6180x_RangePollMeasurement() function.
gallonm 1:1de1ea2994d9 82 * You may refer to ::RangeError_u to get full list of supported error codes.
gallonm 1:1de1ea2994d9 83 * @warning Dmax is estimated for a 17% grey target. If the real target has a reflectance lower than 17%, report Dmax could be over-estimated
gallonm 1:1de1ea2994d9 84 */
gallonm 1:1de1ea2994d9 85 #define VL6180x_HAVE_DMAX_RANGING 1
gallonm 1:1de1ea2994d9 86
gallonm 1:1de1ea2994d9 87 /**
gallonm 1:1de1ea2994d9 88 * @def VL6180x_WRAP_AROUND_FILTER_SUPPORT
gallonm 1:1de1ea2994d9 89 * @brief Enable wrap around filter (WAF) feature
gallonm 1:1de1ea2994d9 90 *
gallonm 1:1de1ea2994d9 91 * In specific conditions, when targeting a mirror or a very reflective metal, a __wrap around__ effect can occur internally to the
gallonm 1:1de1ea2994d9 92 * ranging product which results in returning a wrong distance (under-estimated). Goal of the WAF is to detect this wrap arround effect
gallonm 1:1de1ea2994d9 93 * and to filter it by returning a non-valid distance : __errorStatus__ set to 16 (see ::RangeError_u)
gallonm 1:1de1ea2994d9 94 * @warning Wrap-around filter can not be used when device is running in continuous mode
gallonm 1:1de1ea2994d9 95 *
gallonm 1:1de1ea2994d9 96 * @li 0 : Filter is not supported, no filtering code is included in API
gallonm 1:1de1ea2994d9 97 * @li 1 : Filter is supported and active by default
gallonm 1:1de1ea2994d9 98 * @li -1 : Filter is supported but is not active by default @a VL6180x_FilterSetState() can turn it on and off at any time
gallonm 1:1de1ea2994d9 99 */
gallonm 1:1de1ea2994d9 100 #define VL6180x_WRAP_AROUND_FILTER_SUPPORT 1
gallonm 1:1de1ea2994d9 101
gallonm 1:1de1ea2994d9 102 /**
gallonm 1:1de1ea2994d9 103 * @def VL6180x_EXTENDED_RANGE
gallonm 1:1de1ea2994d9 104 * @brief Enable extended ranging support
gallonm 1:1de1ea2994d9 105 *
gallonm 1:1de1ea2994d9 106 * Device that do not formally support extended ranging should only be used with a scaling factor of 1.
gallonm 1:1de1ea2994d9 107 * Correct operation with scaling factor other than 1 (>200mm ) is not granted by ST.
gallonm 1:1de1ea2994d9 108 */
gallonm 24:025afc3fe30f 109 //#define VL6180x_EXTENDED_RANGE 0
gallonm 24:025afc3fe30f 110
licio.mapelli@st.com 33:1573db91352c 111 //#define EXTENDED_RANGE_50CM 0
licio.mapelli@st.com 33:1573db91352c 112 #define EXTENDED_RANGE_50CM 1
gallonm 1:1de1ea2994d9 113
gallonm 24:025afc3fe30f 114 #if EXTENDED_RANGE_50CM
gallonm 24:025afc3fe30f 115 #define VL6180x_UPSCALE_SUPPORT -3
gallonm 24:025afc3fe30f 116 #define VL6180x_EXTENDED_RANGE 1
gallonm 24:025afc3fe30f 117 #else
gallonm 24:025afc3fe30f 118 #define VL6180x_UPSCALE_SUPPORT -1
gallonm 24:025afc3fe30f 119 #define VL6180x_EXTENDED_RANGE 0
gallonm 24:025afc3fe30f 120 #endif
gallonm 1:1de1ea2994d9 121
gallonm 1:1de1ea2994d9 122 #if (VL6180x_EXTENDED_RANGE) && (VL6180x_ALS_SUPPORT)
gallonm 1:1de1ea2994d9 123 #warning "Als support should be OFF for extended range"
gallonm 1:1de1ea2994d9 124 #endif
gallonm 1:1de1ea2994d9 125
gallonm 1:1de1ea2994d9 126 #endif
gallonm 1:1de1ea2994d9 127 /** @} */ // end of api_config
gallonm 1:1de1ea2994d9 128
gallonm 1:1de1ea2994d9 129 /* VL6180x_CFG_H_ */