Motion_model.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #ifndef _MOTION_MODEL_H
  2. #define _MOTION_MODEL_H
  3. #include "bsp.h"
  4. extern uint8_t Path_Flag;
  5. extern int16_t Speed_left,Speed_right,Speed_left_flag,Speed_right_flag;
  6. extern uint16_t Max_Speed;
  7. #define Path_Num 1000
  8. #define SBUS_ROCK_DEAD 0x64 // 中性区
  9. #define SBUS_ROCK_Y_MIDLE 0x3F9
  10. #define SBUS_ROCK_X_MIDLE 0x400
  11. #define SBUS_ROCK_Y_MAX 0x70F //Y最大1807
  12. #define SBUS_ROCK_Y_MIN 0xF0 //Y最小240
  13. #define SBUS_ROCK_X_MAX 0x70F
  14. #define SBUS_ROCK_X_MIN 0xF0
  15. #define SBUS_ROCK_UPDEAD (SBUS_ROCK_Y_MIDLE+SBUS_ROCK_DEAD)
  16. #define SBUS_ROCK_DOWNDEAD (SBUS_ROCK_Y_MIDLE-SBUS_ROCK_DEAD)
  17. #define SBUS_ROCK_RIGHTDEAD (SBUS_ROCK_X_MIDLE+SBUS_ROCK_DEAD)
  18. #define SBUS_ROCK_LEFTDEAD (SBUS_ROCK_X_MIDLE-SBUS_ROCK_DEAD)
  19. //#define Max_Speed 1000// 占空比 20000 //最大速度
  20. #define Left_Driver 0x601
  21. #define Right_Driver 0x602
  22. //爱思控
  23. #define Con_Mot_Speed 0x00// 占空比调速 0x01 //闭环调速
  24. #define Con_Mot_Stop 0x10 //正常停止
  25. //科亚
  26. #define KY_Driver 0x601
  27. typedef enum{
  28. Motion_Left=0, //左驱动器
  29. Motion_Right, //右驱动器
  30. Motion_Num, //驱动器数量
  31. }_Motion_Num;
  32. typedef struct{
  33. uint8_t ErrorFlag; //故障标志
  34. uint8_t WorkMode; //工作模式
  35. int16_t SetSpeed[Motion_Num]; //设置左轮/右轮速度
  36. int16_t SearchSpeed[Motion_Num]; //查询左轮/右轮速度
  37. uint8_t MotionFlag[Motion_Num]; //运动标志
  38. }_Motion_Data;
  39. void Sbus_Motion_Re(void);
  40. void Sbus_Can_Handle(void);
  41. void Can_Drive_Send(int16_t L_Flag,int16_t L_Speed,int16_t R_Flag,int16_t R_Speed);
  42. void Can_Drive_Stop(void);
  43. //extern uint32_t dsa[4];
  44. void KY_CAN_Send(int16_t L_Flag,int16_t L_Speed,int16_t R_Flag,int16_t R_Speed);
  45. void KY_Can_Stop(void);
  46. //extern uint8_t Tim_Flag;
  47. #endif