1*e6b9421dSmbalmer-- $NetBSD: gpio.lua,v 1.4 2017/05/10 07:51:07 mbalmer Exp $ 2*e6b9421dSmbalmer 3*e6b9421dSmbalmer-- This example works only if all pins, starting from pin 0 up to the 4*e6b9421dSmbalmer-- number returned by gpio.info() are, readable. It does _not_ work if 5*e6b9421dSmbalmer-- only part of the pins are configured. 6250c0b9dSmbalmer 74ab4902eSlnetolocal gpio = require 'gpio' 8250c0b9dSmbalmer 9250c0b9dSmbalmerprint(gpio._VERSION .. ' - ' .. gpio._DESCRIPTION) 10250c0b9dSmbalmerprint(gpio._COPYRIGHT) 11250c0b9dSmbalmerprint() 12250c0b9dSmbalmer 13250c0b9dSmbalmerg = gpio.open('/dev/gpio0') 14250c0b9dSmbalmer 15250c0b9dSmbalmerlocal npins = g:info() 16250c0b9dSmbalmer 17250c0b9dSmbalmerprint('gpio0 has ' .. npins .. ' pins.') 18250c0b9dSmbalmer 19ae1a4436Smbalmerfor n = 0, npins - 1 do 20250c0b9dSmbalmer print('pin ' .. n .. ': ' .. g:read(n)) 21250c0b9dSmbalmerend 22250c0b9dSmbalmer 23ae1a4436Smbalmerlocal oldval = g:write(31, gpio.PIN_HIGH) 24ae1a4436Smbalmerprint('pin 31: ' .. oldval .. ' -> ' .. g:read(31)) 25250c0b9dSmbalmer 26ae1a4436Smbalmeroldval = g:toggle(31) 27ae1a4436Smbalmerprint('pin 31: ' .. oldval .. ' -> ' .. g:read(31)) 28250c0b9dSmbalmer 29ae1a4436Smbalmerg:write(31, gpio.PIN_LOW) 30250c0b9dSmbalmer 31ae1a4436Smbalmerg:write(31, 5) 32250c0b9dSmbalmer 33