gpio.lua revision 1.4
11.4Smbalmer-- $NetBSD: gpio.lua,v 1.4 2017/05/10 07:51:07 mbalmer Exp $
21.4Smbalmer
31.4Smbalmer-- This example works only if all pins, starting from pin 0 up to the
41.4Smbalmer-- number returned by gpio.info() are, readable.  It does _not_ work if
51.4Smbalmer-- only part of the pins are configured.
61.1Smbalmer
71.3Slnetolocal gpio = require 'gpio'
81.1Smbalmer
91.1Smbalmerprint(gpio._VERSION .. ' - ' .. gpio._DESCRIPTION)
101.1Smbalmerprint(gpio._COPYRIGHT)
111.1Smbalmerprint()
121.1Smbalmer
131.1Smbalmerg = gpio.open('/dev/gpio0')
141.1Smbalmer
151.1Smbalmerlocal npins = g:info()
161.1Smbalmer
171.1Smbalmerprint('gpio0 has ' .. npins .. ' pins.')
181.1Smbalmer
191.2Smbalmerfor n = 0, npins - 1 do
201.1Smbalmer	print('pin ' .. n .. ': ' .. g:read(n))
211.1Smbalmerend
221.1Smbalmer
231.2Smbalmerlocal oldval = g:write(31, gpio.PIN_HIGH)
241.2Smbalmerprint('pin 31: ' .. oldval .. ' -> ' .. g:read(31))
251.1Smbalmer
261.2Smbalmeroldval = g:toggle(31)
271.2Smbalmerprint('pin 31: ' .. oldval .. ' -> ' .. g:read(31))
281.1Smbalmer
291.2Smbalmerg:write(31, gpio.PIN_LOW)
301.1Smbalmer
311.2Smbalmerg:write(31, 5)
321.1Smbalmer
33