Skip to content
This repository has been archived by the owner on Apr 19, 2022. It is now read-only.
/ phpgpio Public archive

Object-oriented PHP bindings for the libgpiod library

License

Notifications You must be signed in to change notification settings

flavioheleno/phpgpio

Repository files navigation

NOTE: Check embedded-php/ext-gpio instead.

phpgpio

Object-oriented PHP bindings for the libgpiod library

Requirements

  • PHP >= 8.0 (either NTS or TS version);
  • libgpiod >= 1.6

Building

phpize
./configure
make
make test

Stubs

After changing any of the stubs, the main stub file must be updated by running the command below.

php stubs/update-main-stup.php

Once the stub is updated, the regular build process can be executed.

Note: The main stub file (phpgpio.stub.php) is a generated file, edit the files on the stubs folder instead.

Constants

All namespace defined constants can be seen in the Constants.php stub.

Classes

Class Description
GPIO\Bulk Represents multiple GPIO lines.
GPIO\Chip Represents a GPIO chip.
GPIO\Exception GPIO base exception.
GPIO\Line Represents a single GPIO line.

Tools

Name Description
gpiodetect.php List all GPIO chips, print their labels and number of GPIO lines.
gpioinfo.php Print information about all lines of the specified GPIO chip(s) (or all gpiochips if none are specified).

Supported Hardware

The table below lists the supported and tested chips.

SoC Model
BCM2835 Raspberry Pi 1 and Zero
BCM2836 Raspberry Pi 2
BCM2837 Raspberry Pi 3 (and later Raspberry Pi 2)
BCM2837B0 Raspberry Pi 3B+ and 3A+
BCM2711 Raspberry Pi 4B

Alternatives

Other Languages

License

This library is licensed under the PHP License.