Browse Source

gpio Makefile changed to add PREFIX & DESTDIR
mcp3004.c bugfixed. It works now!

Gordon Henderson 11 years ago
parent
commit
4d43c8cdca
2 changed files with 20 additions and 15 deletions
  1. 11 9
      gpio/Makefile
  2. 9 6
      wiringPi/mcp3004.c

+ 11 - 9
gpio/Makefile

@@ -22,14 +22,16 @@
 #    along with wiringPi.  If not, see <http://www.gnu.org/licenses/>.
 #################################################################################
 
+DESTDIR=/usr
+PREFIX=/local
 
 #DEBUG	= -g -O0
 DEBUG	= -O2
 CC	= gcc
-INCLUDE	= -I/usr/local/include
+INCLUDE	= -I$(DESTDIR)$(PREFIX)/usr/local/include
 CFLAGS	= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
 
-LDFLAGS	= -L/usr/local/lib
+LDFLAGS	= -L$(DESTDIR)$(PREFIX)/lib
 LIBS    = -lwiringPi -lwiringPiDev -lpthread -lm
 
 # May not need to  alter anything below this line
@@ -62,17 +64,17 @@ tags:	$(SRC)
 .PHONEY:	install
 install:
 	@echo "[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
+	@cp gpio		$(DESTDIR)$(PREFIX)/bin
+	@chown root.root	$(DESTDIR)$(PREFIX)/bin/gpio
+	@chmod 4755		$(DESTDIR)$(PREFIX)/bin/gpio
+	@mkdir -p		$(DESTDIR)$(PREFIX)/man/man1
+	@cp gpio.1		$(DESTDIR)$(PREFIX)/man/man1
 
 .PHONEY:	uninstall
 uninstall:
 	@echo "[UnInstall]"
-	@rm -f /usr/local/bin/gpio
-	@rm -f /usr/local/man/man1/gpio.1
+	@rm -f $(DESTDIR)$(PREFIX)/bin/gpio
+	@rm -f $(DESTDIR)$(PREFIX)/man/man1/gpio.1
 
 .PHONEY:	depend
 depend:

+ 9 - 6
wiringPi/mcp3004.c

@@ -2,6 +2,8 @@
  * mcp3004.c:
  *	Extend wiringPi with the MCP3004 SPI Analog to Digital convertor
  *	Copyright (c) 2012-2013 Gordon Henderson
+ *
+ *	Thanks also to "ShorTie" on IRC for some remote debugging help!
  ***********************************************************************
  * This file is part of wiringPi:
  *	https://projects.drogon.net/raspberry-pi/wiringpi/
@@ -35,18 +37,19 @@
 
 static int myAnalogRead (struct wiringPiNodeStruct *node, int pin)
 {
-  unsigned char spiData [2] ;
+  unsigned char spiData [3] ;
   unsigned char chanBits ;
   int chan = pin - node->pinBase ;
 
-  chanBits = 0b11000000 | (chan << 3) ;
+  chanBits = 0b10000000 | (chan << 4) ;
 
-  spiData [0] = chanBits ;
-  spiData [1] = 0 ;
+  spiData [0] = 1 ;		// Start bit
+  spiData [1] = chanBits ;
+  spiData [2] = 0 ;
 
-  wiringPiSPIDataRW (node->fd, spiData, 2) ;
+  wiringPiSPIDataRW (node->fd, spiData, 3) ;
 
-  return ((spiData [0] << 7) | (spiData [1] >> 1)) & 0x3FF ;
+  return ((spiData [1] << 8) | spiData [2]) & 0x3FF ;
 }