Contains Ayoub's Ranging and Custom interfaces for the VL53L3CX

Committer:
charlesmn
Date:
Wed Jul 21 14:19:31 2021 +0000
Revision:
0:c1910e04fc6c
Change from directory to lib

Who changed what in which revision?

UserRevisionLine numberNew contents of line
charlesmn 0:c1910e04fc6c 1 /**
charlesmn 0:c1910e04fc6c 2 ******************************************************************************
charlesmn 0:c1910e04fc6c 3 * @file ranging_sensor.h
charlesmn 0:c1910e04fc6c 4 * @author IMG SW Application Team
charlesmn 0:c1910e04fc6c 5 * @brief This header file contains the common defines and functions prototypes
charlesmn 0:c1910e04fc6c 6 * for the ranging sensor driver.
charlesmn 0:c1910e04fc6c 7 ******************************************************************************
charlesmn 0:c1910e04fc6c 8 * @attention
charlesmn 0:c1910e04fc6c 9 *
charlesmn 0:c1910e04fc6c 10 * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
charlesmn 0:c1910e04fc6c 11 * All rights reserved.</center></h2>
charlesmn 0:c1910e04fc6c 12 *
charlesmn 0:c1910e04fc6c 13 * This software component is licensed by ST under BSD 3-Clause license,
charlesmn 0:c1910e04fc6c 14 * the "License"; You may not use this file except in compliance with the
charlesmn 0:c1910e04fc6c 15 * License. You may obtain a copy of the License at:
charlesmn 0:c1910e04fc6c 16 * opensource.org/licenses/BSD-3-Clause
charlesmn 0:c1910e04fc6c 17 *
charlesmn 0:c1910e04fc6c 18 ******************************************************************************
charlesmn 0:c1910e04fc6c 19 */
charlesmn 0:c1910e04fc6c 20
charlesmn 0:c1910e04fc6c 21 /* Define to prevent recursive inclusion -------------------------------------*/
charlesmn 0:c1910e04fc6c 22 #ifndef RANGING_SENSOR_H
charlesmn 0:c1910e04fc6c 23 #define RANGING_SENSOR_H
charlesmn 0:c1910e04fc6c 24
charlesmn 0:c1910e04fc6c 25 #ifdef __cplusplus
charlesmn 0:c1910e04fc6c 26 extern "C" {
charlesmn 0:c1910e04fc6c 27 #endif
charlesmn 0:c1910e04fc6c 28
charlesmn 0:c1910e04fc6c 29 /* Includes ------------------------------------------------------------------*/
charlesmn 0:c1910e04fc6c 30 #include <stdint.h>
charlesmn 0:c1910e04fc6c 31
charlesmn 0:c1910e04fc6c 32 /** @addtogroup BSP
charlesmn 0:c1910e04fc6c 33 * @{
charlesmn 0:c1910e04fc6c 34 */
charlesmn 0:c1910e04fc6c 35
charlesmn 0:c1910e04fc6c 36 /** @addtogroup Components
charlesmn 0:c1910e04fc6c 37 * @{
charlesmn 0:c1910e04fc6c 38 */
charlesmn 0:c1910e04fc6c 39
charlesmn 0:c1910e04fc6c 40 /** @addtogroup RANGING_SENSOR
charlesmn 0:c1910e04fc6c 41 * @{
charlesmn 0:c1910e04fc6c 42 */
charlesmn 0:c1910e04fc6c 43
charlesmn 0:c1910e04fc6c 44 /** @defgroup RANGING_SENSOR_Driver_structure Ranging sensor Driver structure
charlesmn 0:c1910e04fc6c 45 * @{
charlesmn 0:c1910e04fc6c 46 */
charlesmn 0:c1910e04fc6c 47 typedef struct
charlesmn 0:c1910e04fc6c 48 {
charlesmn 0:c1910e04fc6c 49 int32_t (*Init)(void *);
charlesmn 0:c1910e04fc6c 50 int32_t (*DeInit)(void *);
charlesmn 0:c1910e04fc6c 51 int32_t (*ReadID)(void *, uint32_t *);
charlesmn 0:c1910e04fc6c 52 int32_t (*GetCapabilities)(void *, void *);
charlesmn 0:c1910e04fc6c 53 int32_t (*ConfigProfile)(void *, void *);
charlesmn 0:c1910e04fc6c 54 int32_t (*ConfigROI)(void *, void *);
charlesmn 0:c1910e04fc6c 55 int32_t (*ConfigIT)(void *, void *);
charlesmn 0:c1910e04fc6c 56 int32_t (*GetDistance)(void *, void *);
charlesmn 0:c1910e04fc6c 57 int32_t (*Start)(void *, uint32_t);
charlesmn 0:c1910e04fc6c 58 int32_t (*Stop)(void *);
charlesmn 0:c1910e04fc6c 59 int32_t (*SetAddress)(void *, uint32_t);
charlesmn 0:c1910e04fc6c 60 int32_t (*GetAddress)(void *, uint32_t *);
charlesmn 0:c1910e04fc6c 61 int32_t (*SetPowerMode)(void *, uint32_t);
charlesmn 0:c1910e04fc6c 62 int32_t (*GetPowerMode)(void *, uint32_t *);
charlesmn 0:c1910e04fc6c 63 } RANGING_SENSOR_Drv_t;
charlesmn 0:c1910e04fc6c 64 /**
charlesmn 0:c1910e04fc6c 65 * @}
charlesmn 0:c1910e04fc6c 66 */
charlesmn 0:c1910e04fc6c 67
charlesmn 0:c1910e04fc6c 68 /**
charlesmn 0:c1910e04fc6c 69 * @}
charlesmn 0:c1910e04fc6c 70 */
charlesmn 0:c1910e04fc6c 71
charlesmn 0:c1910e04fc6c 72 /**
charlesmn 0:c1910e04fc6c 73 * @}
charlesmn 0:c1910e04fc6c 74 */
charlesmn 0:c1910e04fc6c 75
charlesmn 0:c1910e04fc6c 76 /**
charlesmn 0:c1910e04fc6c 77 * @}
charlesmn 0:c1910e04fc6c 78 */
charlesmn 0:c1910e04fc6c 79
charlesmn 0:c1910e04fc6c 80 #ifdef __cplusplus
charlesmn 0:c1910e04fc6c 81 }
charlesmn 0:c1910e04fc6c 82 #endif
charlesmn 0:c1910e04fc6c 83
charlesmn 0:c1910e04fc6c 84 #endif /* RANGING_SENSOR_H */
charlesmn 0:c1910e04fc6c 85
charlesmn 0:c1910e04fc6c 86 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
charlesmn 0:c1910e04fc6c 87