1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #ifndef _JM_CAN_H_
- #define _JM_CAN_H_
- #include <linux/can.h>
- #include <linux/can/raw.h>
- #include "pxTools.h"
- #include "JMros.h"
- #include "JMPlc.h"
- #define CANPACKCOUNT 4
- #define CANRECVPACKCOUNT 22
- #define CANBUFSIZE CANPACKCOUNT*CAN_MAX_DLEN
- #define MANUALCONTROL 0
- #define REMOTECONTROL 1
- #define AUTOCONTROL 2
- #define CLEARCANSENDBUF 3
- #define DATALOGPATH "/var/log/canTransmit/"
- typedef struct STATE
- {
- u8 system : 2;
- u8 mqtt : 1;
- u8 can : 1;
- u8 ros : 1;
- u8 udp : 1;
- u8 canTimeout : 1;
- u8 plc : 1;
- u8 rtkmqtt:1;
- u8 rtkconn:1;
- u8 reserve:6;
- u8 reserve1[2];
- }STATE_S;
- #pragma pack(push, 1)
- typedef struct POSTDATABUF
- {
- STATE_S status;
- u64 timeSpent;
- u64 wheelSet;
- u64 wheelGet;
- u8 data[CANRECVPACKCOUNT*8];
- u8 rosdata[sizeof(ROSRECVDATA_S)-sizeof(u16)-sizeof(u8)];
- u8 plcdata[sizeof(PLCRECVDATA_S)];
- // s32 LeftLeg;
- // s32 RightLeg;
- }POSTDATABUF_S;
- #pragma pack(pop)
- void CAN_Run(void *p);
- void CAN_setSendBuf(int sender,u8 *data);
- void CAN_setCan306(u8 *data);
- int CanSettoCanCantrol();
- #endif
|