mirror of
https://github.com/clockworkpi/WiringPi.git
synced 2025-12-13 00:08:51 +01:00
Updating gpio manual page
This commit is contained in:
parent
db2edcc9c5
commit
86a5c68e08
@ -39,7 +39,12 @@ SRC = test1.c test2.c speed.c lcd.c wfi.c piface.c gertboard.c nes.c delayTest.c
|
||||
|
||||
OBJ = test1.o test2.o speed.o lcd.o wfi.o piface.o gertboard.o nes.o delayTest.o softPwm.o
|
||||
|
||||
all: test1 test2 speed lcd wfi piface gertboard nes softPwm
|
||||
BINS = test1 test2 speed lcd wfi piface gertboard nes delayTest softPwm
|
||||
|
||||
all:
|
||||
@cat README.TXT
|
||||
@echo " $(BINS)" | fmt
|
||||
@echo ""
|
||||
|
||||
test1: test1.o
|
||||
@echo [link]
|
||||
@ -77,7 +82,6 @@ softPwm: softPwm.o
|
||||
@echo [link]
|
||||
$(CC) -o $@ softPwm.o $(LDFLAGS) $(LIBS) -lm -lpthread
|
||||
|
||||
|
||||
delayTest: delayTest.o
|
||||
@echo [link]
|
||||
$(CC) -o $@ delayTest.o $(LDFLAGS) $(LIBS)
|
||||
|
||||
@ -41,7 +41,7 @@ OBJ = gpio.o
|
||||
|
||||
all: gpio
|
||||
|
||||
gpio: gpio.o /usr/local/lib/libwiringPi.a
|
||||
gpio: gpio.o /usr/local/lib/libwiringPi.a /usr/local/lib/libwiringPi.so.1.0
|
||||
@echo [LD]
|
||||
@$(CC) -o $@ gpio.o $(LDFLAGS) $(LIBS)
|
||||
|
||||
@ -60,11 +60,14 @@ depend:
|
||||
makedepend -Y $(SRC)
|
||||
|
||||
install:
|
||||
cp gpio /usr/local/bin
|
||||
chown root.root /usr/local/bin/gpio
|
||||
chmod 4755 /usr/local/bin/gpio
|
||||
mkdir -p /usr/local/man/man1
|
||||
cp gpio.1 /usr/local/man/man1
|
||||
@echo -n "Installing... "
|
||||
@cp gpio /usr/local/bin
|
||||
@chown root.root /usr/local/bin/gpio
|
||||
@chmod 4755 /usr/local/bin/gpio
|
||||
@mkdir -p /usr/local/man/man1
|
||||
@cp gpio.1 /usr/local/man/man1
|
||||
@echo "Done."
|
||||
|
||||
|
||||
uninstall:
|
||||
rm -f /usr/local/bin/gpio
|
||||
|
||||
52
gpio/gpio.1
52
gpio/gpio.1
@ -48,9 +48,9 @@ channel value
|
||||
.SH DESCRIPTION
|
||||
|
||||
.B GPIO
|
||||
is a swiss army knofe of a command line tool to allow the user easy
|
||||
is a swiss army knife of a command line tool to allow the user easy
|
||||
access to the GPIO pins on the Raspberry Pi and the SPI A/D and D/A
|
||||
convertors on the Gertboard. It's designed for simple testing and
|
||||
converters on the Gertboard. It's designed for simple testing and
|
||||
diagnostic purposes, but can be used in shell scripts for general if
|
||||
somewhat slow control of the GPIO pins.
|
||||
|
||||
@ -122,7 +122,7 @@ the direction to input and set the edge interrupt method to \fInone\fR,
|
||||
above and note that \fBBCM_GPIO\fR pin number is used not not wiringPi pin
|
||||
numbering.
|
||||
|
||||
Like the export commands abovem ownership is set to that of the
|
||||
Like the export commands above, ownership is set to that of the
|
||||
calling user, allowing subsequent access from user programs without
|
||||
requiring root/sudo.
|
||||
|
||||
@ -155,7 +155,7 @@ the associated /dev/ entries so that the current user has access to them.
|
||||
.B gbr
|
||||
channel
|
||||
|
||||
This reads the analog to digital convertor on the Gertboard on the given
|
||||
This reads the analog to digital converter on the Gertboard on the given
|
||||
channel. The board jumpers need to be in-place to do this operation.
|
||||
|
||||
.TP
|
||||
@ -163,7 +163,7 @@ channel. The board jumpers need to be in-place to do this operation.
|
||||
channel value
|
||||
|
||||
This writes the supplied value to the output channel on the Gertboards
|
||||
SPI digital to analogue convertor.
|
||||
SPI digital to analogue converter.
|
||||
The board jumpers need to be in-place to do this operation.
|
||||
|
||||
|
||||
@ -171,26 +171,30 @@ The board jumpers need to be in-place to do this operation.
|
||||
|
||||
.PP
|
||||
.TS
|
||||
r r l.
|
||||
WiringPi GPIO Function
|
||||
r r r l.
|
||||
WiringPi GPIO-r1 GPIO-r2 Function
|
||||
_
|
||||
0 17
|
||||
1 18 (PWM)
|
||||
2 21
|
||||
3 22
|
||||
4 23
|
||||
5 24
|
||||
6 25
|
||||
7 4
|
||||
8 0 SDA0
|
||||
9 1 SCL0
|
||||
10 8 SPI CE0
|
||||
11 7 SPI CE1
|
||||
12 10 SPI MOSI
|
||||
13 9 SPI MISO
|
||||
14 11 SPI SCLK
|
||||
15 14 TxD
|
||||
16 15 RxD
|
||||
0 17 17
|
||||
1 18 18 (PWM)
|
||||
2 21 27
|
||||
3 22 22
|
||||
4 23 23
|
||||
5 24 24
|
||||
6 25 25
|
||||
7 4 4
|
||||
8 0 2 I2C: SDA0
|
||||
9 1 3 I2C: SCL0
|
||||
10 8 8 SPI: CE0
|
||||
11 7 7 SPI: CE1
|
||||
12 10 10 SPI: MOSI
|
||||
13 9 9 SPI: MISO
|
||||
14 11 11 SPI: SCLK
|
||||
15 14 14 TxD
|
||||
16 15 16 RxD
|
||||
17 - 28
|
||||
18 - 29
|
||||
19 - 30
|
||||
20 - 31
|
||||
.TE
|
||||
|
||||
.SH FILES
|
||||
|
||||
12
gpio/gpio.c
12
gpio/gpio.c
@ -40,7 +40,7 @@
|
||||
# define FALSE (1==2)
|
||||
#endif
|
||||
|
||||
#define VERSION "1.2"
|
||||
#define VERSION "1.3"
|
||||
|
||||
static int wpMode ;
|
||||
|
||||
@ -753,7 +753,7 @@ int main (int argc, char *argv [])
|
||||
|
||||
if (argc == 1)
|
||||
{
|
||||
fprintf (stderr, "%s: %s\n", argv [0], usage) ;
|
||||
fprintf (stderr, "%s\n", usage) ;
|
||||
return 1 ;
|
||||
}
|
||||
|
||||
@ -769,6 +769,8 @@ int main (int argc, char *argv [])
|
||||
printf ("Copyright (c) 2012 Gordon Henderson\n") ;
|
||||
printf ("This is free software with ABSOLUTELY NO WARRANTY.\n") ;
|
||||
printf ("For details type: %s -warranty\n", argv [0]) ;
|
||||
printf ("\n") ;
|
||||
printf ("This Raspberry Pi is a revision %d board.\n", piBoardRev ()) ;
|
||||
return 0 ;
|
||||
}
|
||||
|
||||
@ -807,9 +809,8 @@ int main (int argc, char *argv [])
|
||||
else if (strcasecmp (argv [1], "unexportall") == 0) { doUnexportall (argc, argv) ; return 0 ; }
|
||||
else if (strcasecmp (argv [1], "unexport" ) == 0) { doUnexport (argc, argv) ; return 0 ; }
|
||||
|
||||
// Check for drive or load commands:
|
||||
// Check for load command:
|
||||
|
||||
if (strcasecmp (argv [1], "drive") == 0) { doPadDrive (argc, argv) ; return 0 ; }
|
||||
if (strcasecmp (argv [1], "load" ) == 0) { doLoad (argc, argv) ; return 0 ; }
|
||||
|
||||
// Gertboard commands
|
||||
@ -861,7 +862,7 @@ int main (int argc, char *argv [])
|
||||
wpMode = WPI_MODE_PINS ;
|
||||
}
|
||||
|
||||
// Check for PWM operations
|
||||
// Check for PWM or Pad Drive operations
|
||||
|
||||
if (wpMode != WPI_MODE_PIFACE)
|
||||
{
|
||||
@ -869,6 +870,7 @@ int main (int argc, char *argv [])
|
||||
if (strcasecmp (argv [1], "pwm-ms") == 0) { doPwmMode (PWM_MODE_MS) ; return 0 ; }
|
||||
if (strcasecmp (argv [1], "pwmr") == 0) { doPwmRange (argc, argv) ; return 0 ; }
|
||||
if (strcasecmp (argv [1], "pwmc") == 0) { doPwmClock (argc, argv) ; return 0 ; }
|
||||
if (strcasecmp (argv [1], "drive") == 0) { doPadDrive (argc, argv) ; return 0 ; }
|
||||
}
|
||||
|
||||
// Check for wiring commands
|
||||
|
||||
@ -21,14 +21,17 @@
|
||||
# along with wiringPi. If not, see <http://www.gnu.org/licenses/>.
|
||||
#################################################################################
|
||||
|
||||
DYN_VERS_MAJ=1
|
||||
DYN_VERS_MIN=0
|
||||
|
||||
TARGET=libwiringPi.a
|
||||
STATIC=libwiringPi.a
|
||||
DYNAMIC=libwiringPi.so.$(DYN_VERS_MAJ).$(DYN_VERS_MIN)
|
||||
|
||||
#DEBUG = -g -O0
|
||||
DEBUG = -O3
|
||||
DEBUG = -O2
|
||||
CC = gcc
|
||||
INCLUDE = -I.
|
||||
CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
|
||||
CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe -fPIC
|
||||
|
||||
LIBS =
|
||||
|
||||
@ -45,20 +48,25 @@ OBJ = wiringPi.o wiringPiFace.o wiringSerial.o wiringShift.o \
|
||||
piNes.o \
|
||||
lcd.o piHiPri.o piThread.o softPwm.o wiringPiSPI.o
|
||||
|
||||
all: $(TARGET)
|
||||
all: $(STATIC) $(DYNAMIC)
|
||||
|
||||
$(TARGET): $(OBJ)
|
||||
@echo [AR] $(OBJ)
|
||||
@ar rcs $(TARGET) $(OBJ)
|
||||
@ranlib $(TARGET)
|
||||
@size $(TARGET)
|
||||
$(STATIC): $(OBJ)
|
||||
@echo [STATIC]
|
||||
@ar rcs $(STATIC) $(OBJ)
|
||||
@ranlib $(STATIC)
|
||||
|
||||
# @size $(STATIC)
|
||||
|
||||
$(DYNAMIC): $(OBJ)
|
||||
@echo [DYNAMIC]
|
||||
@gcc -shared -Wl,-soname,libwiringPi.so.1 -o libwiringPi.so.1.0 -lpthread $(OBJ)
|
||||
|
||||
.c.o:
|
||||
@echo [CC] $<
|
||||
@$(CC) -c $(CFLAGS) $< -o $@
|
||||
|
||||
clean:
|
||||
rm -f $(OBJ) $(TARGET) *~ core tags Makefile.bak
|
||||
rm -f $(OBJ) *~ core tags Makefile.bak libwiringPi.*
|
||||
|
||||
tags: $(SRC)
|
||||
@echo [ctags]
|
||||
@ -69,27 +77,34 @@ depend:
|
||||
|
||||
install: $(TARGET)
|
||||
@echo [install]
|
||||
install -m 0755 -d /usr/local/lib
|
||||
install -m 0755 -d /usr/local/include
|
||||
install -m 0644 wiringPi.h /usr/local/include
|
||||
install -m 0644 wiringSerial.h /usr/local/include
|
||||
install -m 0644 wiringShift.h /usr/local/include
|
||||
install -m 0644 gertboard.h /usr/local/include
|
||||
install -m 0644 piNes.h /usr/local/include
|
||||
install -m 0644 softPwm.h /usr/local/include
|
||||
install -m 0644 lcd.h /usr/local/include
|
||||
install -m 0644 wiringPiSPI.h /usr/local/include
|
||||
install -m 0644 libwiringPi.a /usr/local/lib
|
||||
@install -m 0755 -d /usr/local/lib
|
||||
@install -m 0755 -d /usr/local/include
|
||||
@install -m 0644 wiringPi.h /usr/local/include
|
||||
@install -m 0644 wiringSerial.h /usr/local/include
|
||||
@install -m 0644 wiringShift.h /usr/local/include
|
||||
@install -m 0644 gertboard.h /usr/local/include
|
||||
@install -m 0644 piNes.h /usr/local/include
|
||||
@install -m 0644 softPwm.h /usr/local/include
|
||||
@install -m 0644 lcd.h /usr/local/include
|
||||
@install -m 0644 wiringPiSPI.h /usr/local/include
|
||||
@install -m 0644 libwiringPi.a /usr/local/lib
|
||||
@install -m 0755 libwiringPi.so.1.0 /usr/local/lib
|
||||
@ln -sf /usr/local/lib/libwiringPi.so.1.0 /usr/local/lib/libwiringPi.so
|
||||
@ln -sf /usr/local/lib/libwiringPi.so.1.0 /usr/local/lib/libwiringPi.so.1
|
||||
@ldconfig
|
||||
|
||||
uninstall:
|
||||
@echo [uninstall]
|
||||
rm -f /usr/local/include/lcd.h
|
||||
rm -f /usr/local/include/lpiNes.h
|
||||
rm -f /usr/local/include/gertboard.h
|
||||
rm -f /usr/local/include/wiringShift.h
|
||||
rm -f /usr/local/include/wiringSerial.h
|
||||
rm -f /usr/local/include/wiringPi.h
|
||||
rm -f /usr/local/lib/libwiringPi.a
|
||||
@rm -f /usr/local/include/wiringPi.h
|
||||
@rm -f /usr/local/include/wiringSerial.h
|
||||
@rm -f /usr/local/include/wiringShift.h
|
||||
@rm -f /usr/local/include/gertboard.h
|
||||
@rm -f /usr/local/include/piNes.h
|
||||
@rm -f /usr/local/include/softPwm.h
|
||||
@rm -f /usr/local/include/lcd.h
|
||||
@rm -f /usr/local/include/wiringPiSPI.h
|
||||
@rm -f /usr/local/lib/libwiringPi.*
|
||||
@ldconfig
|
||||
|
||||
|
||||
# DO NOT DELETE
|
||||
@ -98,8 +113,10 @@ wiringPi.o: wiringPi.h
|
||||
wiringPiFace.o: wiringPi.h
|
||||
wiringSerial.o: wiringSerial.h
|
||||
wiringShift.o: wiringPi.h wiringShift.h
|
||||
gertboard.o: gertboard.h
|
||||
gertboard.o: wiringPiSPI.h gertboard.h
|
||||
piNes.o: wiringPi.h piNes.h
|
||||
lcd.o: wiringPi.h lcd.h
|
||||
piHiPri.o: wiringPi.h
|
||||
piThread.o: wiringPi.h
|
||||
softPwm.o: wiringPi.h softPwm.h
|
||||
wiringPiSPI.o: wiringPiSPI.h
|
||||
|
||||
@ -75,7 +75,10 @@ struct lcdDataStruct *lcds [MAX_LCDS] ;
|
||||
|
||||
static void strobe (struct lcdDataStruct *lcd)
|
||||
{
|
||||
digitalWrite (lcd->strbPin, 1) ; delayMicroseconds (1) ;
|
||||
|
||||
// Note timing changes for new version of delayMicroseconds ()
|
||||
|
||||
digitalWrite (lcd->strbPin, 1) ; delayMicroseconds (50) ;
|
||||
digitalWrite (lcd->strbPin, 0) ; delayMicroseconds (50) ;
|
||||
}
|
||||
|
||||
|
||||
@ -26,6 +26,10 @@
|
||||
|
||||
#define MAX_LCDS 8
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern void lcdHome (int fd) ;
|
||||
extern void lcdClear (int fd) ;
|
||||
extern void lcdPosition (int fd, int x, int y) ;
|
||||
@ -33,10 +37,6 @@ extern void lcdPutchar (int fd, uint8_t data) ;
|
||||
extern void lcdPuts (int fd, char *string) ;
|
||||
extern void lcdPrintf (int fd, char *message, ...) ;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern int lcdInit (int rows, int cols, int bits, int rs, int strb,
|
||||
int d0, int d1, int d2, int d3, int d4, int d5, int d6, int d7) ;
|
||||
|
||||
|
||||
@ -427,6 +427,7 @@ int piBoardRev (void)
|
||||
}
|
||||
|
||||
fclose (cpuFd) ;
|
||||
|
||||
if (r == -1)
|
||||
{
|
||||
fprintf (stderr, "piBoardRev: Unable to determine board revision from /proc/cpuinfo\n") ;
|
||||
@ -449,9 +450,11 @@ int piBoardRev (void)
|
||||
boardRev = 2 ;
|
||||
else
|
||||
{
|
||||
fprintf (stderr, "piBoardRev: Unable to determine board revision from %d\n", r) ;
|
||||
errno = 0 ;
|
||||
return -1 ;
|
||||
fprintf (stderr, "WARNING: wiringPi: Unable to determine board revision from \"%d\"\n", r) ;
|
||||
fprintf (stderr, " -> You may want to check:\n") ;
|
||||
fprintf (stderr, " -> http://www.raspberrypi.org/phpBB3/viewtopic.php?p=184410#p184410\n") ;
|
||||
fprintf (stderr, " -> Assuming a Rev 1 board\n") ;
|
||||
boardRev = 1 ;
|
||||
}
|
||||
|
||||
if (wiringPiDebug)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user