Jump to content

Component: CAN Bus BL0140 (E-blocks 2): Difference between revisions

From Flowcode Help
No edit summary
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder""
 
(12 intermediate revisions by 2 users not shown)
Line 14: Line 14:
==CAN_Bus_BL0140 component==
==CAN_Bus_BL0140 component==


==Component Source Code==
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_EBlocks2_CAN_Bus_BL0140_2d.fcfx FC_Comp_Source_EBlocks2_CAN_Bus_BL0140_2d.fcfx]
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_EBlocks2_CAN_Bus_BL0140_2d.fcfx FC_Comp_Source_EBlocks2_CAN_Bus_BL0140_2d.fcfx]


==Detailed description==
==Detailed description==
Line 52: Line 46:


''<span style="color:red;">No additional examples</span>''
''<span style="color:red;">No additional examples</span>''




Line 57: Line 63:
==Macro reference==
==Macro reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===ChangeRate===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''ChangeRate'''
|-
| colspan="2" | Simple attempt to alter the bus rate of the CAN. External CAN channels only,&nbsp;
|-
|-
| 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) &nbsp;
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Rate
|-
|-
| colspan="2" | Rate: 0-3 where 0=125, 1=250, 2=500, 3=1000&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - 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''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===CheckRx===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTxData'''
| width="90%" class="mtx-class-macrohead" | '''CheckRx'''
|-
|-
| colspan="2" | Assigns one of the outgoing transmit buffers with data ready to be sent.&nbsp;
| colspan="2" | Checks to see if any messages are available for 'Buffer' specified &nbsp;
|-
|-
|-
|-
Line 81: Line 94:
| width="90%" | Buffer
| width="90%" | Buffer
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | Send buffer: 0  to 1&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Count
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
===GetRxData===
{| class="mtx-class-macrotable wikitable"
|-
|-
| colspan="2" | &nbsp;
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''GetRxData'''
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| colspan="2" | Returns last received message data byte at position Index. Buffer parameter is currently ignored&nbsp;
| width="90%" | d0
|-
|-
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | d1
| width="90%" | Buffer
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | d2
| width="90%" | Index
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | d3
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
===GetRxDataCount===
{| class="mtx-class-macrotable wikitable"
|-
|-
| colspan="2" | &nbsp;
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''GetRxDataCount'''
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| colspan="2" | Returns last received message data length. Buffer parameter is currently ignored&nbsp;
| width="90%" | d4
|-
|-
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | d5
| width="90%" | Buffer
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | d6
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | d7
|-
| colspan="2" | &nbsp;
|-
| 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''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===GetRxIDHi===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetRxMask'''
| width="90%" class="mtx-class-macrohead" | '''GetRxIDHi'''
|-
|-
| colspan="2" | Allows the receive ID mask to be configured on the fly allowing different ID ranges to be received.&nbsp;
| colspan="2" | Gets the Hi byte Rx ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous, &nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Mask
| width="90%" | Buffer
|-
|-
| colspan="2" | Specifies which receive mask to modify. Range: 0-1&nbsp;
| colspan="2" | Receive Buffer. Range 0-1&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | ID
|-
| colspan="2" | The ID mask value you wish to use&nbsp;
|-
| 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''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===GetRxIDLo===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxData'''
| width="90%" class="mtx-class-macrohead" | '''GetRxIDLo'''
|-
|-
| colspan="2" | Returns last received message data byte at position Index. Buffer parameter is currently ignored&nbsp;
| colspan="2" | Gets the Lo byte Rx ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous, &nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Buffer
| width="90%" | Buffer
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Index
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | &nbsp;
Line 179: Line 182:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===GetRxIDSimple===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxIDHi'''
| width="90%" class="mtx-class-macrohead" | '''GetRxIDSimple'''
|-
|-
| colspan="2" | Gets the Hi byte Rx ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous, &nbsp;
| colspan="2" | Gets the Rx ID as a Integer Standard ID only 0-2047.&nbsp;
|-
|-
|-
|-
Line 192: Line 196:
| colspan="2" | Receive Buffer. Range 0-1&nbsp;
| colspan="2" | Receive Buffer. Range 0-1&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| 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''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===GetRxIdent===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTxIDSimple'''
| width="90%" class="mtx-class-macrohead" | '''GetRxIdent'''
|-
|-
| colspan="2" | Set the Tx CAN ID as a generic number. Standard IDs only 0-2047. &nbsp;
| colspan="2" | Gets the Rx ID as a Integer Standard and Extended IDs.&nbsp;
|-
|-
|-
|-
Line 208: Line 213:
| width="90%" | Buffer
| width="90%" | Buffer
|-
|-
| colspan="2" | Transmit buffer to load. Range: 0-2&nbsp;
| colspan="2" | &nbsp;
|-
| 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''
|}
 
 
===Initialise===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''Initialise'''
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| colspan="2" | Must be called before any other CAN component macros to enable and initialise the CAN peripheral. &nbsp;
| width="90%" | ID
|-
|-
| colspan="2" | The ID value you wish to use. Range: 0-2047&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 220: Line 234:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===ReadSwitches===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| 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) &nbsp;
|-
|-
| 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''
|}
 
 
===SendBuffer===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SendBuffer'''
| 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.&nbsp;
| colspan="2" | Transmits one of the transmit buffers which should have already been populated with an ID and data.&nbsp;
Line 238: Line 267:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetRxFilter===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxDataCount'''
| width="90%" class="mtx-class-macrohead" | '''SetRxFilter'''
|-
|-
| colspan="2" | Returns last received message data length. Buffer parameter is currently ignored&nbsp;
| colspan="2" | Allows the receive ID filter to be configured on the fly allowing different ID ranges to be received.&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Buffer
| width="90%" | Filter
|-
| colspan="2" | Specifies which receive filter to modify. Range: 0-5&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
| width="90%" | ID
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | The ID filter value you wish to use&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - 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''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetRxFilterID===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetRxFilterID'''
| width="90%" class="mtx-class-macrohead" | '''SetRxFilterID'''
|-
|-
| colspan="2" | sets the Filter Standard mode only  (for V5 compatibility only)&nbsp;
| colspan="2" | sets the Filter Standard mode only  (for V5 compatibility only)&nbsp;
Line 284: Line 320:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetRxMask===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxIDLo'''
| width="90%" class="mtx-class-macrohead" | '''SetRxMask'''
|-
|-
| colspan="2" | Gets the Lo byte Rx ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous, &nbsp;
| colspan="2" | Allows the receive ID mask to be configured on the fly allowing different ID ranges to be received.&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Buffer
| width="90%" | Mask
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | Specifies which receive mask to modify. Range: 0-1&nbsp;
|-
| 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;" | '''SetRxFilter'''
|-
| colspan="2" | Allows the receive ID filter to be configured on the fly allowing different ID ranges to be received.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Filter
|-
| colspan="2" | Specifies which receive filter to modify. Range: 0-5&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
| width="90%" | ID
| width="90%" | ID
|-
|-
| colspan="2" | The ID filter value you wish to use&nbsp;
| colspan="2" | The ID mask value you wish to use&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 325: Line 344:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetRxMaskID===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetRxMaskID'''
| width="90%" class="mtx-class-macrohead" | '''SetRxMaskID'''
|-
|-
| colspan="2" | set the Mask Standard ID mode only (for V5 compatibility) &nbsp;
| colspan="2" | set the Mask Standard ID mode only (for V5 compatibility) &nbsp;
Line 353: Line 373:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetTxData===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTxIdent'''
| width="90%" class="mtx-class-macrohead" | '''SetTxData'''
|-
|-
| colspan="2" | Set the Tx CAN ID as a generic number. Standard and extended IDs Standard 0-2047 Extended 2048-536870911 &nbsp;
| colspan="2" | Assigns one of the outgoing transmit buffers with data ready to be sent.&nbsp;
|-
|-
|-
|-
Line 364: Line 385:
| width="90%" | Buffer
| width="90%" | Buffer
|-
|-
| colspan="2" | Transmit buffer to load. Range: 0-2&nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | ID
| width="90%" | Count
|-
|-
| colspan="2" | The ID or Extended ID value you wish to use. Range: 0-536870911&nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" | d0
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| colspan="2" | &nbsp;
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CheckRx'''
|-
|-
| colspan="2" | Checks to see if any messages are available for 'Buffer' specified &nbsp;
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | d1
|-
|-
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Buffer
| width="90%" | d2
|-
|-
| colspan="2" | Send buffer: 0  to 1&nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" | d3
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| colspan="2" | &nbsp;
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ChangeRate'''
|-
|-
| colspan="2" | Simple attempt to alter the bus rate of the CAN. External CAN channels only,&nbsp;
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | d4
|-
|-
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Rate
| width="90%" | d5
|-
|-
| colspan="2" | Rate: 0-3 where 0=125, 1=250, 2=500, 3=1000&nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" | d6
|}
 
 
{| 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.&nbsp;
|-
|-
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Buffer
| width="90%" | d7
|-
|-
| colspan="2" | Receive Buffer. Range 0-1&nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| 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''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetTxID===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTxID'''
| 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,&nbsp;
| colspan="2" | Set the Tx CAN ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous,&nbsp;
Line 458: Line 466:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetTxIDSimple===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRxIdent'''
| width="90%" class="mtx-class-macrohead" | '''SetTxIDSimple'''
|-
|-
| colspan="2" | Gets the Rx ID as a Integer Standard and Extended IDs.&nbsp;
| colspan="2" | Set the Tx CAN ID as a generic number. Standard IDs only 0-2047. &nbsp;
|-
|-
|-
|-
Line 469: Line 478:
| width="90%" | Buffer
| width="90%" | Buffer
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | Transmit buffer to load. Range: 0-2&nbsp;
|-
| 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&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u32-icon.png]] - ULONG
| 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''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetTxIdent===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ShowLEDs'''
| width="90%" class="mtx-class-macrohead" | '''SetTxIdent'''
|-
|-
| colspan="2" | Set LED state (External CAN only) &nbsp;
| colspan="2" | Set the Tx CAN ID as a generic number. Standard and extended IDs Standard 0-2047 Extended 2048-536870911 &nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | led1
| width="90%" | Buffer
|-
|-
| colspan="2" | Controls LED 1. Range: 0-1&nbsp;
| colspan="2" | Transmit buffer to load. Range: 0-2&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
| width="90%" | led2
| width="90%" | ID
|-
|-
| colspan="2" | Controls LED 2. Range: 0-1&nbsp;
| colspan="2" | The ID or Extended ID value you wish to use. Range: 0-536870911&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 499: Line 514:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===ShowLEDs===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''ShowLEDs'''
|-
| colspan="2" | Set LED state (External CAN only) &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | led1
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| colspan="2" | Controls LED 1. Range: 0-1&nbsp;
| 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. &nbsp;
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | led2
|-
|-
| colspan="2" | Controls LED 2. Range: 0-1&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| 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''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




==Property reference==
==Property reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
|-
|-
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | SPI
| width="90%" class="mtx-class-propfolder" | SPI
|-
|-
|-
|-
Line 581: Line 605:
| colspan="2" | &nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | TX Buffer 0
| width="90%" class="mtx-class-propfolder" | TX Buffer 0
|-
|-
|-
|-
Line 635: Line 659:
| colspan="2" | TX Buffer 0 Data Byte 7&nbsp;
| colspan="2" | TX Buffer 0 Data Byte 7&nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | TX Buffer 1
| width="90%" class="mtx-class-propfolder" | TX Buffer 1
|-
|-
|-
|-
Line 689: Line 713:
| colspan="2" | TX Buffer 1 Data Byte 7&nbsp;
| colspan="2" | TX Buffer 1 Data Byte 7&nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | TX Buffer 2
| width="90%" class="mtx-class-propfolder" | TX Buffer 2
|-
|-
|-
|-
Line 743: Line 767:
| colspan="2" | TX Buffer 2 Data Byte 7&nbsp;
| colspan="2" | TX Buffer 2 Data Byte 7&nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | RX Buffer 0
| width="90%" class="mtx-class-propfolder" | RX Buffer 0
|-
|-
|-
|-
Line 752: Line 776:
| colspan="2" | RX Buffer 0 Message Receive Mode&nbsp;
| colspan="2" | RX Buffer 0 Message Receive Mode&nbsp;
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | RX Buffer 1
| width="90%" class="mtx-class-propfolder" | RX Buffer 1
|-
|-
|-
|-
Line 766: Line 790:
| colspan="2" | &nbsp;
| colspan="2" | &nbsp;
|}
|}
==Component Source Code==
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_EBlocks2_CAN_Bus_BL0140_2d.fcfx FC_Comp_Source_EBlocks2_CAN_Bus_BL0140_2d.fcfx]
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_EBlocks2_CAN_Bus_BL0140_2d.fcfx FC_Comp_Source_EBlocks2_CAN_Bus_BL0140_2d.fcfx]

Latest revision as of 14:36, 13 July 2026

Author
Version 1.0
Category E-blocks 2


CAN_Bus_BL0140 component

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, 
- BYTE Rate
Rate: 0-3 where 0=125, 1=250, 2=500, 3=1000 
- VOID Return


CheckRx

CheckRx
Checks to see if any messages are available for 'Buffer' specified  
- BYTE Buffer
Send buffer: 0 to 1 
- BYTE Return


GetRxData

GetRxData
Returns last received message data byte at position Index. Buffer parameter is currently ignored 
- BYTE Buffer
 
- BYTE Index
 
- BYTE Return


GetRxDataCount

GetRxDataCount
Returns last received message data length. Buffer parameter is currently ignored 
- BYTE Buffer
 
- BYTE Return


GetRxIDHi

GetRxIDHi
Gets the Hi byte Rx ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous,  
- BYTE Buffer
Receive Buffer. Range 0-1 
- BYTE Return


GetRxIDLo

GetRxIDLo
Gets the Lo byte Rx ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous,  
- BYTE Buffer
 
- BYTE Return


GetRxIDSimple

GetRxIDSimple
Gets the Rx ID as a Integer Standard ID only 0-2047. 
- BYTE Buffer
Receive Buffer. Range 0-1 
- UINT Return


GetRxIdent

GetRxIdent
Gets the Rx ID as a Integer Standard and Extended IDs. 
- BYTE Buffer
 
- ULONG Return


Initialise

Initialise
Must be called before any other CAN component macros to enable and initialise the CAN peripheral.  
- VOID 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)  
- BYTE Return


SendBuffer

SendBuffer
Transmits one of the transmit buffers which should have already been populated with an ID and data. 
- BYTE Buffer
Specifies which transmit buffer to send 
- VOID Return


SetRxFilter

SetRxFilter
Allows the receive ID filter to be configured on the fly allowing different ID ranges to be received. 
- BYTE Filter
Specifies which receive filter to modify. Range: 0-5 
- ULONG ID
The ID filter value you wish to use 
- VOID Return


SetRxFilterID

SetRxFilterID
sets the Filter Standard mode only (for V5 compatibility only) 
- BYTE Filter
Specifies which filter to modify. Range: 0-5 
- BYTE Hi
ID bits 3-10 
- BYTE Lo
ID bits 0-2 stored in the upper 3 bits of the byte 
- VOID Return


SetRxMask

SetRxMask
Allows the receive ID mask to be configured on the fly allowing different ID ranges to be received. 
- BYTE Mask
Specifies which receive mask to modify. Range: 0-1 
- ULONG ID
The ID mask value you wish to use 
- VOID Return


SetRxMaskID

SetRxMaskID
set the Mask Standard ID mode only (for V5 compatibility)  
- BYTE Mask
Specifies which receive mask to modify. Range: 0-1 
- BYTE Hi
ID bits 3-10 
- BYTE Lo
ID bits 0-2 stored in the upper 3 bits of the byte 
- VOID Return


SetTxData

SetTxData
Assigns one of the outgoing transmit buffers with data ready to be sent. 
- BYTE Buffer
 
- BYTE Count
 
- BYTE d0
 
- BYTE d1
 
- BYTE d2
 
- BYTE d3
 
- BYTE d4
 
- BYTE d5
 
- BYTE d6
 
- BYTE d7
 
- VOID Return


SetTxID

SetTxID
Set the Tx CAN ID in register format. Standard ID only 0-2047. Compatible with v5 component and previous, 
- BYTE Buffer
Transmit buffer to load. Range: 0-2 
- BYTE Hi
ID bits 3-10 e.g. ((ID & 0x7F8) >> 3) 
- BYTE Lo
ID bits 0-2 stored in the upper 3 bits of the byte e.g. ((ID & 0x7) << 5) 
- VOID Return


SetTxIDSimple

SetTxIDSimple
Set the Tx CAN ID as a generic number. Standard IDs only 0-2047.  
- BYTE Buffer
Transmit buffer to load. Range: 0-2 
- UINT ID
The ID value you wish to use. Range: 0-2047 
- VOID Return


SetTxIdent

SetTxIdent
Set the Tx CAN ID as a generic number. Standard and extended IDs Standard 0-2047 Extended 2048-536870911  
- BYTE Buffer
Transmit buffer to load. Range: 0-2 
- ULONG ID
The ID or Extended ID value you wish to use. Range: 0-536870911 
- VOID Return


ShowLEDs

ShowLEDs
Set LED state (External CAN only)  
- BYTE led1
Controls LED 1. Range: 0-1 
- BYTE led2
Controls LED 2. Range: 0-1 
- VOID Return


Property reference

Properties
SPI
External/Internal
Switches between Internal CAN peripheral and External CAN controller IC MCP2515. 
CHANNEL
SPI Channel selector 
Port
 
INT
 
CS (SS)
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.  
MOSI
SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode. 
MISO
SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode. 
CLK
SPI Clock Pin CLK - The Clock signal is driven by the SPI master. 
Prescale
Prescale option selector 
Sample Point
Data bit read sample point 
Config Delay
 
TX Buffer 0
Message ID
TX Buffer 0 Message Identifier 
Length
TX Buffer 0 Number of data bytes 
D0
TX Buffer 0 Data Byte 0 
D1
TX Buffer 0 Data Byte 1 
D2
TX Buffer 0 Data Byte 2 
D3
TX Buffer 0 Data Byte 3 
D4
TX Buffer 0 Data Byte 4 
D5
TX Buffer 0 Data Byte 5 
D6
TX Buffer 0 Data Byte 6 
D7
TX Buffer 0 Data Byte 7 
TX Buffer 1
Message ID
TX Buffer 1 Message Identifier 
Length
TX Buffer 1 Number of data bytes 
D0
TX Buffer 1 Data Byte 0 
D1
TX Buffer 1 Data Byte 1 
D2
TX Buffer 1 Data Byte 2 
D3
TX Buffer 1 Data Byte 3 
D4
TX Buffer 1 Data Byte 4 
D5
TX Buffer 1 Data Byte 5 
D6
TX Buffer 1 Data Byte 6 
D7
TX Buffer 1 Data Byte 7 
TX Buffer 2
Message ID
TX Buffer 2 Message Identifier 
Length
TX Buffer 2 Number of data bytes 
D0
TX Buffer 2 Data Byte 0 
D1
TX Buffer 2 Data Byte 1 
D2
TX Buffer 2 Data Byte 2 
D3
TX Buffer 2 Data Byte 3 
D4
TX Buffer 2 Data Byte 4 
D5
TX Buffer 2 Data Byte 5 
D6
TX Buffer 2 Data Byte 6 
D7
TX Buffer 2 Data Byte 7 
RX Buffer 0
Settings
RX Buffer 0 Message Receive Mode 
RX Buffer 1
Settings
RX Buffer 1 Message Receive Mode 
Simulate SPI Comms
 

Component Source Code

Please click here to download the component source project: FC_Comp_Source_EBlocks2_CAN_Bus_BL0140_2d.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_EBlocks2_CAN_Bus_BL0140_2d.fcfx