/** * @file imp_comp_sg90.h * @author Alvin Young (impressionyang@outlook.com) * @brief * @version 0.1 * @date 2025-04-14 * * _ _ * (_)_ _ ___ _______ ___ ___ (_)__ ___ __ _____ ____ ___ _ * / / ' \/ _ \/ __/ -_|_-<(_- * Date Version Author Description * 2025-04-14 v1.0 Alvin Young 首次创建 * * */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __IMP_COMP_SG90_H__ #define __IMP_COMP_SG90_H__ #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include #include "iot_servo.h" /* define --------------------------------------------------------------------*/ /* typedef -------------------------------------------------------------------*/ typedef struct __imp_comp_sg90_t__ { uint8_t is_init; uint8_t speed_mode; uint8_t servo_pin; uint8_t servo_pwm_channel; servo_config_t servo_config; } imp_comp_sg90_t; /* variables -----------------------------------------------------------------*/ /* Private function(only *.c) -----------------------------------------------*/ /* Exported functions --------------------------------------------------------*/ uint8_t imp_comp_sg90_init(imp_comp_sg90_t* handle, uint8_t gpio, uint8_t pwm_ch); uint8_t imp_comp_sg90_set_angle(imp_comp_sg90_t* handle, float angle); uint8_t imp_comp_sg90_get_angle(imp_comp_sg90_t* handle, float* angle); uint8_t imp_comp_sg90_deinit(imp_comp_sg90_t* handle); #ifdef __cplusplus } #endif #endif //__IMP_COMP_SG90_H__ /* * EOF */