#ifndef __XDAC_H__ #define __XDAC_H__ #include "stm32l0xx_hal.h" #include "dac.h" typedef enum { XDAC_CHANNEL_1 = 0, XDAC_CHANNEL_2, XDAC_CHANNEL_MAX } xdac_e; extern void dac_set_value(uint8_t xdac_channel, uint32_t val); extern uint32_t dac_get_value(uint8_t xdac_channel); extern void pid_controller_init(uint8_t xdac_channel, float32 kp, float32 ki, float32 kd); extern float32 pid_position_control(uint8_t xdac_channel, float32 setpoint, float32 process_variable); #endif // __XDAC_H__