Module Name:    src
Committed By:   mbalmer
Date:           Sat Oct 26 10:48:19 UTC 2013

Modified Files:
        src/distrib/sets/lists/man: mi
        src/share/man/man3lua: Makefile
Added Files:
        src/share/man/man3lua: gpio.3lua

Log Message:
first shot at documenting gpio(3lua)


To generate a diff of this commit:
cvs rdiff -u -r1.1442 -r1.1443 src/distrib/sets/lists/man/mi
cvs rdiff -u -r1.1 -r1.2 src/share/man/man3lua/Makefile
cvs rdiff -u -r0 -r1.1 src/share/man/man3lua/gpio.3lua

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/distrib/sets/lists/man/mi
diff -u src/distrib/sets/lists/man/mi:1.1442 src/distrib/sets/lists/man/mi:1.1443
--- src/distrib/sets/lists/man/mi:1.1442	Sat Oct 26 09:16:19 2013
+++ src/distrib/sets/lists/man/mi	Sat Oct 26 10:48:19 2013
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1442 2013/10/26 09:16:19 nonaka Exp $
+# $NetBSD: mi,v 1.1443 2013/10/26 10:48:19 mbalmer Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -637,6 +637,16 @@
 ./usr/share/man/cat3/atari/ahdi_writelabel.0	man-obsolete		obsolete
 ./usr/share/man/cat3/i386			man-obsolete		obsolete
 ./usr/share/man/cat3/i386/keycap.0		man-obsolete		obsolete
+./usr/share/man/cat3lua/gpio.0			man-sys-catman		.cat
+./usr/share/man/cat3lua/gpio.open.0		man-sys-catman		.cat
+./usr/share/man/cat3lua/gpio.info.0		man-sys-catman		.cat
+./usr/share/man/cat3lua/gpio.close.0		man-sys-catman		.cat
+./usr/share/man/cat3lua/gpio.set.0		man-sys-catman		.cat
+./usr/share/man/cat3lua/gpio.unset.0		man-sys-catman		.cat
+./usr/share/man/cat3lua/gpio.read.0		man-sys-catman		.cat
+./usr/share/man/cat3lua/gpio.write.0		man-sys-catman		.cat
+./usr/share/man/cat3lua/gpio.toggle.0		man-sys-catman		.cat
+./usr/share/man/cat3lua/gpio.attach.0		man-sys-catman		.cat
 ./usr/share/man/cat3lua/intro.0			man-sys-catman		.cat
 ./usr/share/man/cat4/aac.0			man-sys-catman		.cat
 ./usr/share/man/cat4/ac97.0			man-sys-catman		.cat
@@ -3670,6 +3680,16 @@
 ./usr/share/man/html1/zgrep.html		man-util-htmlman	html
 ./usr/share/man/html1/zmore.html		man-util-htmlman	html
 ./usr/share/man/html1/znew.html			man-util-htmlman	html
+./usr/share/man/html3lua/gpio.html		man-sys-htmlman		html
+./usr/share/man/html3lua/gpio.open.html		man-sys-htmlman		html
+./usr/share/man/html3lua/gpio.info.html		man-sys-htmlman		html
+./usr/share/man/html3lua/gpio.close.html	man-sys-htmlman		html
+./usr/share/man/html3lua/gpio.set.html		man-sys-htmlman		html
+./usr/share/man/html3lua/gpio.unset.html	man-sys-htmlman		html
+./usr/share/man/html3lua/gpio.read.html		man-sys-htmlman		html
+./usr/share/man/html3lua/gpio.write.html	man-sys-htmlman		html
+./usr/share/man/html3lua/gpio.toggle.html	man-sys-htmlman		html
+./usr/share/man/html3lua/gpio.attach.html	man-sys-htmlman		html
 ./usr/share/man/html3lua/intro.html		man-sys-htmlman		html
 ./usr/share/man/html4/aac.html			man-sys-htmlman		html
 ./usr/share/man/html4/ac97.html			man-sys-htmlman		html
@@ -6377,6 +6397,16 @@
 ./usr/share/man/man3/atari/ahdi_writelabel.3	man-obsolete		obsolete
 ./usr/share/man/man3/i386			man-obsolete		obsolete
 ./usr/share/man/man3/i386/keycap.3		man-obsolete		obsolete
+./usr/share/man/man3lua/gpio.3lua		man-sys-man		.man
+./usr/share/man/man3lua/gpio.open.3lua		man-sys-man		.man
+./usr/share/man/man3lua/gpio.info.3lua		man-sys-man		.man
+./usr/share/man/man3lua/gpio.close.3lua		man-sys-man		.man
+./usr/share/man/man3lua/gpio.set.3lua		man-sys-man		.man
+./usr/share/man/man3lua/gpio.unset.3lua		man-sys-man		.man
+./usr/share/man/man3lua/gpio.read.3lua		man-sys-man		.man
+./usr/share/man/man3lua/gpio.write.3lua		man-sys-man		.man
+./usr/share/man/man3lua/gpio.toggle.3lua	man-sys-man		.man
+./usr/share/man/man3lua/gpio.attach.3lua	man-sys-man		.man
 ./usr/share/man/man3lua/intro.3lua		man-sys-man		.man
 ./usr/share/man/man4/aac.4			man-sys-man		.man
 ./usr/share/man/man4/ac97.4			man-sys-man		.man

Index: src/share/man/man3lua/Makefile
diff -u src/share/man/man3lua/Makefile:1.1 src/share/man/man3lua/Makefile:1.2
--- src/share/man/man3lua/Makefile:1.1	Fri Oct 25 15:27:03 2013
+++ src/share/man/man3lua/Makefile	Sat Oct 26 10:48:19 2013
@@ -1,6 +1,16 @@
-#	$NetBSD: Makefile,v 1.1 2013/10/25 15:27:03 mbalmer Exp $
+#	$NetBSD: Makefile,v 1.2 2013/10/26 10:48:19 mbalmer Exp $
 
-MAN=	intro.3lua
+MAN=	gpio.3lua intro.3lua
+
+MLINKS+=gpio.3lua gpio.open.3lua \
+	gpio.3lua gpio.info.3lua \
+	gpio.3lua gpio.close.3lua \
+	gpio.3lua gpio.set.3lua \
+	gpio.3lua gpio.unset.3lua \
+	gpio.3lua gpio.read.3lua \
+	gpio.3lua gpio.write.3lua \
+	gpio.3lua gpio.toggle.3lua \
+	gpio.3lua gpio.attach.3lua
 
 .include <bsd.man.mk>
 .include <bsd.subdir.mk>

Added files:

Index: src/share/man/man3lua/gpio.3lua
diff -u /dev/null src/share/man/man3lua/gpio.3lua:1.1
--- /dev/null	Sat Oct 26 10:48:19 2013
+++ src/share/man/man3lua/gpio.3lua	Sat Oct 26 10:48:19 2013
@@ -0,0 +1,178 @@
+.\"	$NetBSD: gpio.3lua,v 1.1 2013/10/26 10:48:19 mbalmer Exp $
+.\"
+.\" Copyright (c) 2013 Marc Balmer <mbal...@netbsd.org>. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 3. Neither the name of the University nor the names of its contributors
+.\"    may be used to endorse or promote products derived from this software
+.\"    without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\"
+.Dd October 26, 2013
+.Dt GPIO 3lua
+.Os
+.Sh NAME
+.Nm gpio
+.Nd access
+.Xr gpio 4
+pins from Lua
+.Sh SYNOPSIS
+.Cd "require 'gpio'"
+.Pp
+.Bl -tag -width XXXX -compact
+.It Dv gpiodev = gpio.open(path)
+.It Dv pins = gpio.info(gpiodev)
+.It Dv gpio.close(gpiodev)
+.It Dv gpio.set(gpiodev, pin, flags)
+.It Dv gpio.unset(gpiodev, pin)
+.It Dv state = gpio.read(gpiodev, pin)
+.It Dv oldstate = gpio.write(gpiodev, pin, state)
+.It Dv gpio.toggle(gpiodev, pin)
+.It Dv gpio.attach(gpiodev, driver, offset, mask [, flags])
+.El
+.Sh DESCRIPTION
+The
+.Nm
+Lua provides access to a
+.Xr gpio 4
+device using the
+.Xr ioctl 2
+interface.
+.Pp
+.Bl -tag -width XXXX -compact
+.Pp
+.It Dv gpiodev = gpio.open(path)
+Open the gpio device and return an object to access its pins.
+.Pp
+.It Dv 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
+.Em gpiodev:info() .
+.Pp
+.It Dv gpio.close(gpiodev)
+Close the gpio device.
+.Pp
+.It Dv 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
+.Xr gpioctl 8
+which also number pins starting at zero.
+The following flags are defined:
+.Pp
+.Bl -tag -width XXXX -compact
+.It Dv gpio.PIN_INPUT
+Pin is an input.
+.Pp
+.It Dv gpio.PIN_OUTPUT
+Pin is an output.
+.Pp
+.It Dv gpio.PIN_INOUT
+Pin is birectional.
+.Pp
+.It Dv gpio.PIN_OPENDRAIN
+Pin is an open-drain output.
+.Pp
+.It Dv gpio.PIN_PUSHPULL
+Pin is a push-pull output.
+.Pp
+.It Dv gpio.PIN_TRISTATE
+Pin is tri-state (output disabled).
+.Pp
+.It Dv gpio.PIN_PULLUP
+Pin has an internal pull-up enabled.
+.Pp
+.It Dv gpio.PIN_PULLDOWN
+Pin has an internal pull-down enabled.
+.Pp
+.It Dv gpio.PIN_INVIN
+Invert input.
+.Pp
+.It Dv gpio.PIN_INVOUT
+Invert output.
+.Pp
+.It Dv gpio.PIN_USER
+Pin accessible by users.
+.Pp
+.It Dv gpio.PIN_PULSATE
+Pulsate pin at a hardware set frequency.
+.Pp
+.It Dv gpio.PIN_SET
+Pin is set.
+.El
+.Pp
+.It Dv gpio.unset(gpiodev, pin)
+Unset gpio pin.
+.Pp
+.It Dv stat = gpio.read(gpiodev, pin)
+Read the current pin state.
+.Pp
+.It Dv oldstate = gpio.write(gpiodev, pin, state)
+Write the pin state returning the old state.
+The following states are defined:
+.Pp
+.Bl -tag -width XXXX -compact
+.It Dv gpio.PIN_LOW
+Pin is in the low state.
+.Pp
+.It Dv gpio.PIN_HIGH
+Pin is in the high state.
+.El
+.Pp
+.It Dv gpio.toggle(gpiodev, pin)
+Toggle pin state.
+.Pp
+.It Dv gpio.attach(gpiodev, driver, offset, mask [, flags])
+Attach a device driver with offset, mask, and optional flags at a pin.
+.El
+.Sh EXAMPLES
+The following example code opens
+.Pa /dev/gpio0
+and prints all pin values:
+.Bd -literal
+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
+.Ed
+.Sh SEE ALSO
+.Xr lua 1 ,
+.Xr luac 1 ,
+.Xr intro 3lua ,
+.Xr gpio 4
+.Sh HISTORY
+An
+.Nm
+manual appeared in
+.Nx 7.0 .
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+Lua binding was written by
+.An Marc Balmer Aq Mt mbal...@netbsd.org .

Reply via email to