mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Review comments implemented
This commit is contained in:
parent
44764222a5
commit
e589cad07e
@ -3,7 +3,7 @@ RMT
|
||||
|
||||
The RMT (Remote Control) module driver can be used to send and receive infrared remote control signals. Due to flexibility of RMT module, the driver can also be used to generate or receive many other types of signals.
|
||||
|
||||
The signal, that consists of a series of pulses, is generated by RMT's transmitter basing on a list of values. The values define the pulse duration and a binary level, see below. The transmitter can also provide a carrier and modulate it with provided pulses.
|
||||
The signal, which consists of a series of pulses, is generated by RMT's transmitter based on a list of values. The values define the pulse duration and a binary level, see below. The transmitter can also provide a carrier and modulate it with provided pulses.
|
||||
|
||||
.. blockdiag::
|
||||
:scale: 100
|
||||
@ -45,7 +45,7 @@ The signal, that consists of a series of pulses, is generated by RMT's transmitt
|
||||
}
|
||||
}
|
||||
|
||||
Reverse operation is performed by the receiver, where a series of pulses is decoded into a list of values containing the pulse duration and binary level. A filter may be applied to remove high frequency noise from the input signal.
|
||||
The reverse operation is performed by the receiver, where a series of pulses is decoded into a list of values containing the pulse duration and binary level. A filter may be applied to remove high frequency noise from the input signal.
|
||||
|
||||
.. blockdiag::
|
||||
:scale: 90
|
||||
@ -91,7 +91,7 @@ There couple of typical steps to setup and operate the RMT and they are discusse
|
||||
3. `Change Operation Parameters`_
|
||||
4. `Use Interrupts`_
|
||||
|
||||
The RMT has eight channels numbered from zero to seven. Each channel is able to independently transmit or receive data. They are refereed to using indexes defined in structure :cpp:type:`rmt_channel_t`.
|
||||
The RMT has eight channels numbered from zero to seven. Each channel is able to independently transmit or receive data. They are referred to using indexes defined in structure :cpp:type:`rmt_channel_t`.
|
||||
|
||||
|
||||
Configure Driver
|
||||
@ -103,7 +103,7 @@ There are several parameters that define how particular channel operates. Most o
|
||||
Common Parameters
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
* The **channel** that to be configured to be configured, select one from the :cpp:type:`rmt_channel_t` enumerator.
|
||||
* The **channel** to be configured, select one from the :cpp:type:`rmt_channel_t` enumerator.
|
||||
* The RMT **operation mode** - whether this channel is used to transmit or receive data, selected by setting a **rmt_mode** members to one of the values from :cpp:type:`rmt_mode_t`.
|
||||
* What is the **pin number** to transmit or receive RMT signals, selected by setting **gpio_num**.
|
||||
* How many **memory blocks** will be used by the channel, set with **mem_block_num**.
|
||||
@ -111,7 +111,7 @@ Common Parameters
|
||||
|
||||
.. note::
|
||||
|
||||
The period of a square valve after the clock divider is called a 'tick'. The length the pulses generated by the RMT transmitter or discriminated by the receiver is configured in number of 'ticks'.
|
||||
The period of a square wave after the clock divider is called a 'tick'. The length of the pulses generated by the RMT transmitter or discriminated by the receiver is configured in number of 'ticks'.
|
||||
|
||||
There are also couple of specific parameters that should be set up depending if selected channel is configured in `Transmit Mode`_ or `Receive Mode`_:
|
||||
|
||||
@ -231,12 +231,12 @@ Registering of an interrupt handler for the RMT controller is done be calling :c
|
||||
|
||||
.. note::
|
||||
|
||||
When calling :cpp:func:`rmt_driver_install` to use the system RMT driver, a default ISR is being installed. In such case you cannot register a generic ISR handler with :cpp:func:`rmt_isr_register`.
|
||||
When calling :cpp:func:`rmt_driver_install` to use the system RMT driver, a default ISR is being installed. In such a case you cannot register a generic ISR handler with :cpp:func:`rmt_isr_register`.
|
||||
|
||||
The RMT controller triggers interrupts on four specific events describes below. To enable interrupts on these events, the following functions are provided:
|
||||
|
||||
* RMT's receiver has finished receiving a signal - :cpp:func:`rmt_set_rx_intr_en`
|
||||
* RMT's transmitter has finished transmitting the signal - :cpp:func:`rmt_set_tx_intr_en`
|
||||
* The RMT receiver has finished receiving a signal - :cpp:func:`rmt_set_rx_intr_en`
|
||||
* The RMT transmitter has finished transmitting the signal - :cpp:func:`rmt_set_tx_intr_en`
|
||||
* The number of events the transmitter has sent matches a threshold value :cpp:func:`rmt_set_tx_thr_intr_en`
|
||||
* Ownership to the RMT memory block has been violated - :cpp:func:`rmt_set_err_intr_en`
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user