PIC18 LaurTec Library  3.1
Open Source C Library for PIC18 Microcontrollers based on C18 - XC8 Compilers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
CANlib.h File Reference

Go to the source code of this file.

Data Structures

struct  CANmessage
 

Typedefs

typedef unsigned char BYTE
 

Enumerations

enum  CAN_OP_MODE {
  CAN_OP_MODE_NORMAL = 0b00000000, CAN_OP_MODE_SLEEP = 0b00100000, CAN_OP_MODE_LOOP = 0b01000000, CAN_OP_MODE_LISTEN = 0b01100000,
  CAN_OP_MODE_CONFIG = 0b10000000
}
 
enum  CAN_CONFIG_FLAGS {
  CAN_CONFIG_DEFAULT = 0b11111111, CAN_CONFIG_PHSEG2_PRG_BIT = 0b00000001, CAN_CONFIG_PHSEG2_PRG_ON = 0b11111111, CAN_CONFIG_PHSEG2_PRG_OFF = 0b11111110,
  CAN_CONFIG_LINE_FILTER_BIT = 0b00000010, CAN_CONFIG_LINE_FILTER_ON = 0b11111111, CAN_CONFIG_LINE_FILTER_OFF = 0b11111101, CAN_CONFIG_SAMPLE_BIT = 0b00000100,
  CAN_CONFIG_SAMPLE_ONCE = 0b11111111, CAN_CONFIG_SAMPLE_THRICE = 0b11111011, CAN_CONFIG_MSG_TYPE_BIT = 0b00001000, CAN_CONFIG_STD_MSG = 0b11111111,
  CAN_CONFIG_XTD_MSG = 0b11110111, CAN_CONFIG_DBL_BUFFER_BIT = 0b00010000, CAN_CONFIG_DBL_BUFFER_ON = 0b11111111, CAN_CONFIG_DBL_BUFFER_OFF = 0b11101111,
  CAN_CONFIG_MSG_BITS = 0b01100000, CAN_CONFIG_ALL_MSG = 0b11111111, CAN_CONFIG_VALID_XTD_MSG = 0b11011111, CAN_CONFIG_VALID_STD_MSG = 0b10111111,
  CAN_CONFIG_ALL_VALID_MSG = 0b10011111
}
 
enum  CAN_TX_MSG_FLAGS {
  CAN_TX_PRIORITY_MASK = 0b00000011, CAN_TX_PRIORITY_0 = 0b11111100, CAN_TX_PRIORITY_1 = 0b11111101, CAN_TX_PRIORITY_2 = 0b11111110,
  CAN_TX_PRIORITY_3 = 0b11111111, CAN_TX_FRAME_MASK = 0b00001000, CAN_TX_STD_FRAME = 0b11110111, CAN_TX_XTD_FRAME = 0b11111111,
  CAN_TX_RTR_MASK = 0b01000000, CAN_REMOTE_TX_FRAME = 0b11111111, CAN_NORMAL_TX_FRAME = 0b10111111
}
 
enum  CAN_MASK { CAN_MASK_B1 = 1, CAN_MASK_B2 = 2 }
 
enum  CAN_FILTER {
  CAN_FILTER_B1_F1, CAN_FILTER_B1_F2, CAN_FILTER_B2_F1, CAN_FILTER_B2_F2,
  CAN_FILTER_B2_F3, CAN_FILTER_B2_F4
}
 
enum  CAN_RX_ERRORS { CAN_RX_BUFFER_1_OVFL = 0b00000001, CAN_RX_BUFFER_2_OVFL = 0b00000010 }
 

Functions

void CANOperationMode (enum CAN_OP_MODE mode)
 
void CANInitialize (BYTE propSeg, BYTE phaseSeg1, BYTE phaseSeg2, BYTE SJW, BYTE BRP, enum CAN_CONFIG_FLAGS flags)
 
void CANsendMessage (unsigned long identifier, BYTE *data, BYTE dataLength, enum CAN_TX_MSG_FLAGS flags)
 
BYTE CANreceiveMessage (CANmessage *msg)
 
void CANSetMask (enum CAN_MASK code, unsigned long val, enum CAN_CONFIG_FLAGS type)
 
void CANSetFilter (enum CAN_FILTER code, unsigned long val, enum CAN_CONFIG_FLAGS type)
 
BYTE CANisTxReady (void)
 
BYTE CANisRxReady (void)
 
BYTE CANisTXpassive (void)
 
BYTE CANisRXpassive (void)
 
BYTE CANisTXwarningON (void)
 
BYTE CANisRXwarningON (void)
 
BYTE CANgetTXerrorCount (void)
 
BYTE CANgetRXerrorCount (void)
 
BYTE CANisBusOFF (void)
 
void CANAbortMessages (void)
 

Typedef Documentation

typedef unsigned char BYTE

Definition at line 49 of file CANlib.h.

Enumeration Type Documentation

Enumerator
CAN_CONFIG_DEFAULT 
CAN_CONFIG_PHSEG2_PRG_BIT 
CAN_CONFIG_PHSEG2_PRG_ON 
CAN_CONFIG_PHSEG2_PRG_OFF 
CAN_CONFIG_LINE_FILTER_BIT 
CAN_CONFIG_LINE_FILTER_ON 
CAN_CONFIG_LINE_FILTER_OFF 
CAN_CONFIG_SAMPLE_BIT 
CAN_CONFIG_SAMPLE_ONCE 
CAN_CONFIG_SAMPLE_THRICE 
CAN_CONFIG_MSG_TYPE_BIT 
CAN_CONFIG_STD_MSG 
CAN_CONFIG_XTD_MSG 
CAN_CONFIG_DBL_BUFFER_BIT 
CAN_CONFIG_DBL_BUFFER_ON 
CAN_CONFIG_DBL_BUFFER_OFF 
CAN_CONFIG_MSG_BITS 
CAN_CONFIG_ALL_MSG 
CAN_CONFIG_VALID_XTD_MSG 
CAN_CONFIG_VALID_STD_MSG 
CAN_CONFIG_ALL_VALID_MSG 

Definition at line 80 of file CANlib.h.

enum CAN_FILTER
Enumerator
CAN_FILTER_B1_F1 
CAN_FILTER_B1_F2 
CAN_FILTER_B2_F1 
CAN_FILTER_B2_F2 
CAN_FILTER_B2_F3 
CAN_FILTER_B2_F4 

Definition at line 148 of file CANlib.h.

enum CAN_MASK
Enumerator
CAN_MASK_B1 
CAN_MASK_B2 

Definition at line 138 of file CANlib.h.

Enumerator
CAN_OP_MODE_NORMAL 
CAN_OP_MODE_SLEEP 
CAN_OP_MODE_LOOP 
CAN_OP_MODE_LISTEN 
CAN_OP_MODE_CONFIG 

Definition at line 67 of file CANlib.h.

Enumerator
CAN_RX_BUFFER_1_OVFL 
CAN_RX_BUFFER_2_OVFL 

Definition at line 162 of file CANlib.h.

Enumerator
CAN_TX_PRIORITY_MASK 
CAN_TX_PRIORITY_0 
CAN_TX_PRIORITY_1 
CAN_TX_PRIORITY_2 
CAN_TX_PRIORITY_3 
CAN_TX_FRAME_MASK 
CAN_TX_STD_FRAME 
CAN_TX_XTD_FRAME 
CAN_TX_RTR_MASK 
CAN_REMOTE_TX_FRAME 
CAN_NORMAL_TX_FRAME 

Definition at line 116 of file CANlib.h.

Function Documentation

void CANAbortMessages ( void  )

Definition at line 1085 of file CANlib.h.

BYTE CANgetRXerrorCount ( void  )

Definition at line 1145 of file CANlib.h.

BYTE CANgetTXerrorCount ( void  )

Definition at line 1136 of file CANlib.h.

BYTE CANisBusOFF ( void  )

Definition at line 1094 of file CANlib.h.

BYTE CANisRXpassive ( void  )

Definition at line 1111 of file CANlib.h.

BYTE CANisRxReady ( void  )

Definition at line 1163 of file CANlib.h.

BYTE CANisRXwarningON ( void  )

Definition at line 1127 of file CANlib.h.

BYTE CANisTXpassive ( void  )

Definition at line 1102 of file CANlib.h.

BYTE CANisTxReady ( void  )

Definition at line 1154 of file CANlib.h.

BYTE CANisTXwarningON ( void  )

Definition at line 1119 of file CANlib.h.

void CANOperationMode ( enum CAN_OP_MODE  mode)

Definition at line 206 of file CANlib.h.

void CANsendMessage ( unsigned long  identifier,
BYTE data,
BYTE  dataLength,
enum CAN_TX_MSG_FLAGS  flags 
)

Definition at line 294 of file CANlib.h.

References CAN_TX_FRAME_MASK.

void CANSetFilter ( enum CAN_FILTER  code,
unsigned long  val,
enum CAN_CONFIG_FLAGS  type 
)
void CANSetMask ( enum CAN_MASK  code,
unsigned long  val,
enum CAN_CONFIG_FLAGS  type 
)

Definition at line 640 of file CANlib.h.

References CAN_CONFIG_STD_MSG, CAN_CONFIG_XTD_MSG, CAN_MASK_B1, and CAN_MASK_B2.