GPIO(3lua)                           LOCAL                          GPIO(3lua)

NAME
     gpio -- access gpio(4) pins from Lua

SYNOPSIS
     local gpio = require 'gpio'

     gpiodev = gpio.open(path)
     pins = gpio.info(gpiodev)
     gpio.close(gpiodev)
     gpio.set(gpiodev, pin, flags)
     gpio.unset(gpiodev, pin)
     state = gpio.read(gpiodev, pin)
     oldstate = gpio.write(gpiodev, pin, state)
     gpio.toggle(gpiodev, pin)
     gpio.attach(gpiodev, driver, offset, mask [, flags])

DESCRIPTION
     The gpio Lua binding provides access to a gpio(4) device using the
     ioctl(2) interface.

     gpiodev = gpio.open(path)
           Open the gpio device and return an object to access its pins.

     pins = gpio.info(gpiodev)
           Returns the number of pins.  As with all remaining functions, this
           can also be called using the : notation, i.e. as gpiodev:info().

     gpio.close(gpiodev)
           Close the gpio device.

     gpio.set(gpiodev, pin, flags)
           Set gpio pin flags.  Note that the pin number in this and all
           remaining functions is zero based and not one based, this to avoid
           confusion with tools like gpioctl(8) which also number pins start-
           ing at zero.  The following flags are defined:

           gpio.PIN_INPUT
                 Pin is an input.

           gpio.PIN_OUTPUT
                 Pin is an output.

           gpio.PIN_INOUT
                 Pin is birectional.

           gpio.PIN_OPENDRAIN
                 Pin is an open-drain output.

           gpio.PIN_PUSHPULL
                 Pin is a push-pull output.

           gpio.PIN_TRISTATE
                 Pin is tri-state (output disabled).

           gpio.PIN_PULLUP
                 Pin has an internal pull-up enabled.

           gpio.PIN_PULLDOWN
                 Pin has an internal pull-down enabled.

           gpio.PIN_INVIN
                 Invert input.

           gpio.PIN_INVOUT
                 Invert output.

           gpio.PIN_USER
                 Pin accessible by users.

           gpio.PIN_PULSATE
                 Pulsate pin at a hardware set frequency.

           gpio.PIN_SET
                 Pin is set.

     gpio.unset(gpiodev, pin)
           Unset gpio pin.

     stat = gpio.read(gpiodev, pin)
           Read the current pin state.

     oldstate = gpio.write(gpiodev, pin, state)
           Write the pin state returning the old state.  The following states
           are defined:

           gpio.PIN_LOW
                 Pin is in the low state.

           gpio.PIN_HIGH
                 Pin is in the high state.

     gpio.toggle(gpiodev, pin)
           Toggle pin state.

     gpio.attach(gpiodev, driver, offset, mask [, flags])
           Attach a device driver with offset, mask, and optional flags at a
           pin.

EXAMPLES
     The following example code opens /dev/gpio0 and prints all pin values:

     local gpio = require 'gpio'

     gpiodev = gpio.open('/dev/gpio0')

     local npins = gpiodev:info()

     for n = 1, npins do
             print('pin ' .. n .. ': ' .. gpiodev:read(n - 1))
     end

SEE ALSO
     lua(1), luac(1), intro(3lua), gpio(4)

HISTORY
     A gpio manual appeared in NetBSD 7.0.

AUTHORS
     The gpio Lua binding was written by Marc Balmer <mbalmer@NetBSD.org>.

NetBSD 8.0                      January 7, 2014                     NetBSD 8.0

You can also request any man page by name and (optionally) by section:

Command: 
Section: 
Architecture: 
Collection: 
 

Use the DEFAULT collection to view manual pages for third-party software.


©1994 Man-cgi 1.15, Panagiotis Christias
©1996-2018 Modified for NetBSD by Kimmo Suominen