| 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.
|