LPCOpen Platform  v1.03
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
can_17xx_40xx.h File Reference

Go to the source code of this file.

Macros

#define CAN_SEG1_DEFAULT_VAL   5
 
#define CAN_SEG2_DEFAULT_VAL   4
 
#define CAN_SJW_DEFAULT_VAL   0
 

Typedefs

typedef IP_CAN_AF_LUT_T CANAF_LUT_T
 CAN structures and definitions.
 
typedef IP_CAN_STD_ID_Entry_T CAN_STD_ID_ENTRY_T
 
typedef IP_CAN_STD_ID_RANGE_Entry_T CAN_STD_ID_RANGE_ENTRY_T
 
typedef IP_CAN_EXT_ID_Entry_T CAN_EXT_ID_ENTRY_T
 
typedef IP_CAN_EXT_ID_RANGE_Entry_T CAN_EXT_ID_RANGE_ENTRY_T
 
typedef IP_CAN_MSG_T CAN_MSG_T
 
typedef IP_CAN_BUFFER_ID_T CAN_BUFFER_ID
 
typedef IP_CAN_AF_RAM_SECTION_T CANAF_RAM_SECTION
 

Enumerations

enum  CHIP_CAN_MODE_T {
  CAN_RESET_MODE = CAN_MOD_RM, CAN_SELFTEST_MODE = CAN_MOD_STM, CAN_TEST_MODE = CAN_MOD_TM, CAN_LISTEN_ONLY_MODE = CAN_MOD_LOM,
  CAN_SLEEP_MODE = CAN_MOD_SM, CAN_OPERATION_MODE = CAN_MOD_OPERATION, CAN_TRANSMIT_PRIORITY_MODE = CAN_MOD_TPM, CAN_RECEIVE_PRIORITY_MODE = CAN_MOD_RPM
}
 CAN Mode definition. More...
 
enum  CHIP_CAN_AF_MODE_T { CAN_AF_NORMAL_MODE = 0, CAN_AF_OFF_MODE = CANAF_AFMR_ACCOFF, CAN_AF_BYBASS_MODE = CANAF_AFMR_ACCBP, CAN_AF_FULL_MODE = CANAF_AFMR_EFCAN }
 CAN AF Mode definition. More...
 

Functions

STATIC INLINE uint32_t Chip_CAN_GetStatus (LPC_CAN_T *pCAN)
 Get the status of the CAN Controller.
 
STATIC INLINE void Chip_CAN_IntEnable (LPC_CAN_T *pCAN, uint32_t IntMask)
 Enable the CAN Interrupts.
 
STATIC INLINE void Chip_CAN_IntDisable (LPC_CAN_T *pCAN, uint32_t IntMask)
 Disable the CAN Interrupts.
 
STATIC INLINE uint32_t Chip_CAN_GetIntStatus (LPC_CAN_T *pCAN)
 Get interrupt status of the given CAN Controller.
 
STATIC INLINE void Chip_CAN_FullCANIntConfig (LPC_CANAF_T *pCANAF, FunctionalState NewState)
 Enable/Disable CAN controller FullCAN Interrupts.
 
STATIC INLINE uint32_t Chip_CAN_GetFullCANIntStatus (LPC_CANAF_T *pCANAF, uint8_t ObjID)
 Get FullCAN interrupt status of the given object.
 
STATIC INLINE void Chip_CAN_SetMode (LPC_CAN_T *pCAN, CHIP_CAN_MODE_T Mode, FunctionalState NewState)
 Set CAN controller enter/exit to a given mode.
 
STATIC INLINE void Chip_CAN_SetAFMode (LPC_CANAF_T *pCANAF, CHIP_CAN_AF_MODE_T AfMode)
 Set CAN AF Mode.
 
STATIC INLINE Status Chip_CAN_SetAFLUT (LPC_CANAF_T *pCANAF, CANAF_LUT_T *pAFSections)
 Set CAN AF LUT.
 
STATIC INLINE Status Chip_CAN_InsertFullCANEntry (LPC_CANAF_T *pCANAF, CAN_STD_ID_ENTRY_T *pEntry)
 Insert a FullCAN Entry into the current LUT.
 
STATIC INLINE Status Chip_CAN_InsertIndividualSTDEntry (LPC_CANAF_T *pCANAF, CAN_STD_ID_ENTRY_T *pEntry)
 Insert an individual Standard Entry into the current LUT.
 
STATIC INLINE Status Chip_CAN_InsertGroupSTDEntry (LPC_CANAF_T *pCANAF, CAN_STD_ID_RANGE_ENTRY_T *pEntry)
 Insert an Group Standard Entry into the current LUT.
 
STATIC INLINE Status Chip_CAN_InsertIndividualEXTEntry (LPC_CANAF_T *pCANAF, CAN_EXT_ID_ENTRY_T *pEntry)
 Insert an individual Extended Entry into the current LUT.
 
STATIC INLINE Status Chip_CAN_InsertGroupEXTEntry (LPC_CANAF_T *pCANAF, CAN_EXT_ID_RANGE_ENTRY_T *pEntry)
 Insert an Group Extended Entry into the current LUT.
 
STATIC INLINE Status Chip_CAN_RemoveFullCANEntry (LPC_CANAF_T *pCANAF, int16_t Position)
 Remove a FullCAN Entry from the current LUT.
 
STATIC INLINE Status Chip_CAN_RemoveIndividualSTDEntry (LPC_CANAF_T *pCANAF, int16_t Position)
 Remove an individual Standard Entry from the current LUT.
 
STATIC INLINE Status Chip_CAN_RemoveGroupSTDEntry (LPC_CANAF_T *pCANAF, int16_t Position)
 Remove an Group Standard Entry from the current LUT.
 
STATIC INLINE Status Chip_CAN_RemoveIndividualEXTEntry (LPC_CANAF_T *pCANAF, int16_t Position)
 Remove an individual Extended Entry from the current LUT.
 
STATIC INLINE Status Chip_CAN_RemoveGroupEXTEntry (LPC_CANAF_T *pCANAF, int16_t Position)
 Remove an Group Extended Entry from the current LUT.
 
STATIC INLINE uint16_t Chip_CAN_GetEntriesNum (LPC_CANAF_T *pCANAF, CANAF_RAM_SECTION SectionID)
 Get the number of entries in the given section.
 
STATIC INLINE Status Chip_CAN_ReadFullCANEntry (LPC_CANAF_T *pCANAF, uint16_t Position, CAN_STD_ID_ENTRY_T *pEntry)
 Read a FullCAN Entry into from current LUT.
 
STATIC INLINE Status Chip_CAN_ReadIndividualSTDEntry (LPC_CANAF_T *pCANAF, uint16_t Position, CAN_STD_ID_ENTRY_T *pEntry)
 Read an individual Standard Entry from the current LUT.
 
STATIC INLINE Status Chip_CAN_ReadGroupSTDEntry (LPC_CANAF_T *pCANAF, uint16_t Position, CAN_STD_ID_RANGE_ENTRY_T *pEntry)
 Read an Group Standard Entry from the current LUT.
 
STATIC INLINE Status Chip_CAN_ReadIndividualEXTEntry (LPC_CANAF_T *pCANAF, uint16_t Position, CAN_EXT_ID_ENTRY_T *pEntry)
 Read an individual Extended Entry from the current LUT.
 
STATIC INLINE Status Chip_CAN_ReadGroupEXTEntry (LPC_CANAF_T *pCANAF, uint16_t Position, CAN_EXT_ID_RANGE_ENTRY_T *pEntry)
 Read an Group Extended Entry from the current LUT.
 
STATIC INLINE Status Chip_CAN_Receive (LPC_CAN_T *pCAN, CAN_MSG_T *pMsg)
 Get message received by the CAN Controller.
 
STATIC INLINE Status Chip_CAN_FullCANReceive (LPC_CANAF_T *pCANAF, uint8_t ObjID, CAN_MSG_T *pMsg, uint8_t *pSCC)
 Get message received automatically by the AF.
 
STATIC INLINE Status Chip_CAN_Send (LPC_CAN_T *pCAN, CAN_BUFFER_ID TxBufID, CAN_MSG_T *pMsg)
 Request the given CAN Controller to send message.
 
void Chip_CAN_Init (LPC_CAN_T *pCAN)
 Initialize CAN Interface.
 
void Chip_CAN_DeInit (LPC_CAN_T *pCAN)
 De-Initialize CAN Interface.
 
Status Chip_CAN_SetBitRate (LPC_CAN_T *pCAN, uint32_t BitRate)
 Set CAN bitrate.
 
CAN_BUFFER_ID Chip_CAN_GetFreeTxBuf (LPC_CAN_T *pCAN)
 Get Free TxBuffer.