Преглед изворни кода

Updating gpio manual page

pull/22/head
Gordon Henderson пре 12 година
родитељ
комит
86a5c68e08
8 измењених фајлова са 114 додато и 78 уклоњено
  1. +6
    -2
      examples/Makefile
  2. +9
    -6
      gpio/Makefile
  3. +28
    -24
      gpio/gpio.1
  4. +11
    -9
      gpio/gpio.c
  5. +46
    -29
      wiringPi/Makefile
  6. +4
    -1
      wiringPi/lcd.c
  7. +4
    -4
      wiringPi/lcd.h
  8. +6
    -3
      wiringPi/wiringPi.c

+ 6
- 2
examples/Makefile Прегледај датотеку

@@ -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)


+ 9
- 6
gpio/Makefile Прегледај датотеку

@@ -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


+ 28
- 24
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


+ 11
- 9
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,14 +862,15 @@ 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)
{
if (strcasecmp (argv [1], "pwm-bal") == 0) { doPwmMode (PWM_MODE_BAL) ; return 0 ; }
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], "pwm-bal") == 0) { doPwmMode (PWM_MODE_BAL) ; return 0 ; }
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


+ 46
- 29
wiringPi/Makefile Прегледај датотеку

@@ -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

+ 4
- 1
wiringPi/lcd.c Прегледај датотеку

@@ -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) ;
}



+ 4
- 4
wiringPi/lcd.h Прегледај датотеку

@@ -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) ;



+ 6
- 3
wiringPi/wiringPi.c Прегледај датотеку

@@ -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…
Откажи
Сачувај