/**
  ******************************************************************************
  * @file          : app_tof.h
  * @author        : IMG SW Application Team
  * @brief         : This file provides code for the configuration
  *                  of the STMicroelectronics.X-CUBE-TOF1.3.2.0 instances.
  ******************************************************************************
  *
  * @attention
  *
  * Copyright (c) 2022 STMicroelectronics.
  * All rights reserved.
  *
  * This software is licensed under terms that can be found in the LICENSE file
  * in the root directory of this software component.
  * If no LICENSE file comes with this software, it is provided AS-IS.
  *
  ******************************************************************************
  */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __APP_TOF_H
#define __APP_TOF_H

#ifdef __cplusplus
 extern "C" {
#endif

/* Includes ------------------------------------------------------------------*/
#include "yunhorn_sts_prd_conf.h"
#include "yunhorn_sts_sensors.h"

#include "vl53l0x_def.h"



/* Exported defines ----------------------------------------------------------*/

/* Exported functions --------------------------------------------------------*/
void MX_TOF_Init(void);
void MX_TOF_Process(void);

#ifdef STS_USE_TOF_VL53L1X
void STS_TOF_VL53L1X_Range_Process(void);
void STS_TOF_VL53L1X_PeopleCounting_Process(void);
void sts_vl53lx_ranging(vl53lx_model, range_mode, i_distance_threshold_mm, i_inter_measurement_ms,i_macro_timing, i_roi_width, i_sigma_mm, i_signal_kcps);

#endif

#if  defined(YUNHORN_STS_R5_ENABLED) || defined(YUNHORN_STS_R0_ENABLED)
void STS_R0_SENSOR_Read(STS_R0_SensorDataTypeDef *r0_data);

void STS_TOF250_Range_Process(void);
void STS_TOF_VL53L0X_Range_Process(void);
void STS_R0_SENSOR_Read(STS_R0_SensorDataTypeDef *r0_data);
#endif



#ifdef __cplusplus
}
#endif

#endif /* __APP_TOF_H */
