Workshop example

Dependencies:   X_NUCLEO_COMMON ST_INTERFACES

Committer:
JimCarver
Date:
Tue May 21 21:16:24 2019 +0000
Revision:
35:42b3fba640b1
Parent:
18:a15bfe7aaebd
Simple version for workshop

Who changed what in which revision?

UserRevisionLine numberNew contents of line
screamer 18:a15bfe7aaebd 1 /*******************************************************************************
screamer 18:a15bfe7aaebd 2 Copyright © 2015, STMicroelectronics International N.V.
screamer 18:a15bfe7aaebd 3 All rights reserved.
screamer 18:a15bfe7aaebd 4
screamer 18:a15bfe7aaebd 5 Redistribution and use in source and binary forms, with or without
screamer 18:a15bfe7aaebd 6 modification, are permitted provided that the following conditions are met:
screamer 18:a15bfe7aaebd 7 * Redistributions of source code must retain the above copyright
screamer 18:a15bfe7aaebd 8 notice, this list of conditions and the following disclaimer.
screamer 18:a15bfe7aaebd 9 * Redistributions in binary form must reproduce the above copyright
screamer 18:a15bfe7aaebd 10 notice, this list of conditions and the following disclaimer in the
screamer 18:a15bfe7aaebd 11 documentation and/or other materials provided with the distribution.
screamer 18:a15bfe7aaebd 12 * Neither the name of STMicroelectronics nor the
screamer 18:a15bfe7aaebd 13 names of its contributors may be used to endorse or promote products
screamer 18:a15bfe7aaebd 14 derived from this software without specific prior written permission.
screamer 18:a15bfe7aaebd 15
screamer 18:a15bfe7aaebd 16 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
screamer 18:a15bfe7aaebd 17 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
screamer 18:a15bfe7aaebd 18 WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
screamer 18:a15bfe7aaebd 19 NON-INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS ARE DISCLAIMED.
screamer 18:a15bfe7aaebd 20 IN NO EVENT SHALL STMICROELECTRONICS INTERNATIONAL N.V. BE LIABLE FOR ANY
screamer 18:a15bfe7aaebd 21 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
screamer 18:a15bfe7aaebd 22 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
screamer 18:a15bfe7aaebd 23 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
screamer 18:a15bfe7aaebd 24 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
screamer 18:a15bfe7aaebd 25 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
screamer 18:a15bfe7aaebd 26 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
screamer 18:a15bfe7aaebd 27 ********************************************************************************/
screamer 18:a15bfe7aaebd 28 /**
screamer 18:a15bfe7aaebd 29 * @file vl53l0_types.h
screamer 18:a15bfe7aaebd 30 * @brief VL53L0 types definition
screamer 18:a15bfe7aaebd 31 */
screamer 18:a15bfe7aaebd 32
screamer 18:a15bfe7aaebd 33 #ifndef VL53L0X_TYPES_H_
screamer 18:a15bfe7aaebd 34 #define VL53L0X_TYPES_H_
screamer 18:a15bfe7aaebd 35
screamer 18:a15bfe7aaebd 36 /** @defgroup porting_type Basic type definition
screamer 18:a15bfe7aaebd 37 * @ingroup VL53L0X_platform_group
screamer 18:a15bfe7aaebd 38 *
screamer 18:a15bfe7aaebd 39 * @brief file vl53l0_types.h files hold basic type definition that may requires porting
screamer 18:a15bfe7aaebd 40 *
screamer 18:a15bfe7aaebd 41 * contains type that must be defined for the platform\n
screamer 18:a15bfe7aaebd 42 * when target platform and compiler provide stdint.h and stddef.h it is enough to include it.\n
screamer 18:a15bfe7aaebd 43 * If stdint.h is not available review and adapt all signed and unsigned 8/16/32 bits basic types. \n
screamer 18:a15bfe7aaebd 44 * If stddef.h is not available review and adapt NULL definition .
screamer 18:a15bfe7aaebd 45 */
screamer 18:a15bfe7aaebd 46 #include <stdint.h>
screamer 18:a15bfe7aaebd 47 #include <stddef.h>
screamer 18:a15bfe7aaebd 48
screamer 18:a15bfe7aaebd 49 #ifndef NULL
screamer 18:a15bfe7aaebd 50 #error "Error NULL definition should be done. Please add required include "
screamer 18:a15bfe7aaebd 51 #endif
screamer 18:a15bfe7aaebd 52
screamer 18:a15bfe7aaebd 53
screamer 18:a15bfe7aaebd 54 #if ! defined(STDINT_H) && !defined(_GCC_STDINT_H) &&!defined(__STDINT_DECLS) && !defined(_GCC_WRAP_STDINT_H)
screamer 18:a15bfe7aaebd 55
screamer 18:a15bfe7aaebd 56 #pragma message("Please review type definition of STDINT define for your platform and add to list above ")
screamer 18:a15bfe7aaebd 57
screamer 18:a15bfe7aaebd 58 /*
screamer 18:a15bfe7aaebd 59 * target platform do not provide stdint or use a different #define than above
screamer 18:a15bfe7aaebd 60 * to avoid seeing the message below addapt the #define list above or implement
screamer 18:a15bfe7aaebd 61 * all type and delete these pragma
screamer 18:a15bfe7aaebd 62 */
screamer 18:a15bfe7aaebd 63
screamer 18:a15bfe7aaebd 64 /** \ingroup VL53L0X_portingType_group
screamer 18:a15bfe7aaebd 65 * @{
screamer 18:a15bfe7aaebd 66 */
screamer 18:a15bfe7aaebd 67
screamer 18:a15bfe7aaebd 68
screamer 18:a15bfe7aaebd 69 typedef unsigned long long uint64_t;
screamer 18:a15bfe7aaebd 70
screamer 18:a15bfe7aaebd 71
screamer 18:a15bfe7aaebd 72 /** @brief Typedef defining 32 bit unsigned int type.\n
screamer 18:a15bfe7aaebd 73 * The developer should modify this to suit the platform being deployed.
screamer 18:a15bfe7aaebd 74 */
screamer 18:a15bfe7aaebd 75 typedef unsigned int uint32_t;
screamer 18:a15bfe7aaebd 76
screamer 18:a15bfe7aaebd 77 /** @brief Typedef defining 32 bit int type.\n
screamer 18:a15bfe7aaebd 78 * The developer should modify this to suit the platform being deployed.
screamer 18:a15bfe7aaebd 79 */
screamer 18:a15bfe7aaebd 80 typedef int int32_t;
screamer 18:a15bfe7aaebd 81
screamer 18:a15bfe7aaebd 82 /** @brief Typedef defining 16 bit unsigned short type.\n
screamer 18:a15bfe7aaebd 83 * The developer should modify this to suit the platform being deployed.
screamer 18:a15bfe7aaebd 84 */
screamer 18:a15bfe7aaebd 85 typedef unsigned short uint16_t;
screamer 18:a15bfe7aaebd 86
screamer 18:a15bfe7aaebd 87 /** @brief Typedef defining 16 bit short type.\n
screamer 18:a15bfe7aaebd 88 * The developer should modify this to suit the platform being deployed.
screamer 18:a15bfe7aaebd 89 */
screamer 18:a15bfe7aaebd 90 typedef short int16_t;
screamer 18:a15bfe7aaebd 91
screamer 18:a15bfe7aaebd 92 /** @brief Typedef defining 8 bit unsigned char type.\n
screamer 18:a15bfe7aaebd 93 * The developer should modify this to suit the platform being deployed.
screamer 18:a15bfe7aaebd 94 */
screamer 18:a15bfe7aaebd 95 typedef unsigned char uint8_t;
screamer 18:a15bfe7aaebd 96
screamer 18:a15bfe7aaebd 97 /** @brief Typedef defining 8 bit char type.\n
screamer 18:a15bfe7aaebd 98 * The developer should modify this to suit the platform being deployed.
screamer 18:a15bfe7aaebd 99 */
screamer 18:a15bfe7aaebd 100 typedef signed char int8_t;
screamer 18:a15bfe7aaebd 101
screamer 18:a15bfe7aaebd 102 /** @} */
screamer 18:a15bfe7aaebd 103 #endif /* _STDINT_H */
screamer 18:a15bfe7aaebd 104
screamer 18:a15bfe7aaebd 105
screamer 18:a15bfe7aaebd 106 /** use where fractional values are expected
screamer 18:a15bfe7aaebd 107 *
screamer 18:a15bfe7aaebd 108 * Given a floating point value f it's .16 bit point is (int)(f*(1<<16))*/
screamer 18:a15bfe7aaebd 109 typedef uint32_t FixPoint1616_t;
screamer 18:a15bfe7aaebd 110
screamer 18:a15bfe7aaebd 111 #endif /* VL53L0X_TYPES_H_ */
screamer 18:a15bfe7aaebd 112