Skip to content

Class upisnd::Encoder#

Detailed Description#

The Encoder element class.

  • #include <encoder.h>

Inherits the following classes: upisnd::Element

Public Functions#

Type Name
int get () const
This is for quick access to the value, otherwise, it's recommended to keep the.
int getOpts (upisnd_encoder_opts_t & opts) const
Retrieves the Encoder options.
int setOpts (const upisnd_encoder_opts_t & opts)
Sets the Encoder options.
upisnd_pin_t getPinB () const
Retrieves the 2nd pin of the Encoder .
upisnd_pin_pull_e getPinPull () const
Retrieves the pull-up/pull-down configuration of the 1st pin of the Encoder .
upisnd_pin_pull_e getPinBPull () const
Retrieves the pull-up/pull-down configuration of the 2nd pin of the Encoder .
Element ()
Element (upisnd_element_ref_t el)
Implicitly increments the refcount. If you got the element from C API, don't forget to unref it afterwards.
Element (const Element & rhs)
Element (Element && rhs)
Element (upisnd_element_ref_t el, bool)

Public Functions inherited from upisnd::Element#

See upisnd::Element

Type Name
Element ()
Element (upisnd_element_ref_t el)
Implicitly increments the refcount. If you got the element from C API, don't forget to unref it afterwards.
Element (const Element & rhs)
Element & operator= (const Element & rhs)
Element (Element && rhs)
Element & operator= (Element && rhs)
~Element ()
Unreferences the element.
bool isValid () const
Checks if the element is valid.
void release ()
Unreferences the underlying C upisnd_element_ref_t handle and resets the object.
const char * getName () const
Gets the name of the element.
upisnd_element_type_e getType () const
Gets the type of the element.
upisnd_pin_t getPin () const
Gets the pin of the element.
ValueFd openValueFd (int flags) const
Opens the Element 's value attribute as a file descriptor.
T as () const
Safely casts the element to the requested class. Returns an invalid object if the cast is not possible.

Public Static Functions#

Type Name
Encoder setup (ElementName name, upisnd_pin_t pin_a, upisnd_pin_pull_e pull_a, upisnd_pin_t pin_b, upisnd_pin_pull_e pull_b)
Set up an encoder element.

Public Static Functions inherited from upisnd::Element#

See upisnd::Element

Type Name
Element get (ElementName name)
Gets an Element following upisnd_element_get semantics.
Element setup (ElementName name, upisnd_setup_t setup)
Sets up a new Element from a upisnd_setup_t setup option container.

Protected Functions inherited from upisnd::Element#

See upisnd::Element

Type Name
upisnd_element_ref_t ref () const
Element (upisnd_element_ref_t el, bool)

get#

This is for quick access to the value, otherwise, it's recommended to keep the.

int upisnd::Encoder::get () const

ValueFd returned by Element::openValueFd, to avoid file open and close overhead. Inspect the errno to check for errors.


getOpts#

Retrieves the Encoder options.

int upisnd::Encoder::getOpts (
    upisnd_encoder_opts_t & opts
) const

See also: upisnd_element_encoder_get_opts


setOpts#

Sets the Encoder options.

int upisnd::Encoder::setOpts (
    const upisnd_encoder_opts_t & opts
) 

See also: upisnd_element_encoder_set_opts


getPinB#

Retrieves the 2nd pin of the Encoder .

upisnd_pin_t upisnd::Encoder::getPinB () const

See also: upisnd_element_encoder_get_pin_b


getPinPull#

Retrieves the pull-up/pull-down configuration of the 1st pin of the Encoder .

upisnd_pin_pull_e upisnd::Encoder::getPinPull () const

See also: upisnd_element_gpio_get_pull


getPinBPull#

Retrieves the pull-up/pull-down configuration of the 2nd pin of the Encoder .

upisnd_pin_pull_e upisnd::Encoder::getPinBPull () const

See also: upisnd_element_encoder_get_pin_b_pull


Element [1/5]#

upisnd::Encoder::Element () 

Element [2/5]#

Implicitly increments the refcount. If you got the element from C API, don't forget to unref it afterwards.

explicit upisnd::Encoder::Element (
    upisnd_element_ref_t el
) 


Element [3/5]#

upisnd::Encoder::Element (
    const Element & rhs
) 

Element [4/5]#

upisnd::Encoder::Element (
    Element && rhs
) 

Element [5/5]#

upisnd::Encoder::Element (
    upisnd_element_ref_t el,
    bool
) 

setup#

Set up an encoder element.

static Encoder upisnd::Encoder::setup (
    ElementName name,
    upisnd_pin_t pin_a,
    upisnd_pin_pull_e pull_a,
    upisnd_pin_t pin_b,
    upisnd_pin_pull_e pull_b
) 

See also: upisnd_setup_encoder