#ifndef TIMER_DRIVER_H__ #define TIMER_DRIVER_H__ #include "common_types.h" #include typedef enum { TIMER_CHANNEL_1 = 0, TIMER_CHANNEL_2 = 1, TIMER_CHANNEL_3 = 2, TIMER_CHANNEL_4 = 3, } timer_channel_t; ret_code_t timer_pwm_init(uint32_t freq_hz); ret_code_t timer_pwm_set_duty(timer_channel_t ch, uint16_t duty); ret_code_t timer_pwm_set_compare(timer_channel_t ch, uint16_t compare); ret_code_t timer_pwm_start(void); ret_code_t timer_pwm_stop(void); ret_code_t timer_pwm_deinit(void); ret_code_t timer_stepper_pwm_init(uint32_t freq_hz, uint16_t resolution); ret_code_t timer_encoder_init(void); uint16_t timer_encoder_get_count(void); void timer_encoder_clear_count(void); #endif