Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
pulse_io_config Struct Reference

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.

Detailed Description

Channel configuration.

Passed to pulse_io_channel_configure. Fields not relevant to the selected mode or dir are ignored.

Field Documentation

◆ carrier_duty_pct

uint8_t pulse_io_config::carrier_duty_pct

TX carrier duty cycle in percent.

◆ carrier_en

bool pulse_io_config::carrier_en

Enable TX carrier modulation on the non-idle level.

◆ carrier_hz

uint32_t pulse_io_config::carrier_hz

TX carrier frequency in Hz.

◆ cell_period_ticks

uint32_t pulse_io_config::cell_period_ticks

CELL mode only: cell period in ticks.

◆ dir

enum pulse_io_dir pulse_io_config::dir

Channel direction.

◆ idle_high

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.

◆ mode

enum pulse_io_mode pulse_io_config::mode

Submission mode for the channel.

◆ resolution_hz

uint32_t pulse_io_config::resolution_hz

Tick rate in Hz.

The backend selects the nearest achievable.

◆ rx_carrier_demod

bool pulse_io_config::rx_carrier_demod

Enable HW carrier demodulation of the non-idle level on RX.

◆ rx_filter_ticks

uint32_t pulse_io_config::rx_filter_ticks

RX glitch filter width in ticks; 0 to disable.

◆ rx_idle_threshold_ticks

uint32_t pulse_io_config::rx_idle_threshold_ticks

RX end-of-frame idle threshold in ticks; 0 to disable.


The documentation for this struct was generated from the following file: