Component: CAN (Internal, MCP2515) (Comms: Interface): Difference between revisions
Appearance
m Text replacement - "width="10%" align="center" style="background-color:#D8C9D8;" align="center"" to "width="10%" align="center" class="mtx-class-macrohead"" |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 39: | Line 39: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ChangeRate''' | ||
|- | |- | ||
| colspan="2" | Simple attempt to alter the bus rate of the CAN. External CAN channels only, | | colspan="2" | Simple attempt to alter the bus rate of the CAN. External CAN channels only, | ||
| Line 58: | Line 58: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''CheckRx''' | ||
|- | |- | ||
| colspan="2" | Checks to see if any messages are available for 'Buffer' specified | | colspan="2" | Checks to see if any messages are available for 'Buffer' specified | ||
| Line 77: | Line 77: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetRxData''' | ||
|- | |- | ||
| colspan="2" | Returns last received message data byte at position Index. Buffer parameter is currently ignored | | colspan="2" | Returns last received message data byte at position Index. Buffer parameter is currently ignored | ||
| Line 101: | Line 101: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetRxDataCount''' | ||
|- | |- | ||
| colspan="2" | Returns last received message data length. Buffer parameter is currently ignored | | colspan="2" | Returns last received message data length. Buffer parameter is currently ignored | ||
| Line 120: | Line 120: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetRxIDHi''' | ||
|- | |- | ||
| colspan="2" | Gets the Hi byte Rx ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous, | | colspan="2" | Gets the Hi byte Rx ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous, | ||
| Line 139: | Line 139: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetRxIDLo''' | ||
|- | |- | ||
| colspan="2" | Gets the Lo byte Rx ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous, | | colspan="2" | Gets the Lo byte Rx ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous, | ||
| Line 158: | Line 158: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetRxIDSimple''' | ||
|- | |- | ||
| colspan="2" | Gets the Rx ID as a Integer Standard ID only 0-2047. | | colspan="2" | Gets the Rx ID as a Integer Standard ID only 0-2047. | ||
| Line 177: | Line 177: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetRxIdent''' | ||
|- | |- | ||
| colspan="2" | Gets the Rx ID as a Integer Standard and Extended IDs. | | colspan="2" | Gets the Rx ID as a Integer Standard and Extended IDs. | ||
| Line 196: | Line 196: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Initialise''' | ||
|- | |- | ||
| colspan="2" | Must be called before any other CAN component macros to enable and initialise the CAN peripheral. | | colspan="2" | Must be called before any other CAN component macros to enable and initialise the CAN peripheral. | ||
| Line 210: | Line 210: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadSwitches''' | ||
|- | |- | ||
| colspan="2" | Returns switch input states from the external MCP2515 device. 0 = No Switch Pressed, 1 = Switch 1 Pressed, 2 = Switch 2 Pressed, 3 = Both Pressed (External CAN only) | | colspan="2" | Returns switch input states from the external MCP2515 device. 0 = No Switch Pressed, 1 = Switch 1 Pressed, 2 = Switch 2 Pressed, 3 = Both Pressed (External CAN only) | ||
| Line 224: | Line 224: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SendBuffer''' | ||
|- | |- | ||
| colspan="2" | Transmits one of the transmit buffers which should have already been populated with an ID and data. | | colspan="2" | Transmits one of the transmit buffers which should have already been populated with an ID and data. | ||
| Line 243: | Line 243: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetRxFilter''' | ||
|- | |- | ||
| colspan="2" | Allows the receive ID filter to be configured on the fly allowing different ID ranges to be received. | | colspan="2" | Allows the receive ID filter to be configured on the fly allowing different ID ranges to be received. | ||
| Line 267: | Line 267: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetRxFilterID''' | ||
|- | |- | ||
| colspan="2" | sets the Filter Standard mode only (for V5 compatibility only) | | colspan="2" | sets the Filter Standard mode only (for V5 compatibility only) | ||
| Line 296: | Line 296: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetRxMask''' | ||
|- | |- | ||
| colspan="2" | Allows the receive ID mask to be configured on the fly allowing different ID ranges to be received. | | colspan="2" | Allows the receive ID mask to be configured on the fly allowing different ID ranges to be received. | ||
| Line 320: | Line 320: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetRxMaskID''' | ||
|- | |- | ||
| colspan="2" | set the Mask Standard ID mode only (for V5 compatibility) | | colspan="2" | set the Mask Standard ID mode only (for V5 compatibility) | ||
| Line 349: | Line 349: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetTxData''' | ||
|- | |- | ||
| colspan="2" | Assigns one of the outgoing transmit buffers with data ready to be sent. | | colspan="2" | Assigns one of the outgoing transmit buffers with data ready to be sent. | ||
| Line 413: | Line 413: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetTxID''' | ||
|- | |- | ||
| colspan="2" | Set the Tx CAN ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous, | | colspan="2" | Set the Tx CAN ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous, | ||
| Line 442: | Line 442: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetTxIDSimple''' | ||
|- | |- | ||
| colspan="2" | Set the Tx CAN ID as a generic number. Standard IDs only 0-2047. | | colspan="2" | Set the Tx CAN ID as a generic number. Standard IDs only 0-2047. | ||
| Line 466: | Line 466: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetTxIdent''' | ||
|- | |- | ||
| colspan="2" | Set the Tx CAN ID as a generic number. Standard and extended IDs Standard 0-2047 Extended 2048-536870911 | | colspan="2" | Set the Tx CAN ID as a generic number. Standard and extended IDs Standard 0-2047 Extended 2048-536870911 | ||
| Line 490: | Line 490: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ShowLEDs''' | ||
|- | |- | ||
| colspan="2" | Set LED state (External CAN only) | | colspan="2" | Set LED state (External CAN only) | ||
| Line 514: | Line 514: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
| Line 553: | Line 553: | ||
| colspan="2" | Disabled. Messages will reattempt transmission Enabled. Message will only attempt to transmit once | | colspan="2" | Disabled. Messages will reattempt transmission Enabled. Message will only attempt to transmit once | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Connections | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | SPI | ||
|- | |- | ||
|- | |- | ||
| Line 601: | Line 601: | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | TX Buffer 0 | ||
|- | |- | ||
|- | |- | ||
| Line 655: | Line 655: | ||
| colspan="2" | TX Buffer 0 Data Byte 7 | | colspan="2" | TX Buffer 0 Data Byte 7 | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | TX Buffer 1 | ||
|- | |- | ||
|- | |- | ||
| Line 709: | Line 709: | ||
| colspan="2" | TX Buffer 1 Data Byte 7 | | colspan="2" | TX Buffer 1 Data Byte 7 | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | TX Buffer 2 | ||
|- | |- | ||
|- | |- | ||
| Line 763: | Line 763: | ||
| colspan="2" | TX Buffer 2 Data Byte 7 | | colspan="2" | TX Buffer 2 Data Byte 7 | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | RX Buffer 0 | ||
|- | |- | ||
|- | |- | ||
| Line 772: | Line 772: | ||
| colspan="2" | RX Buffer 0 Message Receive Mode | | colspan="2" | RX Buffer 0 Message Receive Mode | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | RX Buffer 1 | ||
|- | |- | ||
|- | |- | ||
| Line 781: | Line 781: | ||
| colspan="2" | RX Buffer 1 Message Receive Mode | | colspan="2" | RX Buffer 1 Message Receive Mode | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Simulation | ||
|- | |- | ||
|- | |- | ||
Latest revision as of 14:36, 13 July 2026
| Author | Matrix Ltd |
| Version | 2.10 |
| Category | Comms: Interface |
CAN (Internal, MCP2515) component
Low level routines for controling the CAN interface either using an external MCP2515 IC and a SPI bus connection or using an internal CAN peripheral if available on your device. Both methods will require a CAN driver IC like the MCP2551 to drive the CAN signals on the bus.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_CAN.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_CAN.fcfx
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
ChangeRate
| ChangeRate | |
| Simple attempt to alter the bus rate of the CAN. External CAN channels only, | |
| Rate | |
| Rate: 0-3 where 0=125, 1=250, 2=500, 3=1000 | |
| Return | |
CheckRx
| CheckRx | |
| Checks to see if any messages are available for 'Buffer' specified | |
| Buffer | |
| Send buffer: 0 to 1 | |
| Return | |
GetRxData
| GetRxData | |
| Returns last received message data byte at position Index. Buffer parameter is currently ignored | |
| Buffer | |
| Index | |
| Return | |
GetRxDataCount
| GetRxDataCount | |
| Returns last received message data length. Buffer parameter is currently ignored | |
| Buffer | |
| Return | |
GetRxIDHi
| GetRxIDHi | |
| Gets the Hi byte Rx ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous, | |
| Buffer | |
| Receive Buffer. Range 0-1 | |
| Return | |
GetRxIDLo
| GetRxIDLo | |
| Gets the Lo byte Rx ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous, | |
| Buffer | |
| Return | |
GetRxIDSimple
| GetRxIDSimple | |
| Gets the Rx ID as a Integer Standard ID only 0-2047. | |
| Buffer | |
| Receive Buffer. Range 0-1 | |
| Return | |
GetRxIdent
| GetRxIdent | |
| Gets the Rx ID as a Integer Standard and Extended IDs. | |
| Buffer | |
| Return | |
Initialise
| Initialise | |
| Must be called before any other CAN component macros to enable and initialise the CAN peripheral. | |
| Return | |
ReadSwitches
| ReadSwitches | |
| Returns switch input states from the external MCP2515 device. 0 = No Switch Pressed, 1 = Switch 1 Pressed, 2 = Switch 2 Pressed, 3 = Both Pressed (External CAN only) | |
| Return | |
SendBuffer
| SendBuffer | |
| Transmits one of the transmit buffers which should have already been populated with an ID and data. | |
| Buffer | |
| Specifies which transmit buffer to send | |
| Return | |
SetRxFilter
SetRxFilterID
SetRxMask
SetRxMaskID
SetTxData
SetTxID
SetTxIDSimple
| SetTxIDSimple | |
| Set the Tx CAN ID as a generic number. Standard IDs only 0-2047. | |
| Buffer | |
| Transmit buffer to load. Range: 0-2 | |
| ID | |
| The ID value you wish to use. Range: 0-2047 | |
| Return | |
SetTxIdent
ShowLEDs
| ShowLEDs | |
| Set LED state (External CAN only) | |
| led1 | |
| Controls LED 1. Range: 0-1 | |
| led2 | |
| Controls LED 2. Range: 0-1 | |
| Return | |