Difference between revisions of "Component: RMT (Internal) (Misc)"

From Flowcode Help
Jump to navigationJump to search
Line 16: Line 16:
  
 
==Component Source Code==
 
==Component Source Code==
 +
 +
Please click here to download the component source project: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_RMT.fcfx FC_Comp_Source_RMT.fcfx]
  
 
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_RMT.fcfx FC_Comp_Source_RMT.fcfx]
 
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_RMT.fcfx FC_Comp_Source_RMT.fcfx]
  
 
==Detailed description==
 
==Detailed description==
 +
 +
  
  
Line 40: Line 44:
  
 
==Examples==
 
==Examples==
 +
 +
  
  
Line 60: Line 66:
  
 
==Macro reference==
 
==Macro reference==
 +
 +
{| 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;" | '''TransmitBusy'''
 +
|-
 +
| colspan="2" | Checks to see if the RMT channel is currently transmitting. Returns 1 if transmitting and 0 if transmission is complete. 
 +
|-
 +
|-
 +
| 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;" | '''SetBuffer'''
 +
|-
 +
| colspan="2" | Writes data to the RMT buffer 
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Index
 +
|-
 +
| colspan="2" | Array index, Range: 0 - (BufferSize - 1) 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 +
| width="90%" | State0
 +
|-
 +
| colspan="2" | The first state to output 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Length0
 +
|-
 +
| colspan="2" | The length of the first output state in divided clock periods 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 +
| width="90%" | State1
 +
|-
 +
| colspan="2" | The second state to output 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Length1
 +
|-
 +
| colspan="2" | The length of the second output state in divided clock periods 
 +
|-
 +
| 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;" | '''Transmit'''
 +
|-
 +
| colspan="2" | Sends out the RMT data buffer. 
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | WaitWhileComplete
 +
|-
 +
| colspan="2" | 0=Dont Wait, 1=Wait for TX to complete 
 +
|-
 +
| 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;" | '''Initialise'''
 +
|-
 +
| colspan="2" | Initialises the RMT module ready for data to be sent or received. 
 +
|-
 +
|-
 +
| 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''
 +
|}
 +
 +
 +
 +
 +
==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%" | Mode
 +
|-
 +
| colspan="2" | Controls if we are transmitting or receiving data 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 +
| width="90%" | Pin
 +
|-
 +
| colspan="2" | Pin to assign the RMT functionality 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 +
| width="90%" | Clock Divider
 +
|-
 +
| colspan="2" | Base Clock speed is 80MHz. Div by 1 = 80MHz Div by 2 = 40MHz Div by 4 = 20MHz Div by 8 = 10MHz 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 +
| width="90%" | Mem Block Num
 +
|-
 +
| colspan="2" | Starting RMT memory block 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 +
| width="90%" | Buffer Size
 +
|-
 +
| colspan="2" | Number of values inside the data buffer, 64 = 1 Block A buffer size of 128 would consume two sequential blocks of memory. If starting at block 1 then you can have a maximum buffer size of 512 consuming all 8 blocks.  
 +
|-
 +
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 +
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Tx Properties
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 +
| width="90%" | TX Loop Enable
 +
|-
 +
| colspan="2" | Allows the transmit buffer to be constantly looped. 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 +
| width="90%" | TX Carrier Enable
 +
|-
 +
| colspan="2" | Enables a carrier frequency to be overlaid on the transmitted data 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 +
| width="90%" | TX Idle Output
 +
|-
 +
| colspan="2" | When not transmitting should the Transmit pin be an active output? 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 +
| width="90%" | TX Idle Level
 +
|-
 +
| colspan="2" | Sets the output state when idle. 
 +
|}==Macro reference==
  
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"

Revision as of 15:24, 20 January 2023

Author Matrix TSL
Version 2.0
Category Misc


RMT (Internal) component

Provides access to the onboard remote control (RMT) peripheral allowing for high speed data input / output without requiring bit banging from the ESP32 processor.

Component Source Code

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

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

Detailed description

No detailed description exists yet for this component

Examples

No additional examples

Macro reference

Fc9-comp-macro.png TransmitBusy
Checks to see if the RMT channel is currently transmitting. Returns 1 if transmitting and 0 if transmission is complete. 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png SetBuffer
Writes data to the RMT buffer 
Fc9-u16-icon.png - UINT Index
Array index, Range: 0 - (BufferSize - 1) 
Fc9-bool-icon.png - BOOL State0
The first state to output 
Fc9-u16-icon.png - UINT Length0
The length of the first output state in divided clock periods 
Fc9-bool-icon.png - BOOL State1
The second state to output 
Fc9-u16-icon.png - UINT Length1
The length of the second output state in divided clock periods 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png Transmit
Sends out the RMT data buffer. 
Fc9-u8-icon.png - BYTE WaitWhileComplete
0=Dont Wait, 1=Wait for TX to complete 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png Initialise
Initialises the RMT module ready for data to be sent or received. 
Fc9-void-icon.png - VOID Return



Property reference

Fc9-prop-icon.png Properties
Fc9-type-16-icon.png Mode
Controls if we are transmitting or receiving data 
Fc9-type-5-icon.png Pin
Pin to assign the RMT functionality 
Fc9-type-21-icon.png Clock Divider
Base Clock speed is 80MHz. Div by 1 = 80MHz Div by 2 = 40MHz Div by 4 = 20MHz Div by 8 = 10MHz 
Fc9-type-16-icon.png Mem Block Num
Starting RMT memory block 
Fc9-type-21-icon.png Buffer Size
Number of values inside the data buffer, 64 = 1 Block A buffer size of 128 would consume two sequential blocks of memory. If starting at block 1 then you can have a maximum buffer size of 512 consuming all 8 blocks.  
Fc9-conn-icon.png Tx Properties
Fc9-type-7-icon.png TX Loop Enable
Allows the transmit buffer to be constantly looped. 
Fc9-type-7-icon.png TX Carrier Enable
Enables a carrier frequency to be overlaid on the transmitted data 
Fc9-type-7-icon.png TX Idle Output
When not transmitting should the Transmit pin be an active output? 
Fc9-type-16-icon.png TX Idle Level
Sets the output state when idle. 

==Macro reference==

Fc9-comp-macro.png TransmitBusy
Checks to see if the RMT channel is currently transmitting. Returns 1 if transmitting and 0 if transmission is complete. 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png SetBuffer
Writes data to the RMT buffer 
Fc9-u16-icon.png - UINT Index
Array index, Range: 0 - (BufferSize - 1) 
Fc9-bool-icon.png - BOOL State0
The first state to output 
Fc9-u16-icon.png - UINT Length0
The length of the first output state in divided clock periods 
Fc9-bool-icon.png - BOOL State1
The second state to output 
Fc9-u16-icon.png - UINT Length1
The length of the second output state in divided clock periods 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png Transmit
Sends out the RMT data buffer. 
Fc9-u8-icon.png - BYTE WaitWhileComplete
0=Dont Wait, 1=Wait for TX to complete 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png Initialise
Initialises the RMT module ready for data to be sent or received. 
Fc9-void-icon.png - VOID Return



Property reference

Fc9-prop-icon.png Properties
Fc9-type-16-icon.png Mode
Controls if we are transmitting or receiving data 
Fc9-type-5-icon.png Pin
Pin to assign the RMT functionality 
Fc9-type-21-icon.png Clock Divider
Base Clock speed is 80MHz. Div by 1 = 80MHz Div by 2 = 40MHz Div by 4 = 20MHz Div by 8 = 10MHz 
Fc9-type-16-icon.png Mem Block Num
Starting RMT memory block 
Fc9-type-21-icon.png Buffer Size
Number of values inside the data buffer, 64 = 1 Block A buffer size of 128 would consume two sequential blocks of memory. If starting at block 1 then you can have a maximum buffer size of 512 consuming all 8 blocks.  
Fc9-conn-icon.png Tx Properties
Fc9-type-7-icon.png TX Loop Enable
Allows the transmit buffer to be constantly looped. 
Fc9-type-7-icon.png TX Carrier Enable
Enables a carrier frequency to be overlaid on the transmitted data 
Fc9-type-7-icon.png TX Idle Output
When not transmitting should the Transmit pin be an active output? 
Fc9-type-16-icon.png TX Idle Level
Sets the output state when idle. 

==Macro reference==

Fc9-comp-macro.png TransmitBusy
Checks to see if the RMT channel is currently transmitting. Returns 1 if transmitting and 0 if transmission is complete. 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png SetBuffer
Writes data to the RMT buffer 
Fc9-u16-icon.png - UINT Index
Array index, Range: 0 - (BufferSize - 1) 
Fc9-bool-icon.png - BOOL State0
The first state to output 
Fc9-u16-icon.png - UINT Length0
The length of the first output state in divided clock periods 
Fc9-bool-icon.png - BOOL State1
The second state to output 
Fc9-u16-icon.png - UINT Length1
The length of the second output state in divided clock periods 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png Transmit
Sends out the RMT data buffer. 
Fc9-u8-icon.png - BYTE WaitWhileComplete
0=Dont Wait, 1=Wait for TX to complete 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png Initialise
Initialises the RMT module ready for data to be sent or received. 
Fc9-void-icon.png - VOID Return



Property reference

Fc9-prop-icon.png Properties
Fc9-type-16-icon.png Mode
Controls if we are transmitting or receiving data 
Fc9-type-5-icon.png Pin
Pin to assign the RMT functionality 
Fc9-type-21-icon.png Clock Divider
Base Clock speed is 80MHz. Div by 1 = 80MHz Div by 2 = 40MHz Div by 4 = 20MHz Div by 8 = 10MHz 
Fc9-type-16-icon.png Mem Block Num
Starting RMT memory block 
Fc9-type-21-icon.png Buffer Size
Number of values inside the data buffer, 64 = 1 Block A buffer size of 128 would consume two sequential blocks of memory. If starting at block 1 then you can have a maximum buffer size of 512 consuming all 8 blocks.  
Fc9-conn-icon.png Tx Properties
Fc9-type-7-icon.png TX Loop Enable
Allows the transmit buffer to be constantly looped. 
Fc9-type-7-icon.png TX Carrier Enable
Enables a carrier frequency to be overlaid on the transmitted data 
Fc9-type-7-icon.png TX Idle Output
When not transmitting should the Transmit pin be an active output? 
Fc9-type-16-icon.png TX Idle Level
Sets the output state when idle.