Skip to content

Repository files navigation

scrapyard-io/gpio-framework (0.7)

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

About

The ScrapyardIO GPIO Framework.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages