#ifndef HT04_H #define HT04_H #include "struct_typedef.h" #include "bsp_can.h" #include "controller.h" #define HT_MOTOR_CNT 4 #define P_MIN -95.5f // Radians #define P_MAX 95.5f #define V_MIN -45.0f // Rad/s #define V_MAX 45.0f #define T_MIN -18.0f #define T_MAX 18.0f typedef struct // HT04 { float last_ecd; float ecd; float speed_rpm; float given_current; PID_t pid; can_instance *motor_can_instace; } joint_instance; typedef enum { CMD_MOTOR_MODE = 0xfc, CMD_RESET_MODE = 0xfd, CMD_ZERO_POSITION = 0xfe } joint_mode; joint_instance *HTMotorInit(can_instance_config_s config); void JointControl(joint_instance *_instance, float current); void SetJointMode(joint_mode cmd, joint_instance *_instance); #endif // !HT04_H#define HT04_H