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
- CANx: pointer to CAN peripheral selected, should be:
- 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
- CANx: pointer to CAN peripheral selected, should be:
- 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
- CANx: pointer to CAN peripheral selected, should be:
- 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)
- CANx: pointer to CAN peripheral selected, should be:
- 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
- CANx: pointer to CAN peripheral selected, should be:
- 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
- CANx: pointer to CAN peripheral selected, should be:
- 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
- CANx: pointer to CAN peripheral selected, should be:
- 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
- CANx: pointer to CAN peripheral selected, should be:
- 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
- CANx: pointer to CAN peripheral selected, should be:
- 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 (&).
- For CAN1:
- 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
- EntryType: the type of entry that want to remove, should be:
- 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
- CANx: pointer to CAN peripheral selected, should be:
- 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 (&).