公司代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
2.0 KiB

/*
* msp_DC_CAN.h
*
* Created on: 2024621
* Author: SQ-X
*/
#ifndef INC_MSP_MSP_DC_CAN_SWING_CONTROLLER_H_
#define INC_MSP_MSP_DC_CAN_SWING_CONTROLLER_H_
#include "BSP/bsp_include.h"
typedef struct _DHCANopenData0x2E4
{
uint8_t EmergencyStop :1; //first byte
uint8_t Forwards :1;
uint8_t BackWards :1;
uint8_t TurnLeft :1;
uint8_t TurnRight :1;
uint8_t Speed1 :1;
uint8_t Speed2 :1;
uint8_t Speed3 :1; //8 bit
uint8_t Speed4 :1;
uint8_t Speed5 :1;
uint8_t Speed6 :1;
uint8_t Speed7 :1;
uint8_t Speed8 :1;
uint8_t Speed9 :1;
uint8_t Speed10 :1;
uint8_t Mode0 :1; //8 bit
uint8_t Mode1 :1;
uint8_t Mode2 :1;
uint8_t Mode3 :1;
uint8_t Mode4 :1;
uint8_t Mode5 :1;
uint8_t Mode6 :1;
uint8_t Mode7 :1;
uint8_t Mode8 :1; //8 bit
uint8_t Mode9 :1; // third byte
uint8_t Mode10 :1;
uint8_t Incresss :1;
uint8_t Decresss :1;
uint8_t TaskStart :1; //作业开始
uint8_t LaneChnge :1;
uint8_t UpWards :1;
uint8_t DownWards :1; //8 bit
uint8_t SwingLeft :1;
uint8_t SwingRight :1;
uint8_t None4 :6; //8 bit
uint8_t None5 :8;
uint8_t None6 :8;
uint8_t None7 :6;
uint8_t HeartBeat :1;
uint8_t WireState :1; //8 bit
} DHCANopenData0x2E4;
//region 对外数据接口
extern DH_CAN_Remote *DH_CAN; //对外数据接口
extern int32_t *Send_Left_Compensation;
extern int32_t *Send_Right_Compensation;
extern int32_t *Send_BackwardDistance;
extern int32_t *Send_LaneChangeDistance;
extern int32_t *Send_Swing_Speed;
extern int32_t *Send_Swing_Angle;
extern int32_t *Send_Move_Speed;
extern int32_t *Send_Robot_Angle;
extern int32_t *Robot_Move_Speed;
// Region 对外函数接口
void DecodeCAN(uint32_t canID, uint8_t *buffer, uint32_t length);
void SendCANTest();
void SendRobtDataToController_0x364(); //Send 换道距离, 0x364
void SendRobtDataToController_0x264();
int32_t GetMode(DHCANopenData0x2E4 dHCANopenData0x2E4);
int32_t GetSpeed(DHCANopenData0x2E4 dHCANopenData0x2E4);
#endif /* INC_MSP_MSP_DC_CAN_SWING_CONTROLLER_H_ */