Difference between revisions of "Component: CAN (Internal, MCP2515) (Comms: Interface)"
(XML import) |
|||
Line 1: | Line 1: | ||
− | + | {| style="width:50%" | |
− | |||
− | {| | ||
|- | |- | ||
− | | width="20%" style="color: gray;" | Author | + | | width="20%" style="color:gray;" | Author |
| Matrix Ltd | | Matrix Ltd | ||
|- | |- | ||
− | | width="20%" style="color: gray;" | Version | + | | width="20%" style="color:gray;" | Version |
− | | 2. | + | | 2.9 |
|- | |- | ||
− | | width="20%" style="color: gray;" | Category | + | | width="20%" style="color:gray;" | Category |
| Comms: Interface | | 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. | ||
− | == | + | ==Detailed description== |
− | + | ||
− | + | ''No detailed description exists yet for this component'' | |
− | |||
==Examples== | ==Examples== | ||
+ | |||
+ | |||
===Internal CAN schematic=== | ===Internal CAN schematic=== | ||
Line 192: | Line 193: | ||
==Downloadable macro reference== | ==Downloadable macro reference== | ||
− | === | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
− | Returns switch input states from the external MCP2515 device. | + | |- |
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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) | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | |||
− | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTxData''' | ||
+ | |- | ||
+ | | colspan="2" | Assigns one of the outgoing transmit buffers with data ready to be sent. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Buffer | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Count | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | d0 | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | d1 | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | d2 | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | d3 | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | d4 | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | d5 | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | d6 | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | d7 | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | |||
− | :'' | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetRxMask''' | ||
+ | |- | ||
+ | | colspan="2" | Allows the receive ID mask to be configured on the fly allowing different ID ranges to be received. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Mask | ||
+ | |- | ||
+ | | colspan="2" | Specifies which receive mask to modify. Range: 0-1 | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | ||
+ | | width="90%" | ID | ||
+ | |- | ||
+ | | colspan="2" | The ID mask value you wish to use | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | '''Return | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxData''' | ||
+ | |- | ||
+ | | colspan="2" | Returns last received message data byte at position Index. Buffer parameter is currently ignored | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Buffer | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Index | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | |||
+ | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxIDHi''' | ||
+ | |- | ||
+ | | colspan="2" | Gets the Hi byte Rx ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous, | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Buffer | ||
+ | |- | ||
+ | | colspan="2" | Receive Buffer. Range 0-1 | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | |||
− | |||
− | ''' | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTxIDSimple''' | ||
+ | |- | ||
+ | | colspan="2" | Set the Tx CAN ID as a generic number. Standard IDs only 0-2047. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Buffer | ||
+ | |- | ||
+ | | colspan="2" | Transmit buffer to load. Range: 0-2 | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
+ | | width="90%" | ID | ||
+ | |- | ||
+ | | colspan="2" | The ID value you wish to use. Range: 0-2047 | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | |||
− | :[[ | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendBuffer''' | ||
+ | |- | ||
+ | | colspan="2" | Transmits one of the transmit buffers which should have already been populated with an ID and data. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Buffer | ||
+ | |- | ||
+ | | colspan="2" | Specifies which transmit buffer to send | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | |||
− | :[[ | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxDataCount''' | ||
+ | |- | ||
+ | | colspan="2" | Returns last received message data length. Buffer parameter is currently ignored | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Buffer | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | |||
− | :[[ | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetRxFilterID''' | ||
+ | |- | ||
+ | | colspan="2" | sets the Filter Standard mode only (for V5 compatibility only) | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Filter | ||
+ | |- | ||
+ | | colspan="2" | Specifies which filter to modify. Range: 0-5 | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Hi | ||
+ | |- | ||
+ | | colspan="2" | ID bits 3-10 | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Lo | ||
+ | |- | ||
+ | | colspan="2" | ID bits 0-2 stored in the upper 3 bits of the byte | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | |||
− | :[[ | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxIDLo''' | ||
+ | |- | ||
+ | | colspan="2" | Gets the Lo byte Rx ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous, | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Buffer | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | |||
− | :[[ | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetRxMaskID''' | ||
+ | |- | ||
+ | | colspan="2" | set the Mask Standard ID mode only (for V5 compatibility) | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Mask | ||
+ | |- | ||
+ | | colspan="2" | Specifies which receive mask to modify. Range: 0-1 | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Hi | ||
+ | |- | ||
+ | | colspan="2" | ID bits 3-10 | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Lo | ||
+ | |- | ||
+ | | colspan="2" | ID bits 0-2 stored in the upper 3 bits of the byte | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | ''' | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetRxFilter''' | ||
+ | |- | ||
+ | | colspan="2" | Allows the receive ID filter to be configured on the fly allowing different ID ranges to be received. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Filter | ||
+ | |- | ||
+ | | colspan="2" | Specifies which receive filter to modify. Range: 0-5 | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | ||
+ | | width="90%" | ID | ||
+ | |- | ||
+ | | colspan="2" | The ID filter value you wish to use | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | |||
+ | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTxIdent''' | ||
+ | |- | ||
+ | | colspan="2" | Set the Tx CAN ID as a generic number. Standard and extended IDs Standard 0-2047 Extended 2048-536870911 | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Buffer | ||
+ | |- | ||
+ | | colspan="2" | Transmit buffer to load. Range: 0-2 | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | ||
+ | | width="90%" | ID | ||
+ | |- | ||
+ | | colspan="2" | The ID or Extended ID value you wish to use. Range: 0-536870911 | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | |||
− | |||
− | ''' | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CheckRx''' | ||
+ | |- | ||
+ | | colspan="2" | Checks to see if any messages are available for 'Buffer' specified | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Buffer | ||
+ | |- | ||
+ | | colspan="2" | Send buffer: 0 to 1 | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | |||
− | |||
− | :[[ | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
− | :: | + | |- |
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxIDSimple''' | ||
+ | |- | ||
+ | | colspan="2" | Gets the Rx ID as a Integer Standard ID only 0-2047. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Buffer | ||
+ | |- | ||
+ | | colspan="2" | Receive Buffer. Range 0-1 | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | '''Return | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTxID''' | ||
+ | |- | ||
+ | | colspan="2" | Set the Tx CAN ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous, | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Buffer | ||
+ | |- | ||
+ | | colspan="2" | Transmit buffer to load. Range: 0-2 | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Hi | ||
+ | |- | ||
+ | | colspan="2" | ID bits 3-10 e.g. ((ID & 0x7F8) >> 3) | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Lo | ||
+ | |- | ||
+ | | colspan="2" | ID bits 0-2 stored in the upper 3 bits of the byte e.g. ((ID & 0x7) << 5) | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | |||
+ | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ShowLEDs''' | ||
+ | |- | ||
+ | | colspan="2" | Set LED state (External CAN only) | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | led1 | ||
+ | |- | ||
+ | | colspan="2" | Controls LED 1. Range: 0-1 | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | led2 | ||
+ | |- | ||
+ | | colspan="2" | Controls LED 2. Range: 0-1 | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | |||
− | |||
− | Buffer | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxIdent''' | ||
+ | |- | ||
+ | | colspan="2" | Gets the Rx ID as a Integer Standard and Extended IDs. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Buffer | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u32-icon.png]] - ULONG | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |
− | + | |- | |
− | + | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |
− | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise''' | |
− | + | |- | |
− | + | | colspan="2" | Must be called before any other CAN component macros to enable and initialise the CAN peripheral. | |
− | + | |- | |
− | + | |- | |
− | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |
− | == | + | | width="90%" style="border-top: 2px solid #000;" | ''Return'' |
− | + | |} | |
− | |||
− | |||
− | |||
− | ' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Line 567: | Line 633: | ||
==Property reference== | ==Property reference== | ||
− | |||
− | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |
− | + | |- | |
− | + | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]] | |
− | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties''' | |
− | + | |- | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | Channel | |
− | + | |- | |
− | + | | colspan="2" | Switches between Internal CAN peripheral and External CAN controller IC MCP2515. | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | Controller Osc | |
− | + | |- | |
− | + | | colspan="2" | | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | Bus Rate | |
− | + | |- | |
− | + | | colspan="2" | Data rate of the bus specified in thousand bits per second, Kbps. | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | Sync Jump Width | |
− | + | |- | |
− | + | | colspan="2" | Defines how far a resyncronisation may move the sample point | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | Sample Point | |
− | + | |- | |
− | + | | colspan="2" | Point in each bit period where the incoming data is sampled. | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | ID Type | |
− | + | |- | |
− | + | | colspan="2" | Switches between using Standard, or Standard and Extended CAN | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | One Shot Mode | |
− | + | |- | |
− | + | | colspan="2" | Disabled. Messages will reattempt transmission Enabled. Message will only attempt to transmit once | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | CHANNEL | |
− | + | |- | |
− | + | | colspan="2" | SPI Channel selector | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |
− | + | | width="90%" | MOSI | |
− | + | |- | |
− | + | | colspan="2" | SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode. | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |
− | + | | width="90%" | MISO | |
− | + | |- | |
− | + | | colspan="2" | SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode. | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |
− | + | | width="90%" | CLK | |
− | + | |- | |
− | + | | colspan="2" | SPI Clock Pin CLK - The Clock signal is driven by the SPI master. | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |
− | + | | width="90%" | SS | |
− | + | |- | |
− | + | | colspan="2" | Chip Select / Slave Select Pin Master Mode: General purpose output pin used to select the remote SPI device. Slave Mode: Hardware chip select pin input used to select the SPI device. | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | Prescale | |
− | + | |- | |
− | + | | colspan="2" | Prescale option selector | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | Sample Point | |
− | + | |- | |
− | + | | colspan="2" | Data bit read sample point | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | Config Delay | |
− | + | |- | |
− | + | | colspan="2" | | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |
− | + | | width="90%" | TX Pin | |
− | + | |- | |
− | + | | colspan="2" | Internal CAN TX Pin | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | TX Remap | |
− | + | |- | |
− | + | | colspan="2" | Internal CAN Tx Remap Pin | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |
− | + | | width="90%" | RX Pin | |
− | + | |- | |
− | + | | colspan="2" | Internal CAN Rx Pin | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | RX Remap | |
− | + | |- | |
− | + | | colspan="2" | Internal CAN Rx Remap Pin | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | Message ID | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 0 Message Identifier | |
− | + | |- | |
− | TX | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] |
− | + | | width="90%" | Length | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 0 Number of data bytes | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | TX | + | | width="90%" | D0 |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 0 Data Byte 0 | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | D1 | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 0 Data Byte 1 | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | D2 | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 0 Data Byte 2 | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | D3 | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 0 Data Byte 3 | |
− | TX Buffer | + | |- |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | D4 | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 0 Data Byte 4 | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | D5 | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 0 Data Byte 5 | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | TX Buffer | + | | width="90%" | D6 |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 0 Data Byte 6 | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | D7 | |
− | TX Buffer | + | |- |
− | + | | colspan="2" | TX Buffer 0 Data Byte 7 | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | Message ID | |
− | + | |- | |
− | TX Buffer | + | | colspan="2" | TX Buffer 1 Message Identifier |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | Length | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 1 Number of data bytes | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | D0 | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 1 Data Byte 0 | |
− | + | |- | |
− | TX Buffer | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] |
− | + | | width="90%" | D1 | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 1 Data Byte 1 | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | TX Buffer | + | | width="90%" | D2 |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 1 Data Byte 2 | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | D3 | |
− | TX Buffer | + | |- |
− | + | | colspan="2" | TX Buffer 1 Data Byte 3 | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | D4 | |
− | + | |- | |
− | TX Buffer | + | | colspan="2" | TX Buffer 1 Data Byte 4 |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | D5 | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 1 Data Byte 5 | |
− | TX Buffer | + | |- |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | D6 | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 1 Data Byte 6 | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | D7 | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 1 Data Byte 7 | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | TX Buffer | + | | width="90%" | Message ID |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 2 Message Identifier | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | Length | |
− | TX Buffer | + | |- |
− | + | | colspan="2" | TX Buffer 2 Number of data bytes | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | D0 | |
− | + | |- | |
− | TX Buffer | + | | colspan="2" | TX Buffer 2 Data Byte 0 |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | D1 | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 2 Data Byte 1 | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | D2 | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 2 Data Byte 2 | |
− | + | |- | |
− | TX Buffer | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] |
− | + | | width="90%" | D3 | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 2 Data Byte 3 | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | D4 | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 2 Data Byte 4 | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | D5 | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 2 Data Byte 5 | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | D6 | |
− | + | |- | |
− | + | | colspan="2" | TX Buffer 2 Data Byte 6 | |
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | ||
+ | | width="90%" | D7 | ||
+ | |- | ||
+ | | colspan="2" | TX Buffer 2 Data Byte 7 | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | ||
+ | | width="90%" | Settings | ||
+ | |- | ||
+ | | colspan="2" | RX Buffer 0 Message Receive Mode | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | ||
+ | | width="90%" | Settings | ||
+ | |- | ||
+ | | colspan="2" | RX Buffer 1 Message Receive Mode | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | ||
+ | | width="90%" | Scope Traces | ||
+ | |- | ||
+ | | colspan="2" | Selects if the scope traces are automatically generated or not | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | ||
+ | | width="90%" | Console Data | ||
+ | |- | ||
+ | | colspan="2" | Selects if the console data is automatically generated or not | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | ||
+ | | width="90%" | API | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Connections''' | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Simulations''' | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-10-icon.png]] | ||
+ | | width="90%" | Label | ||
+ | |- | ||
+ | | colspan="2" | Comms Flasher Identification Label | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | ||
+ | | width="90%" | Simulate SPI Comms | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |} |
Revision as of 16:53, 16 November 2021
Author | Matrix Ltd |
Version | 2.9 |
Category | Comms: Interface |
Contents
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.
Detailed description
No detailed description exists yet for this component
Examples
Internal CAN schematic
External CAN schematic
CAN Message Decoding
The CAN component works together with the injector component to allow you to decode a CAN message ID into a meaningful command.
Example File
CAN_Example1
When a key on the keypad is pressed the CAN components transmits a CAN packet.
The CAN packet is decoded by the injector component to give us a meaningful log on the console window.
High Level CAN Data Console
Low Level CAN Data Console
Reference from CAN Injector to ID decode file, $(srcdir) refers to the current project directory.
Demo CAN ID file File:CANID.csv
CAN Masks and Filters
How to work out which messages will be trapped by a particular mask/filter combination
Note that all values for message id's, masks and filters are numbers between 0x000 and 0x7FF.
Example 1
Mask0 = 0x0FF
Filter0 = 0x100
Filter1 = 0x050
In binary, this looks like:
Mask0 = 000 1111 1111
Filter0 = 001 0000 0000
Filter1 = 000 0101 0000
For the mask, a "1" signifies "check this bit" and a "0" means "ignore this bit"
So, these filters will accept the following messages ("x" = don't care)
Filter0 = xxx 0000 0000
Filter1 = xxx 0101 0000
i.e.
Filter0 = 0x000, 0x100, 0x200, 0x300, 0x400, 0x500, 0x600, 0x700
Filter1 = 0x050, 0x150, 0x250, 0x350, 0x450, 0x550, 0x650, 0x750
Example 2
Mask1 = 0x350
Filter2 = 0x200
Filter3 = 0x123
Filter4 = 0x3FF
Rewriting in binary:
Mask1 = 111 0101 0000
Filter2 = 010 0000 0000
Filter3 = 001 0010 0011
Filter4 = 111 1111 1111
Here, the mask will only check 4 bits and ignore the other 6. Here's what the filters will accept:
Filter2 = 010 x0x0 xxxx
Filter3 = 001 x0x0 xxxx
Filter4 = 111 x1x1 xxxx
They will actually trap a lot of messages (64 each!):
Filter2 = 0x200, 0x201, 0x202, ... 0x220, 0x221, ... 0x280, 0x281, ... 0x2A0, 0x2A1, ... 0x2AF
Filter3 = 0x100, 0x101, 0x102, ... 0x120, 0x121, ... 0x180, 0x181, ... 0x1A0, 0x1A1, ... 0x1AF
Filter4 = 0x750, 0x751, 0x752, ... 0x770, 0x771, ... 0x7D0, 0x7D1, ... 0x7F0, 0x7F1, ... 0x7FF
This second example is not very practical. In general, it is more logical to set the mask so that each filter accepts a consecutive range of messages.
As you can see, the mask determines which bits of the filters are actually looked at. Setting the mask to 0x000 will effectively mean that the filter will accept any incoming message. Also, the value of the mask directly relates to how many messages each filter will trap - i.e. 2^(number of '0' bits in the mask).
A useful way to use the mask would be to ignore the least significant bits. Lets say that you wanted the filters to accept 16 messages each - setting the Mask0 to 0x7F0 would achieve this. Then, setting the filters to the following:
Filter0 = 0x100
Filter1 = 0x110
would mean that the following messages are accepted:
Filter0 = 0x100, 0x101, 0x102, 0x103, 0x104, ... 0x10D, 0x10E, 0x10F
Filter1 = 0x110, 0x111, 0x112, 0x113, 0x114, ... 0x11D, 0x11E, 0x11F
Of course, for simple CAN applications you may wish to only accept one or two messages. Setting the mask to 0x7FF in this instance would mean that only the message ID specified by each filter would be accepted, e.g.
Mask1 = 0x7FF
Filter2 = 0x100
Filter5 = 0x200
This would mean that only messages 0x100 and 0x200 would be accepted into buffer 1.
Downloadable macro reference
![]() |
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 |
![]() |
GetRxData |
Returns last received message data byte at position Index. Buffer parameter is currently ignored | |
![]() |
Buffer |
![]() |
Index |
![]() |
Return |
![]() |
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 |
![]() |
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 |
![]() |
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 |
![]() |
GetRxDataCount |
Returns last received message data length. Buffer parameter is currently ignored | |
![]() |
Buffer |
![]() |
Return |
![]() |
GetRxIDLo |
Gets the Lo byte Rx ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous, | |
![]() |
Buffer |
![]() |
Return |
![]() |
CheckRx |
Checks to see if any messages are available for 'Buffer' specified | |
![]() |
Buffer |
Send buffer: 0 to 1 | |
![]() |
Return |
![]() |
GetRxIDSimple |
Gets the Rx ID as a Integer Standard ID only 0-2047. | |
![]() |
Buffer |
Receive Buffer. Range 0-1 | |
![]() |
Return |
![]() |
ShowLEDs |
Set LED state (External CAN only) | |
![]() |
led1 |
Controls LED 1. Range: 0-1 | |
![]() |
led2 |
Controls LED 2. Range: 0-1 | |
![]() |
Return |
![]() |
GetRxIdent |
Gets the Rx ID as a Integer Standard and Extended IDs. | |
![]() |
Buffer |
![]() |
Return |
![]() |
Initialise |
Must be called before any other CAN component macros to enable and initialise the CAN peripheral. | |
![]() |
Return |