From 5cb84ec742fd33f78c8022863fadaa8d0d93e176 Mon Sep 17 00:00:00 2001 From: Jacob McDonnell Date: Sat, 25 Apr 2026 15:32:58 -0400 Subject: feat: Added NetBSD man pages --- static/netbsd/man3lua/gpio.3lua | 178 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 static/netbsd/man3lua/gpio.3lua (limited to 'static/netbsd/man3lua/gpio.3lua') diff --git a/static/netbsd/man3lua/gpio.3lua b/static/netbsd/man3lua/gpio.3lua new file mode 100644 index 00000000..cf012bf6 --- /dev/null +++ b/static/netbsd/man3lua/gpio.3lua @@ -0,0 +1,178 @@ +.\" $NetBSD: gpio.3lua,v 1.5 2016/06/11 15:17:34 abhinav Exp $ +.\" +.\" Copyright (c) 2013, 2014 Marc Balmer . +.\" 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 January 7, 2014 +.Dt GPIO 3lua +.Os +.Sh NAME +.Nm gpio +.Nd access +.Xr gpio 4 +pins from Lua +.Sh SYNOPSIS +.Cd "local gpio = 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 binding provides access to a +.Xr gpio 4 +device using the +.Xr ioctl 2 +interface. +.Pp +.Bl -tag -width XXXX -compact +.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 +A +.Nm +manual appeared in +.Nx 7.0 . +.Sh AUTHORS +.An -nosplit +The +.Nm +Lua binding was written by +.An Marc Balmer Aq Mt mbalmer@NetBSD.org . -- cgit v1.2.3