CAN Module


Data Structures

struct  canmsg
struct  canqueue
struct  can_module

Defines

#define MODULE_OFFSET(x)   *(caddr(x,base))
#define MARRAY_OFFSET(x)   (caddr(x,base))
#define CANCTL0   MODULE_OFFSET(0x0)
#define INITRQ   0x01
#define CSWAI   0x20
#define CANCTL1   MODULE_OFFSET(0x1)
#define CANE   0x80
#define CLKSRC   0x40
#define LISTEN   0x10
#define LOOPB   0x20
#define INITAK   0x01
#define CANBTR0   MODULE_OFFSET(0x2)
#define CANBTR1   MODULE_OFFSET(0x3)
#define CANRFLG   MODULE_OFFSET(0x4)
#define CSCIF   0x40
#define RXF   0x01
#define OVRIF   0x02
#define CANRIER   MODULE_OFFSET(0x5)
#define WUPIE   0x80
#define RXFIE   0x01
#define CANTFLG   MODULE_OFFSET(0x6)
#define CANTIER   MODULE_OFFSET(0x7)
#define CANTARQ   MODULE_OFFSET(0x8)
#define CANTAAK   MODULE_OFFSET(0x9)
#define CANTBSEL   MODULE_OFFSET(0xa)
#define CANIDAC   MODULE_OFFSET(0xb)
#define CANRXERR   MODULE_OFFSET(0xe)
#define CANTXERR   MODULE_OFFSET(0xf)
#define CANIDAR0   MODULE_OFFSET(0x10)
#define CANIDAR1   MODULE_OFFSET(0x11)
#define CANIDAR2   MODULE_OFFSET(0x12)
#define CANIDAR3   MODULE_OFFSET(0x13)
#define CANIDMR0   MODULE_OFFSET(0x14)
#define CANIDMR1   MODULE_OFFSET(0x15)
#define CANIDMR2   MODULE_OFFSET(0x16)
#define CANIDMR3   MODULE_OFFSET(0x17)
#define CANIDAR4   MODULE_OFFSET(0x18)
#define CANIDAR5   MODULE_OFFSET(0x19)
#define CANIDAR6   MODULE_OFFSET(0x1a)
#define CANIDAR7   MODULE_OFFSET(0x1b)
#define CANIDMR4   MODULE_OFFSET(0x1c)
#define CANIDMR5   MODULE_OFFSET(0x1d)
#define CANIDMR6   MODULE_OFFSET(0x1e)
#define CANIDMR7   MODULE_OFFSET(0x1f)
#define CANRXFG   MARRAY_OFFSET(0x20)
#define CANTXFG   MARRAY_OFFSET(0x30)
#define CAN_RUNNING   CANCTL1&INITAK
#define CAN_RXBUF_FULL   CANRFLG&RXF
#define CANOVERRUN   CANRFLG&OVRIF
#define QUEUE_LENGTH   16
#define CANTXQ_LENGTH   5
#define CAN_MSG_LENGTH   8
#define MSG_RTR   (1<<0)
#define RTR   0x10

Functions

can_moduleCAN_device (int index)
int CANStart (can_module *CAN)

Detailed Description

This module provides functions for controlling the CAN (Control Area Network) Of an E12 device.

Define Documentation

#define MSG_RTR   (1<<0)
 

RTR Message

Definition at line 94 of file can.h.


Function Documentation

can_module* CAN_device int  index  ) 
 

return a CAN device with a given index.

Parameters:
index CAN module index, for the IPAC this must always be zero
Returns:
pointer to the can module at index, with base and index elements set up.

int CANStart can_module CAN  ) 
 

Start up a CAN module, this should be called after the structure and it's queues are set up.

Parameters:
CAN The can module retrieve from CAN_device after it has been initialized
Returns:
0


Generated on Fri Mar 3 17:25:46 2006 for EMAC-HCS12-SDK by  doxygen 1.4.6