Files
BC5D-firmware/app/by_motion.h

36 lines
977 B
C
Raw Permalink Normal View History

2024-06-10 18:04:53 +08:00
#ifndef _BY_MOTION_H__
#define _BY_MOTION_H__
#include "at32f425.h"
typedef struct by_motor_param {
float Kp;
float Ki;
float Kd;
float real_speed;
float target_speed;
float out_pwm;
} by_motor_param;
#define BY_MOTION_DEFAULT_KP_M1 (5.0f)
#define BY_MOTION_DEFAULT_KI_M1 (300.0f)
#define BY_MOTION_DEFAULT_KD_M1 (0.0f)
#define BY_MOTION_DEFAULT_KP_M2 (5.0f)
#define BY_MOTION_DEFAULT_KI_M2 (300.0f)
#define BY_MOTION_DEFAULT_KD_M2 (0.0f)
extern void by_motion_init(void);
extern void by_motion_run(void);
extern void by_motion_set_pwm_m1(int32_t pwm_duty);
extern void by_motion_set_pwm_m2(int32_t pwm_duty);
extern int16_t by_motion_get_speed_m1(void);
extern int16_t by_motion_get_speed_m2(void);
extern void by_motion_set_speed_m1(int16_t speed);
extern void by_motion_set_speed_m2(int16_t speed);
extern void by_motion_can_handle(uint16_t stdd_id, const uint8_t *data, uint8_t len);
extern by_motor_param param_m1;
extern by_motor_param param_m2;
#endif