embedded-php / spi
An object-oriented wrapper to the spidev Linux Kernel driver
Fund package maintenance!
flavioheleno
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 1
Open Issues: 2
Language:C
Type:php-ext
Requires
- php: ^8.0
This package is auto-updated.
Last update: 2024-12-24 12:36:11 UTC
README
The SPI PHP Extension provides an object-oriented wrapper to the spidev Linux Kernel driver that gives users the ability to write code that interacts with external hardware using the SPI protocol.
Requirements
- PHP >= 8.0 (either NTS or ZTS version);
Note: if you are using this extension on Raspbian or Raspberry Pi OS, the user executing the script must belong to the spi group or you may run into "Permission denied" errors.
On Raspbian or Raspberry Pi OS:
PHP 8.0:
sudo apt install php8.0-cli php8.0-dev php8.0-phpdbg
PHP 8.1:
sudo apt install php8.1-cli php8.1-dev php8.1-phpdbg
Building
phpize
./configure
make
make test
SPI Modes
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 (phpspi.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
Resources
- https://www.raspberrypi.org/documentation/hardware/raspberrypi/spi/README.md
- https://github.com/topherCantrell/ER-OLEDM032-1
Alternatives
Other Languages
- Golang: periph/conn
- NodeJS: alexeden/spi-node
- NodeJS: fivdi/spi-device
- NodeJS: natevw/pi-spi
- Python: doceme/py-spidev
License
This library is licensed under the PHP License.