<?php

require_once __DIR__."/../vendor/autoload.php";

/*
 * This example demonstrates mapping GpioPins to bit values and writing bits
 * in parallel.
 *
 */

use NoccyLabs\Gpio\Gpio;
use NoccyLabs\Gpio\Util\BitmappedGpio;
use NoccyLabs\Gpio\GpioMapper\WiringPiMapper;

$gpio = new Gpio();
$gpio->setMapper( new WiringPiMapper(2) );

$par = new BitmappedGpio();
for($n = 0; $n < 7; $n++) {
	$pin = $gpio[$n]->setDirection("out");
    $par->setGpioPin($n,$pin);
}

for($n = 0; $n < 5; $n++) {
	$par->write(0xFF);
	usleep(300000);
	$par->write(0x00);
	usleep(300000);
}

for($n = 1; $n < 16; $n++) {
	$par->write($n);
	usleep(500000);
}

for($m = 0; $m < 20; $m++) {
foreach(array(0, 0, 12, 14, 15, 7, 3, 1, 0) as $n) {
	$par->write($n);
	usleep(100000);
}
}


$par->write(0);