Component: CAN (Internal, MCP2515) (Comms: Interface): Difference between revisions
Appearance
m Text replacement - "class="wikitable" style="width:60%; background-color:#FFFFFF;"" to "class="mtx-class-macrotable wikitable"" |
m Text replacement - "width="10%" align="center" style="background-color:#D8C9D8;" align="center"" to "width="10%" align="center" class="mtx-class-macrohead"" |
||
| Line 38: | Line 38: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ChangeRate''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ChangeRate''' | ||
|- | |- | ||
| Line 57: | Line 57: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CheckRx''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CheckRx''' | ||
|- | |- | ||
| Line 76: | Line 76: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxData''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxData''' | ||
|- | |- | ||
| Line 100: | Line 100: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxDataCount''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxDataCount''' | ||
|- | |- | ||
| Line 119: | Line 119: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxIDHi''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxIDHi''' | ||
|- | |- | ||
| Line 138: | Line 138: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxIDLo''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxIDLo''' | ||
|- | |- | ||
| Line 157: | Line 157: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxIDSimple''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxIDSimple''' | ||
|- | |- | ||
| Line 176: | Line 176: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxIdent''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxIdent''' | ||
|- | |- | ||
| Line 195: | Line 195: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise''' | ||
|- | |- | ||
| Line 209: | Line 209: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadSwitches''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadSwitches''' | ||
|- | |- | ||
| Line 223: | Line 223: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendBuffer''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendBuffer''' | ||
|- | |- | ||
| Line 242: | Line 242: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetRxFilter''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetRxFilter''' | ||
|- | |- | ||
| Line 266: | Line 266: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetRxFilterID''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetRxFilterID''' | ||
|- | |- | ||
| Line 295: | Line 295: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetRxMask''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetRxMask''' | ||
|- | |- | ||
| Line 319: | Line 319: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetRxMaskID''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetRxMaskID''' | ||
|- | |- | ||
| Line 348: | Line 348: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTxData''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTxData''' | ||
|- | |- | ||
| Line 412: | Line 412: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTxID''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTxID''' | ||
|- | |- | ||
| Line 441: | Line 441: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTxIDSimple''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTxIDSimple''' | ||
|- | |- | ||
| Line 465: | Line 465: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTxIdent''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTxIdent''' | ||
|- | |- | ||
| Line 489: | Line 489: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ShowLEDs''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ShowLEDs''' | ||
|- | |- | ||
Revision as of 14:17, 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 | |