| 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
 
 | 
TransmitBusy
 | 
| Checks to see if the RMT channel is currently transmitting. Returns 1 if transmitting and 0 if transmission is complete. 
 | 
  - BYTE
 | 
Return
 | 
 
 | 
SetBuffer
 | 
| Writes data to the RMT buffer 
 | 
  - UINT
 | 
Index
 | 
| Array index, Range: 0 - (BufferSize - 1) 
 | 
  - BOOL
 | 
State0
 | 
| The first state to output 
 | 
  - UINT
 | 
Length0
 | 
| The length of the first output state in divided clock periods 
 | 
  - BOOL
 | 
State1
 | 
| The second state to output 
 | 
  - UINT
 | 
Length1
 | 
| The length of the second output state in divided clock periods 
 | 
  - VOID
 | 
Return
 | 
 
 | 
Transmit
 | 
| Sends out the RMT data buffer. 
 | 
  - BYTE
 | 
WaitWhileComplete
 | 
| 0=Dont Wait, 1=Wait for TX to complete 
 | 
  - VOID
 | 
Return
 | 
 
 | 
Initialise
 | 
| Initialises the RMT module ready for data to be sent or received. 
 | 
  - VOID
 | 
Return
 | 
Property reference
 
 | 
Properties
 | 
 
 | 
Mode
 | 
| Controls if we are transmitting or receiving data 
 | 
 
 | 
Pin
 | 
| Pin to assign the RMT functionality 
 | 
 
 | 
Clock Divider
 | 
| Base Clock speed is 80MHz. Div by 1 = 80MHz Div by 2 = 40MHz Div by 4 = 20MHz Div by 8 = 10MHz 
 | 
 
 | 
Mem Block Num
 | 
| Starting RMT memory block 
 | 
 
 | 
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.  
 | 
 
 | 
Tx Properties
 | 
 
 | 
TX Loop Enable
 | 
| Allows the transmit buffer to be constantly looped. 
 | 
 
 | 
TX Carrier Enable
 | 
| Enables a carrier frequency to be overlaid on the transmitted data 
 | 
 
 | 
TX Idle Output
 | 
| When not transmitting should the Transmit pin be an active output? 
 | 
 
 | 
TX Idle Level
 | 
| Sets the output state when idle. 
 | 
==Macro reference==
 
 | 
TransmitBusy
 | 
| Checks to see if the RMT channel is currently transmitting. Returns 1 if transmitting and 0 if transmission is complete. 
 | 
  - BYTE
 | 
Return
 | 
 
 | 
SetBuffer
 | 
| Writes data to the RMT buffer 
 | 
  - UINT
 | 
Index
 | 
| Array index, Range: 0 - (BufferSize - 1) 
 | 
  - BOOL
 | 
State0
 | 
| The first state to output 
 | 
  - UINT
 | 
Length0
 | 
| The length of the first output state in divided clock periods 
 | 
  - BOOL
 | 
State1
 | 
| The second state to output 
 | 
  - UINT
 | 
Length1
 | 
| The length of the second output state in divided clock periods 
 | 
  - VOID
 | 
Return
 | 
 
 | 
Transmit
 | 
| Sends out the RMT data buffer. 
 | 
  - BYTE
 | 
WaitWhileComplete
 | 
| 0=Dont Wait, 1=Wait for TX to complete 
 | 
  - VOID
 | 
Return
 | 
 
 | 
Initialise
 | 
| Initialises the RMT module ready for data to be sent or received. 
 | 
  - VOID
 | 
Return
 | 
Property reference
 
 | 
Properties
 | 
 
 | 
Mode
 | 
| Controls if we are transmitting or receiving data 
 | 
 
 | 
Pin
 | 
| Pin to assign the RMT functionality 
 | 
 
 | 
Clock Divider
 | 
| Base Clock speed is 80MHz. Div by 1 = 80MHz Div by 2 = 40MHz Div by 4 = 20MHz Div by 8 = 10MHz 
 | 
 
 | 
Mem Block Num
 | 
| Starting RMT memory block 
 | 
 
 | 
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.  
 | 
 
 | 
Tx Properties
 | 
 
 | 
TX Loop Enable
 | 
| Allows the transmit buffer to be constantly looped. 
 | 
 
 | 
TX Carrier Enable
 | 
| Enables a carrier frequency to be overlaid on the transmitted data 
 | 
 
 | 
TX Idle Output
 | 
| When not transmitting should the Transmit pin be an active output? 
 | 
 
 | 
TX Idle Level
 | 
| Sets the output state when idle. 
 | 
==Macro reference==
 
 | 
TransmitBusy
 | 
| Checks to see if the RMT channel is currently transmitting. Returns 1 if transmitting and 0 if transmission is complete. 
 | 
  - BYTE
 | 
Return
 | 
 
 | 
SetBuffer
 | 
| Writes data to the RMT buffer 
 | 
  - UINT
 | 
Index
 | 
| Array index, Range: 0 - (BufferSize - 1) 
 | 
  - BOOL
 | 
State0
 | 
| The first state to output 
 | 
  - UINT
 | 
Length0
 | 
| The length of the first output state in divided clock periods 
 | 
  - BOOL
 | 
State1
 | 
| The second state to output 
 | 
  - UINT
 | 
Length1
 | 
| The length of the second output state in divided clock periods 
 | 
  - VOID
 | 
Return
 | 
 
 | 
Transmit
 | 
| Sends out the RMT data buffer. 
 | 
  - BYTE
 | 
WaitWhileComplete
 | 
| 0=Dont Wait, 1=Wait for TX to complete 
 | 
  - VOID
 | 
Return
 | 
 
 | 
Initialise
 | 
| Initialises the RMT module ready for data to be sent or received. 
 | 
  - VOID
 | 
Return
 | 
Property reference
 
 | 
Properties
 | 
 
 | 
Mode
 | 
| Controls if we are transmitting or receiving data 
 | 
 
 | 
Pin
 | 
| Pin to assign the RMT functionality 
 | 
 
 | 
Clock Divider
 | 
| Base Clock speed is 80MHz. Div by 1 = 80MHz Div by 2 = 40MHz Div by 4 = 20MHz Div by 8 = 10MHz 
 | 
 
 | 
Mem Block Num
 | 
| Starting RMT memory block 
 | 
 
 | 
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.  
 | 
 
 | 
Tx Properties
 | 
 
 | 
TX Loop Enable
 | 
| Allows the transmit buffer to be constantly looped. 
 | 
 
 | 
TX Carrier Enable
 | 
| Enables a carrier frequency to be overlaid on the transmitted data 
 | 
 
 | 
TX Idle Output
 | 
| When not transmitting should the Transmit pin be an active output? 
 | 
 
 | 
TX Idle Level
 | 
| Sets the output state when idle. 
 | 
==Macro reference==
 
 | 
TransmitBusy
 | 
| Checks to see if the RMT channel is currently transmitting. Returns 1 if transmitting and 0 if transmission is complete. 
 | 
  - BYTE
 | 
Return
 | 
 
 | 
SetBuffer
 | 
| Writes data to the RMT buffer 
 | 
  - UINT
 | 
Index
 | 
| Array index, Range: 0 - (BufferSize - 1) 
 | 
  - BOOL
 | 
State0
 | 
| The first state to output 
 | 
  - UINT
 | 
Length0
 | 
| The length of the first output state in divided clock periods 
 | 
  - BOOL
 | 
State1
 | 
| The second state to output 
 | 
  - UINT
 | 
Length1
 | 
| The length of the second output state in divided clock periods 
 | 
  - VOID
 | 
Return
 | 
 
 | 
Transmit
 | 
| Sends out the RMT data buffer. 
 | 
  - BYTE
 | 
WaitWhileComplete
 | 
| 0=Dont Wait, 1=Wait for TX to complete 
 | 
  - VOID
 | 
Return
 | 
 
 | 
Initialise
 | 
| Initialises the RMT module ready for data to be sent or received. 
 | 
  - VOID
 | 
Return
 | 
Property reference
 
 | 
Properties
 | 
 
 | 
Mode
 | 
| Controls if we are transmitting or receiving data 
 | 
 
 | 
Pin
 | 
| Pin to assign the RMT functionality 
 | 
 
 | 
Clock Divider
 | 
| Base Clock speed is 80MHz. Div by 1 = 80MHz Div by 2 = 40MHz Div by 4 = 20MHz Div by 8 = 10MHz 
 | 
 
 | 
Mem Block Num
 | 
| Starting RMT memory block 
 | 
 
 | 
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.  
 | 
 
 | 
Tx Properties
 | 
 
 | 
TX Loop Enable
 | 
| Allows the transmit buffer to be constantly looped. 
 | 
 
 | 
TX Carrier Enable
 | 
| Enables a carrier frequency to be overlaid on the transmitted data 
 | 
 
 | 
TX Idle Output
 | 
| When not transmitting should the Transmit pin be an active output? 
 | 
 
 | 
TX Idle Level
 | 
| Sets the output state when idle. 
 |