18 namespace duds {
namespace hardware {
namespace interface {
20 class PinConfiguration;
117 void initPin(std::uint32_t offset,
unsigned int pid);
141 const std::string &path =
"/dev/gpiochip0",
142 unsigned int firstid = 0,
143 const std::string &username =
"DUDS" 167 const std::vector<unsigned int> &ids,
168 const std::string &path =
"/dev/gpiochip0",
169 unsigned int firstid = 0,
170 const std::string &username =
"DUDS" 190 static std::shared_ptr<GpioDevPort> makeConfiguredPort(
192 const std::string &name =
"default",
193 const std::string &defaultPath =
"/dev/gpiochip0",
194 bool forceDefault =
false 199 virtual void configurePort(
200 unsigned int localPinId,
204 virtual bool inputImpl(
208 virtual std::vector<bool> inputImpl(
209 const std::vector<unsigned int> &pvec,
212 virtual void outputImpl(
217 virtual void outputImpl(
218 const std::vector<unsigned int> &pvec,
219 const std::vector<bool> &state,
226 virtual bool simultaneousOperations()
const;
Provides access to multiple pins on a DigitalPort.
Defines the configuration for a digital general purpose I/O pin.
std::string devpath
The path of the device file; retained only for error reporting purposes.
std::string consumer
The consumer name given to the kernel when requesting the use of GPIO lines.
A type for holding arbitrary port-specific data within a DigitalPinAccess or DigitalPinSetAccess obje...
A GPIO implementation using the Linux kernel's GPIO character devices.
Parses configuration data for DigitalPort, DigitalPin, DigitalPinSet, ChipSelectManager, and ChipSelect objects.
Provides access to a single pin on a DigitalPort.
int chipFd
File descriptor for GPIO chip device file.
std::string name
The reported name of the GPIO chip device.
An error was reported from a GPIOHANDLE_SET_LINE_VALUES_IOCTL operation.
An error was reported from a GPIOHANDLE_GET_LINE_VALUES_IOCTL operation.
A partial DigitalPort implementation for ports where the configuration of each pin is independent of ...
Base exception type for all errors about pins.
Base class for all errors specific to using the Linux GPIO character device.
An error was reported from a GPIO_GET_LINEHANDLE_IOCTL operation.