1-- $NetBSD: gpio.lua,v 1.4 2017/05/10 07:51:07 mbalmer Exp $
2
3-- This example works only if all pins, starting from pin 0 up to the
4-- number returned by gpio.info() are, readable.  It does _not_ work if
5-- only part of the pins are configured.
6
7local gpio = require 'gpio'
8
9print(gpio._VERSION .. ' - ' .. gpio._DESCRIPTION)
10print(gpio._COPYRIGHT)
11print()
12
13g = gpio.open('/dev/gpio0')
14
15local npins = g:info()
16
17print('gpio0 has ' .. npins .. ' pins.')
18
19for n = 0, npins - 1 do
20	print('pin ' .. n .. ': ' .. g:read(n))
21end
22
23local oldval = g:write(31, gpio.PIN_HIGH)
24print('pin 31: ' .. oldval .. ' -> ' .. g:read(31))
25
26oldval = g:toggle(31)
27print('pin 31: ' .. oldval .. ' -> ' .. g:read(31))
28
29g:write(31, gpio.PIN_LOW)
30
31g:write(31, 5)
32
33