gpio/digital

The GeneralPurposeIO Digital package.

0.7.0 2026-08-11 18:31 UTC

This package is not auto-updated.

Last update: 2026-08-11 18:40:44 UTC


README

Docs (production): ScrapyardIO · gpio-framework · Digital

Docs License: MIT

Fabricate-aware Digital IO protocol package for ScrapyardIO: magic alias DigitalIO, adapter manager, POSIX / MPSSE factories, buses, and pin objects under GeneralPurposeIO\Digital\.

This is not the Microscrap gpiod bindings package (microscrap/gpio). Digital sits in gpio-framework and uses Microscrap adapters when present.

Composer: gpio/digital 0.7.0. Usually installed via scrapyard-io/gpio-framework (replacegpio/digital at the same version).

Requirements

  • PHP ^8.4|^8.5|^8.6
  • gpio/common 0.7.0
  • gpio/contracts 0.7.0
  • For POSIX adapter runtime: microscrap/gpio ^0.7 (+ ext-posi / microscrap/posix)
  • For MPSSE/USB adapter runtime: microscrap/mpsse ^0.7

Installation

Prefer the metapackage:

composer require scrapyard-io/gpio-framework:^0.7.0

Split require (advanced):

composer require gpio/digital:^0.7.0

Usage

use GeneralPurposeIO\Digital\DigitalIO;

// Adapter name from config/gpio.php (default often "posix")
$factory = DigitalIO::adapter('posix')->device(0); // /dev/gpiochip0
$output = $factory->output(17);
$output->write(true);

Providers register gpio.digital-io and extend the top-level GPIO magic alias with digital-io.

Package layout

Area Role
DigitalIO Magic alias → gpio.digital-io
DigitalIOServiceProvider Registers manager; boots adapters from config
Adapters/ PosixDigitalIOAdapter, MpsseDigitalIOAdapter
Factory/ Chip/device factories
Drivers/ Line read/write / edge listen
Bus/ Digital IO buses
DigitalInputPin / DigitalOutputPin Pin objects

Related

License

MIT. See LICENSE.md.