Gordons Projects

--> Projects Top-Level GIT

Updating for various stuff and bugs. CM3+ and PiA3+
[wiringPi] / gpio / gpio.1
index 8949442..a71aaae 100644 (file)
@@ -1,4 +1,4 @@
-.TH gpio 1 "January 2015" wiringPi "Command-Line access to Raspberry Pi's GPIO"
+.TH GPIO 1 "March 2018" wiringPi "Command-Line access to Raspberry Pi's GPIO"
 
 .SH NAME
 gpio \- Command-line access to Raspberry Pi's GPIO
@@ -9,15 +9,20 @@ gpio \- Command-line access to Raspberry Pi's GPIO
 .PP
 .B gpio
 .B [ \-g | \-1 ]
-.B mode/read/write/aread/awrite/wb/pwm/clock ...
+.B mode/read/write/aread/awrite/wb/pwm/pwnTone/clock/toggle/blink ...
 .PP
 .B gpio
 .B [ \-x extension:params ]
-.B mode/read/write/aread/awrite/pwm/pwmTone ...
+.B mode/read/write/aread/awrite/pwm/toggle/blink ...
 .PP
 .B gpio
 .B [ \-p ]
-.B read/write/toggle/wb
+.B read/write/toggle/blink
+.B ...
+.PP
+.B gpio
+.B [ \-p ]
+.B pwnTone pin frequency
 .B ...
 .PP
 .B gpio
@@ -119,10 +124,22 @@ Write the given value (0 or 1) to the pin. You need to set the pin
 to output mode first.
 
 .TP
+.B toggle <pin> 
+Changes the state of a GPIO pin; 0 to 1, or 1 to 0.
+
+Note unlike the blink command, the pin must be in output mode first.
+
+.TP
+.B blink <pin> 
+Blinks the given pin on/off. Press Control-C to exit.
+
+Note: This command explicitly sets the pin to output mode.
+
+.TP
 .B aread <pin>
-Read the analog value of the given pin. This needs to be uses in
+Read the analog value of the given pin. This needs to be used in
 conjunction with a -x flag to add in an extension that handles analog
-inputs.  respective logic levels.
+inputs.
 
 e.g. gpio -x mcp3002:200:0 aread 200
 
@@ -132,7 +149,7 @@ will read the first analog input on an mcp3002 SPI ADC chip.
 .B awrite <pin> <value>
 Write the analog value to the given pin. This needs to be used in
 conjunction with a -x flag to add in an extension that handles analog
-inputs.  respective logic levels.
+inputs. 
 
 e.g. gpio -x mcp4802:200:0 awrite 200 128
 
@@ -234,7 +251,7 @@ absolutely sure you know what you're doing.
 high | low
 
 Change the USB current limiter to high (1.2 amps) or low (the default, 600mA)
-This is only applicable to the model B+
+This is only applicable to the Model B+ and the Model B, v2.
 
 .TP
 .B pwm-bal/pwm-ms 
@@ -245,38 +262,6 @@ Change the PWM mode to balanced (the default) or mark:space ratio (traditional)
 Change the PWM range register. The default is 1024.
 
 .TP
-.B load i2c [baudrate]
-This loads the i2c or drivers into the kernel and changes the permissions
-on the associated /dev/ entries so that the current user has access to
-them. Optionally it will set the I2C baudrate to that supplied in Kb/sec
-(or as close as the Pi can manage) The default speed is 100Kb/sec.
-
-Note that on a Pi with a recent 3.18 kernel with the device-tree structure
-enable, the load may fail until you add:
-
-.I dtparam=i2c=on
-
-into \fB/boot/config.txt\fR to allow user use of the I2C bus.
-
-.TP
-.B load spi
-This loads the spi drivers into the kernel and changes the permissions
-on the associated /dev/ entries so that the current user has access to
-them. It used to have the ability to change the buffer size from the
-default of 4096 bytes to an arbitary value, however for some time the
-Pi Foundation have compiled the SPI device driver into the kernel and
-this has fixed the buffer size. The way to change it now is to edit
-the /boot/cmdline.txt file and add on spdev.bufsiz=8192 to set it to
-e.g. 8192 bytes then reboot.
-
-Note that on a Pi with a recent 3.18 kernel with the device-tree structure
-enable, the load may fail until you add:
-
-.I dtparam=spi=on
-
-into \fB/boot/config.txt\fR to allow user use of the I2C bus.
-
-.TP
 .B gbr
 channel
 
@@ -327,6 +312,18 @@ When using the \fIexport\fR, \fIedge\fR or \fIunexport\fR commands, the
 pin numbers are \fBalways\fR native BCM_GPIO numbers and never wiringPi
 pin numbers.
 
+As of kernels 4.1.7, a user-level GPIO access mechanism is available,
+however wiringPi will not use this by default - because at this time
+there appears to be issues when trying to program the PWM or clock output
+hardware. If you can live without PWM or GPIO clocks and you want to use
+the GPIO from a non-root program, then you need to make sure that the 
+module \fIbcm2835_gpiomem\fR is loaded at boot time. This should happen
+automatically when you enable the device tree in raspi-config. You may
+also need some additional information in /etc/udev/rules.d/ to change the
+mode and ownership of the /dev/gpiomem file. Finally, you need to set
+the environment variable \fIWIRINGPI_GPIOMEM\fR. This will go-away
+in future releases once the /dev/gpiomem interface is fully operational.
+
 .SH "SEE ALSO"
 
 .LP
@@ -344,7 +341,7 @@ Please report bugs to <projects@drogon.net>
 
 .SH COPYRIGHT
 
-Copyright (c) 2012-2015 Gordon Henderson
+Copyright (c) 2012-2018 Gordon Henderson
 This is free software; see the source for copying conditions. There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.