File gpio.h#
File List > include > pisound-micro > gpio.h
Go to the documentation of this file
// SPDX-License-Identifier: LGPL-2.1-only
//
// libpisoundmicro - a utility library for Pisound Micro I/O expander capabilities.
// Copyright (c) 2017-2025 Vilniaus Blokas UAB, https://blokas.io/
//
// This file is part of libpisoundmicro.
//
// libpisoundmicro is free software: you can redistribute it and/or modify it under the terms of the
// GNU Lesser General Public License as published by the Free Software Foundation, version 2.1 of the License.
//
// libpisoundmicro is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
// the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
// for more details.
//
// You should have received a copy of the GNU Lesser General Public License along with libpisoundmicro. If not, see <https://www.gnu.org/licenses/>.
#ifndef PISOUND_MICRO_GPIO_H
#define PISOUND_MICRO_GPIO_H
#ifndef PISOUND_MICRO_H
# error Please #include <pisound-micro.h>!
#endif
namespace upisnd
{
class UPISND_API Gpio : public Element
{
public:
using Element::Element;
static Gpio setupInput(ElementName name, upisnd_pin_t pin, upisnd_pin_pull_e pull);
static Gpio setupOutput(ElementName name, upisnd_pin_t pin, bool high);
upisnd_pin_direction_e getDirection() const;
upisnd_pin_pull_e getPull() const;
int get() const;
int set(bool high);
};
} // namespace upisnd
#endif // PISOUND_MICRO_GPIO_H