libgpiod  2.0.1
Functions
Line settings objects

Functions for manipulating line settings objects. More...

Functions

struct gpiod_line_settingsgpiod_line_settings_new (void)
 Create a new line settings object. More...
 
void gpiod_line_settings_free (struct gpiod_line_settings *settings)
 Free the line settings object and release all associated resources. More...
 
void gpiod_line_settings_reset (struct gpiod_line_settings *settings)
 Reset the line settings object to its default values. More...
 
struct gpiod_line_settingsgpiod_line_settings_copy (struct gpiod_line_settings *settings)
 Copy the line settings object. More...
 
int gpiod_line_settings_set_direction (struct gpiod_line_settings *settings, enum gpiod_line_direction direction)
 Set direction. More...
 
enum gpiod_line_direction gpiod_line_settings_get_direction (struct gpiod_line_settings *settings)
 Get direction. More...
 
int gpiod_line_settings_set_edge_detection (struct gpiod_line_settings *settings, enum gpiod_line_edge edge)
 Set edge detection. More...
 
enum gpiod_line_edge gpiod_line_settings_get_edge_detection (struct gpiod_line_settings *settings)
 Get edge detection. More...
 
int gpiod_line_settings_set_bias (struct gpiod_line_settings *settings, enum gpiod_line_bias bias)
 Set bias. More...
 
enum gpiod_line_bias gpiod_line_settings_get_bias (struct gpiod_line_settings *settings)
 Get bias. More...
 
int gpiod_line_settings_set_drive (struct gpiod_line_settings *settings, enum gpiod_line_drive drive)
 Set drive. More...
 
enum gpiod_line_drive gpiod_line_settings_get_drive (struct gpiod_line_settings *settings)
 Get drive. More...
 
void gpiod_line_settings_set_active_low (struct gpiod_line_settings *settings, bool active_low)
 Set active-low setting. More...
 
bool gpiod_line_settings_get_active_low (struct gpiod_line_settings *settings)
 Get active-low setting. More...
 
void gpiod_line_settings_set_debounce_period_us (struct gpiod_line_settings *settings, unsigned long period)
 Set debounce period. More...
 
unsigned long gpiod_line_settings_get_debounce_period_us (struct gpiod_line_settings *settings)
 Get debounce period. More...
 
int gpiod_line_settings_set_event_clock (struct gpiod_line_settings *settings, enum gpiod_line_clock event_clock)
 Set event clock. More...
 
enum gpiod_line_clock gpiod_line_settings_get_event_clock (struct gpiod_line_settings *settings)
 Get event clock setting. More...
 
int gpiod_line_settings_set_output_value (struct gpiod_line_settings *settings, enum gpiod_line_value value)
 Set the output value. More...
 
enum gpiod_line_value gpiod_line_settings_get_output_value (struct gpiod_line_settings *settings)
 Get the output value. More...
 

Detailed Description

Functions for manipulating line settings objects.

Line settings object contains a set of line properties that can be used when requesting lines or reconfiguring an existing request.

Mutators in general can only fail if the new property value is invalid. The return values can be safely ignored - the object remains valid even after a mutator fails and simply uses the sane default appropriate for given property.

Function Documentation

◆ gpiod_line_settings_copy()

struct gpiod_line_settings* gpiod_line_settings_copy ( struct gpiod_line_settings settings)

Copy the line settings object.

Parameters
settingsLine settings object to copy.
Returns
New line settings object that must be freed using gpiod_line_settings_free or NULL on failure.

◆ gpiod_line_settings_free()

void gpiod_line_settings_free ( struct gpiod_line_settings settings)

Free the line settings object and release all associated resources.

Parameters
settingsLine settings object.

◆ gpiod_line_settings_get_active_low()

bool gpiod_line_settings_get_active_low ( struct gpiod_line_settings settings)

Get active-low setting.

Parameters
settingsLine settings object.
Returns
True if active-low is enabled, false otherwise.

◆ gpiod_line_settings_get_bias()

enum gpiod_line_bias gpiod_line_settings_get_bias ( struct gpiod_line_settings settings)

Get bias.

Parameters
settingsLine settings object.
Returns
Current bias setting.

◆ gpiod_line_settings_get_debounce_period_us()

unsigned long gpiod_line_settings_get_debounce_period_us ( struct gpiod_line_settings settings)

Get debounce period.

Parameters
settingsLine settings object.
Returns
Current debounce period in microseconds.

◆ gpiod_line_settings_get_direction()

enum gpiod_line_direction gpiod_line_settings_get_direction ( struct gpiod_line_settings settings)

Get direction.

Parameters
settingsLine settings object.
Returns
Current direction.

◆ gpiod_line_settings_get_drive()

enum gpiod_line_drive gpiod_line_settings_get_drive ( struct gpiod_line_settings settings)

Get drive.

Parameters
settingsLine settings object.
Returns
Current drive setting.

◆ gpiod_line_settings_get_edge_detection()

enum gpiod_line_edge gpiod_line_settings_get_edge_detection ( struct gpiod_line_settings settings)

Get edge detection.

Parameters
settingsLine settings object.
Returns
Current edge detection setting.

◆ gpiod_line_settings_get_event_clock()

enum gpiod_line_clock gpiod_line_settings_get_event_clock ( struct gpiod_line_settings settings)

Get event clock setting.

Parameters
settingsLine settings object.
Returns
Current event clock setting.

◆ gpiod_line_settings_get_output_value()

enum gpiod_line_value gpiod_line_settings_get_output_value ( struct gpiod_line_settings settings)

Get the output value.

Parameters
settingsLine settings object.
Returns
Current output value.

◆ gpiod_line_settings_new()

struct gpiod_line_settings* gpiod_line_settings_new ( void  )

Create a new line settings object.

Returns
New line settings object or NULL on error. The returned object must be freed by the caller using gpiod_line_settings_free.

◆ gpiod_line_settings_reset()

void gpiod_line_settings_reset ( struct gpiod_line_settings settings)

Reset the line settings object to its default values.

Parameters
settingsLine settings object.

◆ gpiod_line_settings_set_active_low()

void gpiod_line_settings_set_active_low ( struct gpiod_line_settings settings,
bool  active_low 
)

Set active-low setting.

Parameters
settingsLine settings object.
active_lowNew active-low setting.

◆ gpiod_line_settings_set_bias()

int gpiod_line_settings_set_bias ( struct gpiod_line_settings settings,
enum gpiod_line_bias  bias 
)

Set bias.

Parameters
settingsLine settings object.
biasNew bias.
Returns
0 on success, -1 on failure.

◆ gpiod_line_settings_set_debounce_period_us()

void gpiod_line_settings_set_debounce_period_us ( struct gpiod_line_settings settings,
unsigned long  period 
)

Set debounce period.

Parameters
settingsLine settings object.
periodNew debounce period in microseconds.

◆ gpiod_line_settings_set_direction()

int gpiod_line_settings_set_direction ( struct gpiod_line_settings settings,
enum gpiod_line_direction  direction 
)

Set direction.

Parameters
settingsLine settings object.
directionNew direction.
Returns
0 on success, -1 on error.

◆ gpiod_line_settings_set_drive()

int gpiod_line_settings_set_drive ( struct gpiod_line_settings settings,
enum gpiod_line_drive  drive 
)

Set drive.

Parameters
settingsLine settings object.
driveNew drive setting.
Returns
0 on success, -1 on failure.

◆ gpiod_line_settings_set_edge_detection()

int gpiod_line_settings_set_edge_detection ( struct gpiod_line_settings settings,
enum gpiod_line_edge  edge 
)

Set edge detection.

Parameters
settingsLine settings object.
edgeNew edge detection setting.
Returns
0 on success, -1 on failure.

◆ gpiod_line_settings_set_event_clock()

int gpiod_line_settings_set_event_clock ( struct gpiod_line_settings settings,
enum gpiod_line_clock  event_clock 
)

Set event clock.

Parameters
settingsLine settings object.
event_clockNew event clock.
Returns
0 on success, -1 on failure.

◆ gpiod_line_settings_set_output_value()

int gpiod_line_settings_set_output_value ( struct gpiod_line_settings settings,
enum gpiod_line_value  value 
)

Set the output value.

Parameters
settingsLine settings object.
valueNew output value.
Returns
0 on success, -1 on failure.