|
Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
|
Channel configuration. More...
#include <zephyr/drivers/pulse_io.h>
Data Fields | |
| uint32_t | resolution_hz |
| Tick rate in Hz. | |
| uint32_t | cell_period_ticks |
| CELL mode only: cell period in ticks. | |
| uint32_t | carrier_hz |
| TX carrier frequency in Hz. | |
| uint32_t | rx_idle_threshold_ticks |
| RX end-of-frame idle threshold in ticks; 0 to disable. | |
| uint32_t | rx_filter_ticks |
| RX glitch filter width in ticks; 0 to disable. | |
| enum pulse_io_mode | mode |
| Submission mode for the channel. | |
| enum pulse_io_dir | dir |
| Channel direction. | |
| uint8_t | carrier_duty_pct |
| TX carrier duty cycle in percent. | |
| bool | idle_high |
| Line state when idle. | |
| bool | carrier_en |
| Enable TX carrier modulation on the non-idle level. | |
| bool | rx_carrier_demod |
| Enable HW carrier demodulation of the non-idle level on RX. | |
Channel configuration.
Passed to pulse_io_channel_configure. Fields not relevant to the selected mode or dir are ignored.
| uint8_t pulse_io_config::carrier_duty_pct |
TX carrier duty cycle in percent.
| bool pulse_io_config::carrier_en |
Enable TX carrier modulation on the non-idle level.
| uint32_t pulse_io_config::carrier_hz |
TX carrier frequency in Hz.
| uint32_t pulse_io_config::cell_period_ticks |
CELL mode only: cell period in ticks.
| enum pulse_io_dir pulse_io_config::dir |
Channel direction.
| bool pulse_io_config::idle_high |
Line state when idle.
On TX this is the level the line rests at between and after frames. Carrier modulation and demodulation apply to the non-idle (active) level. RX capture itself is polarity-agnostic: received symbols and cells carry explicit levels.
| enum pulse_io_mode pulse_io_config::mode |
Submission mode for the channel.
| uint32_t pulse_io_config::resolution_hz |
Tick rate in Hz.
The backend selects the nearest achievable.
| bool pulse_io_config::rx_carrier_demod |
Enable HW carrier demodulation of the non-idle level on RX.
| uint32_t pulse_io_config::rx_filter_ticks |
RX glitch filter width in ticks; 0 to disable.
| uint32_t pulse_io_config::rx_idle_threshold_ticks |
RX end-of-frame idle threshold in ticks; 0 to disable.