scrapyard-io/gpio-framework

The ScrapyardIO GPIO Framework.

Maintainers

Package info

github.com/ScrapyardIO/gpio-framework

Homepage

Issues

Documentation

pkg:composer/scrapyard-io/gpio-framework

Transparency log

Statistics

Installs: 60

Dependents: 9

Suggesters: 8

Stars: 0

0.7.0 2026-08-11 00:51 UTC

This package is auto-updated.

Last update: 2026-08-11 18:20:48 UTC


README

Tests Latest Version on Packagist Total Downloads License Docs

GPIO protocol adapters + Circuits registry for ScrapyardIO framework 0.7.

Install

composer require scrapyard-io/gpio-framework:^0.7.0
php workshop vendor:publish --tag=gpio-circuits-config

Discovery registers GPIOServiceProvider and MagicAliases GPIO / Circuit.

Basics

Protocol connection

use GeneralPurposeIO\Core\MagicAliases\GPIO;
use GeneralPurposeIO\I2C\I2C;

$slave = I2C::adapter('posix')->device(1)->bus()->slave(0x3C);
// or via GPIO::protocol('i2c') when configuring adapters from gpio.php

Circuit bootstrap

use GeneralPurposeIO\Core\MagicAliases\Circuit;

Circuit::addCircuit('aht20', \DeptOfScrapyardRobotics\Sensors\AHTx0\AHT20\AHT20::class);

$sensor = Circuit::ic('aht20')
    ->protocol('i2c')
    ->driver('posix')
    ->device(1)
    ->slave(0x38)
    ->make();

// or a named profile from config/circuits.php
$sensor = Circuit::profile('climate_lab');

Scaffold profiles from #[Pinout]:

php workshop circuit:make-profile

Workshop about lists GPIO adapter availability and Integrated Circuits catalog options (not profiles).

Component splits

This umbrella replaces the general-purpose-io read-only subtree packages at self.version:

Composer Subtree
gpio/common general-purpose-io/common
gpio/contracts general-purpose-io/contracts
gpio/digital general-purpose-io/digital
gpio/i2c general-purpose-io/i2c
gpio/spi general-purpose-io/spi
gpio/uart general-purpose-io/uart
gpio/pwm general-purpose-io/pwm
gpio/circuits Umbrella replace (no public subtree yet)

Analog scaffolding lives under GeneralPurposeIO\Analog in this tree; general-purpose-io/analog is the read-only mirror when split.

Prefer requiring scrapyard-io/gpio-framework. The subtree repos stay read-only mirrors of src/GeneralPurposeIO/*.

Carriers

Path Packages
Native microscrap/posix + gpio / i2c / spi / uart + ext-posi
USB microscrap/ftdimpsse + ext-ftdi

All ^0.7.0.

Tests

composer update
vendor/bin/phpunit

License

MIT