GPIO line settings

class line_settings

Stores GPIO line settings.

Public Functions

line_settings()

Initializes the line_settings object with default values.

line_settings(const line_settings &other)

Copy constructor.

Parameters:

other – Object to copy.

line_settings(line_settings &&other) noexcept

Move constructor.

Parameters:

other – Object to move.

line_settings &operator=(const line_settings &other)

Copy assignment operator.

Parameters:

other – Object to copy.

Returns:

Reference to self.

line_settings &operator=(line_settings &&other)

Move assignment operator.

Parameters:

other – Object to move.

Returns:

Reference to self.

line_settings &reset() noexcept

Reset the line settings to default values.

Returns:

Reference to self.

line_settings &set_direction(line::direction direction)

Set direction.

Parameters:

direction – New direction.

Returns:

Reference to self.

line::direction direction() const

Get direction.

Returns:

Current direction setting.

line_settings &set_edge_detection(line::edge edge)

Set edge detection.

Parameters:

edge – New edge detection setting.

Returns:

Reference to self.

line::edge edge_detection() const

Get edge detection.

Returns:

Current edge detection setting.

line_settings &set_bias(line::bias bias)

Set bias setting.

Parameters:

bias – New bias.

Returns:

Reference to self.

line::bias bias() const

Get bias setting.

Returns:

Current bias.

line_settings &set_drive(line::drive drive)

Set drive setting.

Parameters:

drive – New drive.

Returns:

Reference to self.

line::drive drive() const

Get drive setting.

Returns:

Current drive.

line_settings &set_active_low(bool active_low)

Set the active-low setting.

Parameters:

active_low – New active-low setting.

Returns:

Reference to self.

bool active_low() const noexcept

Get the active-low setting.

Returns:

Current active-low setting.

line_settings &set_debounce_period(const ::std::chrono::microseconds &period)

Set debounce period.

Parameters:

period – New debounce period in microseconds.

Returns:

Reference to self.

::std::chrono::microseconds debounce_period() const noexcept

Get debounce period.

Returns:

Current debounce period.

line_settings &set_event_clock(line::clock event_clock)

Set the event clock to use for edge event timestamps.

Parameters:

event_clock – Clock to use.

Returns:

Reference to self.

line::clock event_clock() const

Get the event clock used for edge event timestamps.

Returns:

Current event clock type.

line_settings &set_output_value(line::value value)

Set the output value.

Parameters:

value – New output value.

Returns:

Reference to self.

line::value output_value() const

Get the output value.

Returns:

Current output value.