9. lpc17xx_can Module

CAN client library functions. Find implementation details in LPC17xx CMSIS-Compliant Standard Peripheral Firmware Driver Library documentation.

class robovero.lpc17xx_can.AFLUT_ENTRY_Type

AFLUT Entry type definition.

EXPLICIT_EXTEND_ENTRY = 3
EXPLICIT_STANDARD_ENTRY = 1
FULLCAN_ENTRY = 0
GROUP_EXTEND_ENTRY = 4
GROUP_STANDARD_ENTRY = 2
class robovero.lpc17xx_can.AF_SectionDef(**kwargs)

Bases: robovero.internals.cstruct

Acceptance Filter Section Table structure.

FullCAN_Sec: The pointer point to FullCAN_Entry

FC_NumEntry: FullCAN Entry Number

SFF_Sec: The pointer point to SFF_Entry

SFF_NumEntry: Standard ID Entry Number

SFF_GPR_Sec: The pointer point to SFF_GPR_Entry

SFF_GPR_NumEntry: Group Standard ID Entry Number

EFF_Sec: The pointer point to EFF_Entry

EFF_NumEntry: Extended ID Entry Number

EFF_GPR_Sec: The pointer point to EFF_GPR_Entry

EFF_GPR_NumEntry: Group Extended ID Entry Number

ptr: LPC1769 memory address where structure is stored. Use this in place of the C reference operator (&).

class robovero.lpc17xx_can.CAN_AFMODE_Type

Acceptance Filter Mode type definition.

CAN_AccBP = 2
CAN_AccOff = 1
CAN_Normal = 0
CAN_eFCAN = 3
robovero.lpc17xx_can.CAN_BTR_BRP(n)

CAN Baudrate Prescaler.

robovero.lpc17xx_can.CAN_BTR_SAM(n)

CAN Sampling.

robovero.lpc17xx_can.CAN_BTR_SJM(n)

CAN Synchronization Jump Width.

robovero.lpc17xx_can.CAN_BTR_TESG1(n)

CAN Time Segment 1.

robovero.lpc17xx_can.CAN_BTR_TESG2(n)

CAN Time Segment 2.

class robovero.lpc17xx_can.CAN_CR_STS_Type

Central CAN status type definition.

CANCR_MS = 2
CANCR_RX_STS = 1
CANCR_TX_STS = 0
class robovero.lpc17xx_can.CAN_CTRL_STS_Type

CAN Control status definition.

CANCTRL_ERR_WRN = 2
CANCTRL_GLOBAL_STS = 0
CANCTRL_INT_CAP = 1
CANCTRL_STS = 3
robovero.lpc17xx_can.CAN_DeInit(CANx)

Deinitialize CAN module.

Args:

  • CANx: pointer to CAN peripheral selected, should be:
    • LPC_CAN1: CAN1 peripheral
    • LPC_CAN2: CAN2 peripheral
robovero.lpc17xx_can.CAN_EFF_sa(n)

The start address of the table of individual Extended Identifier.

class robovero.lpc17xx_can.CAN_ERROR

Error values that functions can return.

CAN_AF_ENTRY_ERROR = 4
CAN_CONFLICT_ID_ERROR = 5
CAN_ENTRY_NOT_EXIT_ERROR = 6
CAN_FULL_OBJ_NOT_RCV = 2
CAN_NO_RECEIVE_DATA = 3
CAN_OBJECTS_FULL_ERROR = 1
CAN_OK = 1
robovero.lpc17xx_can.CAN_EWL_EWL(n)

CAN Error Warning Limit.

robovero.lpc17xx_can.CAN_Eff_GRP_sa(n)

The start address of the table of grouped Extended Identifier.

robovero.lpc17xx_can.CAN_EndofTable(n)

The End of Table of AF LookUp Table.

robovero.lpc17xx_can.CAN_FCANIC0_IntPnd(n)

FullCAN Interrupt and Capture (0-31).

robovero.lpc17xx_can.CAN_FCANIC1_IntPnd(n)

FullCAN Interrupt and Capture (0-31).

class robovero.lpc17xx_can.CAN_FRAME_Type

Symbolic names for type of CAN message.

DATA_FRAME = 0
REMOTE_FRAME = 1
robovero.lpc17xx_can.CAN_FullCANIntGetStatus(CANAFx)

Check if FullCAN interrupt enable or not.

Args:

  • CANAFx: pointer to LPC_CANAF_TypeDef object, should be: LPC_CANAF

Return:

  • IntStatus, could be:
    • SET: if FullCAN interrupt is enable
    • RESET: if FullCAN interrupt is disable
robovero.lpc17xx_can.CAN_FullCANPendGetStatus(CANAFx, ic_type)

Get value of FullCAN interrupt and capture register.

Args:

  • CANAFx: pointer to LPC_CANAF_TypeDef object, should be: LPC_CANAF
  • ic_type: FullCAN IC type, should be:
    • FULLCAN_IC0: FullCAN Interrupt Capture 0
    • FULLCAN_IC1: FullCAN Interrupt Capture 1

Return:

  • FCANIC0 or FCANIC1 (FullCAN interrupt and Capture register) value
robovero.lpc17xx_can.CAN_GSR_RXERR(n)

CAN Current value of the Rx Error Counter.

robovero.lpc17xx_can.CAN_GSR_TXERR(n)

CAN Current value of the Tx Error Counter.

robovero.lpc17xx_can.CAN_GetCRStatus(CANCRx, arg)

Get CAN Central Status.

Args:

  • CANCRx: pointer to LPC_CANCR_TypeDef, should be: LPC_CANCR
  • arg: type of CAN status to get from CAN Central status register. Should be:
    • CANCR_TX_STS: Central CAN Tx Status
    • CANCR_RX_STS: Central CAN Rx Status
    • CANCR_MS: Central CAN Miscellaneous Status

Return:

  • Current Central Status that you want to get value
robovero.lpc17xx_can.CAN_GetCTRLStatus(CANx, arg)

Get CAN Control Status.

Args:

  • CANx: pointer to CAN peripheral selected, should be:
    • LPC_CAN1: CAN1 peripheral
    • LPC_CAN2: CAN2 peripheral
  • arg: type of CAN status to get from CAN status register. Should be:
    • CANCTRL_GLOBAL_STS: CAN Global Status
    • CANCTRL_INT_CAP: CAN Interrupt and Capture
    • CANCTRL_ERR_WRN: CAN Error Warning Limit
    • CANCTRL_STS: CAN Control Status

Return:

  • Current Control Status that you want to get value
robovero.lpc17xx_can.CAN_ICR_ALCBIT(n)

CAN Arbitration Lost Capture.

robovero.lpc17xx_can.CAN_ICR_ERRBIT(n)

CAN Error Code Capture.

robovero.lpc17xx_can.CAN_ICR_ERRC(n)

CAN Error Capture.

class robovero.lpc17xx_can.CAN_ID_FORMAT_Type

CAN ID format definition.

EXT_ID_FORMAT = 1
STD_ID_FORMAT = 0
class robovero.lpc17xx_can.CAN_INT_EN_Type

CAN interrupt enable type definition.

CANINT_ALIE = 6
CANINT_BEIE = 7
CANINT_DOIE = 3
CANINT_EIE = 2
CANINT_EPIE = 5
CANINT_FCE = 11
CANINT_IDIE = 8
CANINT_RIE = 0
CANINT_TIE1 = 1
CANINT_TIE2 = 9
CANINT_TIE3 = 10
CANINT_WUIE = 4
robovero.lpc17xx_can.CAN_IRQCmd(CANx, arg, NewState)

Enable/Disable CAN Interrupt.

Args:

  • CANx: pointer to CAN peripheral selected, should be:
    • LPC_CAN1: CAN1 peripheral
    • LPC_CAN2: CAN2 peripheral
  • arg: type of CAN interrupt that you want to enable/disable. Should be:
    • CANINT_RIE: CAN Receiver Interrupt Enable
    • CANINT_TIE1: CAN Transmit Interrupt Enable
    • CANINT_EIE: CAN Error Warning Interrupt Enable
    • CANINT_DOIE: CAN Data Overrun Interrupt Enable
    • CANINT_WUIE: CAN Wake-Up Interrupt Enable
    • CANINT_EPIE: CAN Error Passive Interrupt Enable
    • CANINT_ALIE: CAN Arbitration Lost Interrupt Enable
    • CANINT_BEIE: CAN Bus Error Interrupt Enable
    • CANINT_IDIE: CAN ID Ready Interrupt Enable
    • CANINT_TIE2: CAN Transmit Interrupt Enable for Buffer2
    • CANINT_TIE3: CAN Transmit Interrupt Enable for Buffer3
    • CANINT_FCE: FullCAN Interrupt Enable
  • NewState: New state of this function, should be: ENABLE or DISABLE
robovero.lpc17xx_can.CAN_Init(CANx, baudrate)

Initialize CAN peripheral with given baudrate.

Args:

  • CANx: pointer to CAN peripheral selected, should be:
    • LPC_CAN1: CAN1 peripheral
    • LPC_CAN2: CAN2 peripheral
  • baudrate: the value of CAN baudrate will be set (bps)
robovero.lpc17xx_can.CAN_IntGetStatus(CANx)

Get CAN interrupt status.

Args:

  • CANx: pointer to CAN peripheral selected, should be:
    • LPC_CAN1: CAN1 peripheral
    • LPC_CAN2: CAN2 peripheral

Return:

  • CANICR (CAN interrupt and Capture register) value
robovero.lpc17xx_can.CAN_LUTerrAd(n)

CAN Look-Up Table Error Address.

robovero.lpc17xx_can.CAN_LoadExplicitEntry(CANx, ID, format)

Add Explicit ID into AF Look-Up Table dynamically.

Args:

  • CANx: pointer to CAN peripheral selected, should be:
    • LPC_CAN1: CAN1 peripheral
    • LPC_CAN2: CAN2 peripheral
  • id: The ID of entry will be added
  • format: is the type of ID Frame Format, should be:
    • STD_ID_FORMAT: 11-bit ID value
    • EXT_ID_FORMAT: 29-bit ID value

Return:

  • CAN Error, could be:
    • CAN_OBJECTS_FULL_ERROR: No more rx or tx objects available
    • CAN_ID_EXIT_ERROR: ID exited in table
    • CAN_OK: ID is added into table successfully
robovero.lpc17xx_can.CAN_LoadFullCANEntry(CANx, ID)

Load FullCAN entry into AFLUT.

Args:

  • CANx: pointer to CAN peripheral selected, should be:
    • LPC_CAN1: CAN1 peripheral
    • LPC_CAN2: CAN2 peripheral
  • id: identifier of entry that will be added

Return:

  • CAN_ERROR, could be:
    • CAN_OK: loading is successful
    • CAN_ID_EXIT_ERROR: ID exited in FullCAN Section
    • CAN_OBJECTS_FULL_ERROR: no more space available
robovero.lpc17xx_can.CAN_LoadGroupEntry(CANx, lowerID, upperID, format)

Load Group entry into AFLUT.

Args:

  • CANx: pointer to CAN peripheral selected, should be:
    • LPC_CAN1: CAN1 peripheral
    • LPC_CAN2: CAN2 peripheral
  • lowerID: lower identifier of entry
  • upperID: upper identifier of entry
  • format: format: type of ID format, should be:
    • STD_ID_FORMAT: Standard ID format (11-bit value)
    • EXT_ID_FORMAT: Extended ID format (29-bit value)

Return:

  • CAN_ERROR, could be:
    • CAN_OK: loading is successful
    • CAN_CONFLICT_ID_ERROR: Conflict ID occurs
    • CAN_OBJECTS_FULL_ERROR: no more space available
class robovero.lpc17xx_can.CAN_MODE_Type

CAN Mode Type definition.

CAN_LISTENONLY_MODE = 2
CAN_OPERATING_MODE = 0
CAN_RESET_MODE = 1
CAN_RXPOLARITY_MODE = 6
CAN_SELFTEST_MODE = 3
CAN_SLEEP_MODE = 5
CAN_TEST_MODE = 7
CAN_TXPRIORITY_MODE = 4
class robovero.lpc17xx_can.CAN_MSG_Type(**kwargs)

Bases: robovero.internals.cstruct

CAN message object structure.

id:

  • if format = STD_ID_FORMAT, id should be 11 bit identifier
  • if format = EXT_ID_FORMAT, id should be 29 bit identifier
    • dataA[4]: Data field A
    • dataB[4]: Data field B

len: Length of data field in bytes, should be:

  • 0000b-0111b: 0-7 bytes
  • 1xxxb: 8 bytes

format: Identifier Format, should be:

  • STD_ID_FORMAT: Standard ID - 11 bit format
  • EXT_ID_FORMAT: Extended ID - 29 bit format

type: Remote Frame transmission, should be:

  • DATA_FRAME: the number of data bytes called out by the DLC field are send from the CANxTDA and CANxTDB registers
  • REMOTE_FRAME: Remote Frame is sent
ptr: LPC1769 memory address where structure is stored. Use this in place of
the C reference operator (&).
robovero.lpc17xx_can.CAN_ModeConfig(CANx, mode, NewState)

Enable/Disable CAN Mode.

Args:

  • CANx: pointer to CAN peripheral selected, should be:
    • LPC_CAN1: CAN1 peripheral
    • LPC_CAN2: CAN2 peripheral
  • mode: type of CAN mode that you want to enable/disable, should be:
    • CAN_OPERATING_MODE: Normal Operating Mode
    • CAN_RESET_MODE: Reset Mode
    • CAN_LISTENONLY_MODE: Listen Only Mode
    • CAN_SELFTEST_MODE: Self Test Mode
    • CAN_TXPRIORITY_MODE: Transmit Priority Mode
    • CAN_SLEEP_MODE: Sleep Mode
    • CAN_RXPOLARITY_MODE: Receive Polarity Mode
    • CAN_TEST_MODE: Test Mode
  • NewState: New State of this function, should be: ENABLE or DISABLE
class robovero.lpc17xx_can.CAN_PinCFG_Type(**kwargs)

Bases: robovero.internals.cstruct

Pin Configuration structure.

RD:

  • For CAN1:
    • CAN_RD1_P0_0: RD pin is on P0.0
    • CAN_RD1_P0_21 : RD pin is on P0.21
  • For CAN2:
    • CAN_RD2_P0_4: RD pin is on P0.4
    • CAN_RD2_P2_7: RD pin is on P2.7

TD:

  • For CAN1:
    • CAN_TD1_P0_1: TD pin is on P0.1
    • CAN_TD1_P0_22: TD pin is on P0.22
  • For CAN2:
    • CAN_TD2_P0_5: TD pin is on P0.5
    • CAN_TD2_P2_8: TD pin is on P2.8

ptr: LPC1769 memory address where structure is stored. Use this in place of the C reference operator (&).

robovero.lpc17xx_can.CAN_RDA_DATA1(n)

CAN Receive Data 1.

robovero.lpc17xx_can.CAN_RDA_DATA2(n)

CAN Receive Data 2.

robovero.lpc17xx_can.CAN_RDA_DATA3(n)

CAN Receive Data 3.

robovero.lpc17xx_can.CAN_RDA_DATA4(n)

CAN Receive Data 4.

robovero.lpc17xx_can.CAN_RDB_DATA5(n)

CAN Receive Data 5.

robovero.lpc17xx_can.CAN_RDB_DATA6(n)

CAN Receive Data 6.

robovero.lpc17xx_can.CAN_RDB_DATA7(n)

CAN Receive Data 7.

robovero.lpc17xx_can.CAN_RDB_DATA8(n)

CAN Receive Data 8.

robovero.lpc17xx_can.CAN_RFS_DLC(n)

CAN Data Length Code.

robovero.lpc17xx_can.CAN_RFS_ID_INDEX(n)

CAN ID Index.

robovero.lpc17xx_can.CAN_RID_ID_11(n)

CAN 11 bit Identifier.

robovero.lpc17xx_can.CAN_RID_ID_29(n)

CAN 29 bit Identifier.

robovero.lpc17xx_can.CAN_ReceiveMsg(CANx, CAN_Msg)

Receive message data.

Args:

  • CANx: pointer to CAN peripheral selected, should be:

    • LPC_CAN1: CAN1 peripheral
    • LPC_CAN2: CAN2 peripheral
  • CAN_Msg: pointer to the CAN_MSG_Type Struct, it will contain received message

    information such as: ID, DLC, RTR, ID Format

Return:

  • Status:
    • SUCCESS: receive message successfully
    • ERROR: receive message unsuccessfully
robovero.lpc17xx_can.CAN_RemoveEntry(EntryType, position)

Remove AFLUT entry (FullCAN entry and Explicit Standard entry).

Args:

  • EntryType: the type of entry that want to remove, should be:
    • FULLCAN_ENTRY
    • EXPLICIT_STANDARD_ENTRY
    • GROUP_STANDARD_ENTRY
    • EXPLICIT_EXTEND_ENTRY
    • GROUP_EXTEND_ENTRY
  • position: the position of this entry in its section

Return:

  • CAN_ERROR, could be:
    • CAN_OK: removal successful
    • CAN_ENTRY_NOT_EXIT_ERROR: removal failed
robovero.lpc17xx_can.CAN_SFF_GRP_sa(n)

The start address of the table of grouped Standard Identifier.

robovero.lpc17xx_can.CAN_STT_sa(n)

The start address of the table of individual Standard Identifier.

robovero.lpc17xx_can.CAN_SendMsg(CANx, CAN_Msg)

Send message data.

Args:

  • CANx: pointer to CAN peripheral selected, should be:

    • LPC_CAN1: CAN1 peripheral
    • LPC_CAN2: CAN2 peripheral
  • CAN_Msg: pointer to CAN_MSG_Type Structure, it contains message information

    such as: ID, DLC, RTR, ID Format

Return:

  • Status:
    • SUCCESS: send message successfully
    • ERROR: send message unsuccessfully
robovero.lpc17xx_can.CAN_SetAFMode(CANAFx, AFmode)

Check if FullCAN interrupt enable or not.

Args:

  • CANAFx: pointer to LPC_CANAF_TypeDef object, should be: LPC_CANAF

Return:

  • IntStatus, could be:
    • SET: if FullCAN interrupt is enable
    • RESET: if FullCAN interrupt is disable
robovero.lpc17xx_can.CAN_SetCommand(CANx, CMRType)

Set CAN command request.

Args:

  • CANx: pointer to CAN peripheral selected, should be:
    • LPC_CAN1: CAN1 peripheral
    • LPC_CAN2: CAN2 peripheral
  • CMRType: command request type, should be:
    • CAN_CMR_TR: Transmission request
    • CAN_CMR_AT: Abort Transmission request
    • CAN_CMR_RRB: Release Receive Buffer request
    • CAN_CMR_CDO: Clear Data Overrun request
    • CAN_CMR_SRR: Self Reception request
    • CAN_CMR_STB1: Select Tx Buffer 1 request
    • CAN_CMR_STB2: Select Tx Buffer 2 request
    • CAN_CMR_STB3: Select Tx Buffer 3 request

Return:

  • CANICR (CAN interrupt and Capture register) value
robovero.lpc17xx_can.CAN_SetupAFLUT(CANAFx, AFSection)

Setup Acceptance Filter Look-Up Table.

Args:

  • CANAFx: pointer to LPC_CANAF_TypeDef object, should be: LPC_CANAF

  • AFSection: pointer to AF_SectionDef structure it contains information

    about 5 sections will be install in AFLUT

Return:

  • CAN Error could be:
    • CAN_OBJECTS_FULL_ERROR: No more rx or tx objects available
    • CAN_AF_ENTRY_ERROR: table error-violation of ascending numerical order
    • CAN_OK: ID is added into table successfully
robovero.lpc17xx_can.CAN_TDA_DATA1(n)

CAN Transmit Data 1.

robovero.lpc17xx_can.CAN_TDA_DATA2(n)

CAN Transmit Data 2.

robovero.lpc17xx_can.CAN_TDA_DATA3(n)

CAN Transmit Data 3.

robovero.lpc17xx_can.CAN_TDA_DATA4(n)

CAN Transmit Data 4.

robovero.lpc17xx_can.CAN_TDA_DATA5(n)

CAN Transmit Data 5.

robovero.lpc17xx_can.CAN_TDA_DATA6(n)

CAN Transmit Data 6.

robovero.lpc17xx_can.CAN_TDA_DATA7(n)

CAN Transmit Data 7.

robovero.lpc17xx_can.CAN_TDA_DATA8(n)

CAN Transmit Data 8.

robovero.lpc17xx_can.CAN_TFI_DLC(n)

CAN Data Length Code.

robovero.lpc17xx_can.CAN_TFI_PRIO(n)

CAN Priority.

robovero.lpc17xx_can.CAN_TID_ID11(n)

CAN 11-bit Identifier.

robovero.lpc17xx_can.CAN_TID_ID29(n)

CAN 29-bit Identifier.

class robovero.lpc17xx_can.EFF_Entry(**kwargs)

Bases: robovero.internals.cstruct

Extended ID Frame Format Entry structure.

controller: CAN Controller, should be:

  • CAN1_CTRL: CAN1 Controller
  • CAN2_CTRL: CAN2 Controller

ID_29: Extend ID, shoud be 29-bit value

ptr: LPC1769 memory address where structure is stored. Use this in place of the C reference operator (&).

class robovero.lpc17xx_can.EFF_GPR_Entry(**kwargs)

Bases: robovero.internals.cstruct

Group of Extended ID Frame Format Entry structure.

controller1: First CAN Controller, should be:

  • CAN1_CTRL: CAN1 Controller
  • CAN2_CTRL: CAN2 Controller

controller2: Second Disable bit, should be:

  • MSG_ENABLE: disable bit = 0(default)
  • MSG_DISABLE: disable bit = 1

lowerEID: Extended ID lower bound, should be 29-bit value

upperEID: Extended ID upper bound, should be 29-bit value

ptr: LPC1769 memory address where structure is stored. Use this in place of the C reference operator (&).

robovero.lpc17xx_can.FCAN_ReadObj(CANAFx, CAN_Msg)

Receive FullCAN Object.

  • Args:

    • CANAFx: CAN Acceptance Filter register, should be: LPC_CANAF

    • CAN_Msg: pointer to the CAN_MSG_Type Struct, it will contain

      received message information such as: ID, DLC, RTR, ID Format

  • Return: CAN_ERROR, could be:

    • CAN_FULL_OBJ_NOT_RCV: FullCAN Object is not be received
    • CAN_OK: Received FullCAN Object successful
class robovero.lpc17xx_can.FullCAN_Entry(**kwargs)

Bases: robovero.internals.cstruct

FullCAN Entry structure.

controller: CAN Controller, should be:

  • CAN1_CTRL: CAN1 Controller
  • CAN2_CTRL: CAN2 Controller

disable: Disable bit, should be:

  • MSG_ENABLE: disable bit = 0
  • MSG_DISABLE: disable bit = 1

id_11: Standard ID, should be 11-bit value

ptr: LPC1769 memory address where structure is stored. Use this in place of the C reference operator (&).

class robovero.lpc17xx_can.FullCAN_IC_Type

FullCAN Interrupt Capture type definition.

FULLCAN_IC0 = 0
FULLCAN_IC1 = 1
robovero.lpc17xx_can.PARAM_AFLUT_ENTRY_TYPE(n)

Macro to check AFLUT Entry type.

robovero.lpc17xx_can.PARAM_AFMODE_TYPE(n)

Macro to check AF Mode type parameter.

robovero.lpc17xx_can.PARAM_CANAFRAMx(x)

Macro to determine if it is valid CANAF RAM or not.

robovero.lpc17xx_can.PARAM_CANAFx(x)

Macro to determine if it is valid CANAF or not.

robovero.lpc17xx_can.PARAM_CANCRx(x)

Macro to determine if it is valid CANCR or not.

robovero.lpc17xx_can.PARAM_CANx(x)

Macro to determine if it is valid CAN peripheral or not.

robovero.lpc17xx_can.PARAM_CR_STS_TYPE(n)

Macro to check CR status type.

robovero.lpc17xx_can.PARAM_CTRL(n)

Macro define for struct AF_Section parameter.

robovero.lpc17xx_can.PARAM_CTRL_STS_TYPE(n)

Macro to check Control/Central Status type parameter.

robovero.lpc17xx_can.PARAM_DLC(n)

Macro to check DLC value.

robovero.lpc17xx_can.PARAM_FRAME_TYPE(n)

Macro to check Frame type.

robovero.lpc17xx_can.PARAM_FULLCAN_IC(n)
robovero.lpc17xx_can.PARAM_GRP_ID(x, y)

Macro to check Group identifier.

robovero.lpc17xx_can.PARAM_I2S_DATA(data)

Macro to check Data to send valid.

robovero.lpc17xx_can.PARAM_ID_11(n)

Macro to check 11 bit Frame Identifier.

robovero.lpc17xx_can.PARAM_ID_29(n)

Macro to check 29 bit Frame Identifier.

robovero.lpc17xx_can.PARAM_ID_FORMAT(n)

Macro to check ID format type .

robovero.lpc17xx_can.PARAM_INT_EN_TYPE(n)

Macro to check Interrupt Type parameter.

robovero.lpc17xx_can.PARAM_MODE_TYPE(n)

Macro to check Operation Mode.

robovero.lpc17xx_can.PARAM_MSG_DISABLE(n)

Macro define for struct AF_Section parameter.

robovero.lpc17xx_can.PARAM_POSITION(n)

Macro to check position.

robovero.lpc17xx_can.PRAM_I2S_FREQ(freq)

Macro to check frequency value.

class robovero.lpc17xx_can.SFF_Entry(**kwargs)

Bases: robovero.internals.cstruct

Standard ID Frame Format Entry structure.

controller: CAN Controller, should be:

  • CAN1_CTRL: CAN1 Controller
  • CAN2_CTRL: CAN2 Controller

disable: Disable bit, should be:

  • MSG_ENABLE: disable bit = 0
  • MSG_DISABLE: disable bit = 1

id_11: Standard ID should be 11-bit value

ptr: LPC1769 memory address where structure is stored. Use this in place of the C reference operator (&).

class robovero.lpc17xx_can.SFF_GPR_Entry(**kwargs)

Bases: robovero.internals.cstruct

Group of Standard ID Frame Format Entry structure.

controller1: First CAN Controller, should be:

  • CAN1_CTRL: CAN1 Controller
  • CAN2_CTRL: CAN2 Controller

disable1: First Disable bit, should be:

  • MSG_ENABLE: disable bit = 0
  • MSG_DISABLE: disable bit = 1

lowerID: ID lower bound, should be 11-bit value

controller2: Second CAN Controller, should be:

  • CAN1_CTRL: CAN1 Controller
  • CAN2_CTRL: CAN2 Controller

disable2: Second Disable bit, should be:

  • MSG_ENABLE: disable bit = 0
  • MSG_DISABLE: disable bit = 1

upperID: ID upper bound, should be 11-bit value and equal or greater than lowerID

ptr: LPC1769 memory address where structure is stored. Use this in place of the C reference operator (&).