Subversion Repositories NaviCtrl

Rev

Rev 766 | Blame | Last modification | View Log | RSS feed

#ifndef __CANBUS_H
#define __CANBUS_H

#define CAN_ID_VERSION  0
#define CAN_ID_STATUS   1
#define CAN_ID_TEXT1    2 // Status-Text 8 Bytes
#define CAN_ID_TEXT2    3
#define CAN_ID_TEXT3    4
#define CAN_ID_FS_LON   5
#define CAN_ID_FS_LAT   6
#define CAN_ID_FS_ALT   7

#define MAX_CAN_MSG     10

void CanbusInit(void);
void ProcessCanBus(void);
extern canmsg RxCanMsg;
extern volatile u32 frame_received_flag;


typedef struct
{
  u32 IdType;
  u32 Id;
  u32 Length;      // data length
        union
        {
            u8  Byte[8];
                s8      sByte[8];
                u16 Int[4];
                s16 sInt[4];
                u32 Long[2];
                s32 sLong[2];
                float Float[2];
        } __attribute__((packed)) D;
 } /*__attribute__((packed))*/ CanMessage_t;


extern CanMessage_t CanTxMessage[MAX_CAN_MSG];
extern CanMessage_t CanRxMessage[MAX_CAN_MSG];
extern u32 CanbusTimeOut;

#endif