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 | 
Contents
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
| TransmitBusy | |
| Checks to see if the RMT channel is currently transmitting. Returns 1 if transmitting and 0 if transmission is complete. | |
| Return | |
| Transmit | |
| Sends out the RMT data buffer. | |
| WaitWhileComplete | |
| 0=Dont Wait, 1=Wait for TX to complete | |
| Return | |
| Initialise | |
| Initialises the RMT module ready for data to be sent or received. | |
| Return | |
Property reference
==Macro reference==
| TransmitBusy | |
| Checks to see if the RMT channel is currently transmitting. Returns 1 if transmitting and 0 if transmission is complete. | |
| Return | |
| Transmit | |
| Sends out the RMT data buffer. | |
| WaitWhileComplete | |
| 0=Dont Wait, 1=Wait for TX to complete | |
| Return | |
| Initialise | |
| Initialises the RMT module ready for data to be sent or received. | |
| Return | |
Property reference
==Macro reference==
| TransmitBusy | |
| Checks to see if the RMT channel is currently transmitting. Returns 1 if transmitting and 0 if transmission is complete. | |
| Return | |
| Transmit | |
| Sends out the RMT data buffer. | |
| WaitWhileComplete | |
| 0=Dont Wait, 1=Wait for TX to complete | |
| Return | |
| Initialise | |
| Initialises the RMT module ready for data to be sent or received. | |
| Return | |