#pragma once #include #ifdef __cplusplus extern "C" { #endif /* Includes ----------------------------------------------------------------- */ #include "device/motor.h" #include "device/motor_lz.h" #include "device/motor_lk.h" #include "device/device.h" /* USER INCLUDE BEGIN */ /* USER INCLUDE END */ /* USER DEFINE BEGIN */ /* USER DEFINE END */ /* Exported constants ------------------------------------------------------- */ /* Exported macro ----------------------------------------------------------- */ /* Exported types ----------------------------------------------------------- */ typedef struct { MOTOR_LZ_Param_t joint_param[4]; // 4个电机参数 MOTOR_LK_Param_t wheel_param[2]; // 2个轮子电机参数 } Chassis_Param_t; typedef struct { MOTOR_Feedback_t joint[4]; // 4个电机反馈数据 MOTOR_Feedback_t wheel[2]; // 2个轮子电机反馈数据 } Chassis_Feedback_t; typedef struct { float joint[4]; // 4个电机反馈数据 float wheel[2]; // 2个轮子电机反馈数据 } Chassis_Output_t; typedef struct { Chassis_Param_t param; // 底盘参数配置 Chassis_Feedback_t data; // 底盘反馈数据 Chassis_Output_t output; // 底盘输出数据 } Chassis_t; /* USER STRUCT BEGIN */ /* USER STRUCT END */ /* Exported functions prototypes -------------------------------------------- */ int8_t Chassis_Init(Chassis_t *chassis, Chassis_Param_t *param); int8_t Chassis_Update(Chassis_t *chassis); int8_t Chassis_Enable(Chassis_t *chassis); int8_t Chassis_Relax(Chassis_t *chassis); int8_t Chassis_Ctrl(Chassis_t *chassis); /* USER FUNCTION BEGIN */ /* USER FUNCTION END */ #ifdef __cplusplus } #endif