Merge pull request #45 from BaReinhard/patch-1

Missing a letter in a return value
diff --git a/README.md b/README.md
index a2034ff..993a037 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,15 @@
-#WiringPi for Python
+### Note
+
+This is an unofficial port of Gordon's WiringPi library. Please do not email Gordon if you have issues, he will not be able to help.
+
+# WiringPi for Python
 
 WiringPi: An implementation of most of the Arduino Wiring
 	functions for the Raspberry Pi
 
 WiringPi implements new functions for managing IO expanders.
 
-#Quick Build
+# Quick Build
 
 A quick and dirty build script is supplied to install WiringPi-Python for Python 2 and 3. Just:
 
@@ -15,29 +19,29 @@
 ./build.sh
 ```
 
-#Manual Build
+# Manual Build
 
-##Get/setup repo
+## Get/setup repo
 ```bash
 git clone --recursive https://github.com/WiringPi/WiringPi-Python.git
 cd WiringPi-Python
 git submodule update --init
 ```
 
-##Prerequisites
+## Prerequisites
 To rebuild the bindings
 you **must** first have python-dev, python-setuptools and swig installed.
 ```bash
 sudo apt-get install python-dev python-setuptools swig
 ```
 
-##Build WiringPi
+## Build WiringPi
 ```bash
 cd WiringPi
 sudo ./build
 ```
 
-##Generate Bindings
+## Generate Bindings
 
 Return to the root directory of the repository and:
 
@@ -47,7 +51,7 @@
 
 `swig3.0 -thread -python wiringpi.i`
 
-##Build & install with
+## Build & install with
 
 `sudo python setup.py install`
 
@@ -55,7 +59,7 @@
 
 `sudo python3 setup.py install`
 
-##Usage
+## Usage
 
 	import wiringpi
 	
diff --git a/WiringPi b/WiringPi
index 9a8f8be..c947643 160000
--- a/WiringPi
+++ b/WiringPi
@@ -1 +1 @@
-Subproject commit 9a8f8bee5df60061645918231110a7c2e4d3fa6b
+Subproject commit c9476436016c995d3327e4765a73de7848d4af56
diff --git a/bindings.i b/bindings.i
index dc8bf05..0766221 100644
--- a/bindings.i
+++ b/bindings.i
@@ -4,31 +4,35 @@
 extern int wiringPiFailure (int fatal, const char *message, ...) ;
 extern struct wiringPiNodeStruct *wiringPiFindNode (int pin) ;
 extern struct wiringPiNodeStruct *wiringPiNewNode  (int pinBase, int numPins) ;
+extern void wiringPiVersion	(int *major, int *minor) ;
 extern int  wiringPiSetup       (void) ;
 extern int  wiringPiSetupSys    (void) ;
 extern int  wiringPiSetupGpio   (void) ;
 extern int  wiringPiSetupPhys   (void) ;
-extern void pinModeAlt          (int pin, int mode) ;
-extern void pinMode             (int pin, int mode) ;
-extern void pullUpDnControl     (int pin, int pud) ;
-extern int  digitalRead         (int pin) ;
-extern void digitalWrite        (int pin, int value) ;
-extern void pwmWrite            (int pin, int value) ;
-extern int  analogRead          (int pin) ;
-extern void analogWrite         (int pin, int value) ;
-extern          int  piBoardRev          (void) ;
+extern          void pinModeAlt          (int pin, int mode) ;
+extern          void pinMode             (int pin, int mode) ;
+extern          void pullUpDnControl     (int pin, int pud) ;
+extern          int  digitalRead         (int pin) ;
+extern          void digitalWrite        (int pin, int value) ;
+extern          void pwmWrite            (int pin, int value) ;
+extern          int  analogRead          (int pin) ;
+extern          void analogWrite         (int pin, int value) ;
+extern          int  piGpioLayout        (void) ;
+extern          int  piBoardRev          (void) ;	// Deprecated
 extern          void piBoardId           (int *model, int *rev, int *mem, int *maker, int *overVolted) ;
 extern          int  wpiPinToGpio        (int wpiPin) ;
 extern          int  physPinToGpio       (int physPin) ;
 extern          void setPadDrive         (int group, int value) ;
 extern          int  getAlt              (int pin) ;
 extern          void pwmToneWrite        (int pin, int freq) ;
-extern          void digitalWriteByte    (int value) ;
-extern unsigned int  digitalReadByte     (void) ;
 extern          void pwmSetMode          (int mode) ;
 extern          void pwmSetRange         (unsigned int range) ;
 extern          void pwmSetClock         (int divisor) ;
 extern          void gpioClockSet        (int pin, int freq) ;
+extern unsigned int  digitalReadByte     (void) ;
+extern unsigned int  digitalReadByte2    (void) ;
+extern          void digitalWriteByte    (int value) ;
+extern          void digitalWriteByte2   (int value) ;
 extern int  waitForInterrupt    (int pin, int mS) ;
 extern int  piThreadCreate      (void *(*fn)(void *)) ;
 extern void piLock              (int key) ;
@@ -141,6 +145,27 @@
 extern int sr595Setup (const int pinBase, const int numPins,
 	const int dataPin, const int clockPin, const int latchPin) ;
 
+// Header file WiringPi/wiringPi/bmp180.h
+extern int bmp180Setup (const int pinBase) ;
+
+// Header file WiringPi/wiringPi/drcNet.h
+extern int drcSetupNet (const int pinBase, const int numPins, const char *ipAddress, const char *port, const char *password) ;
+
+// Header file WiringPi/wiringPi/ds18b20.h
+extern int ds18b20Setup (const int pinBase, const char *serialNum) ;
+
+// Header file WiringPi/wiringPi/htu21d.h
+extern int htu21dSetup (const int pinBase) ;
+
+// Header file WiringPi/wiringPi/pseudoPins.h
+extern int pseudoPinsSetup (const int pinBase) ;
+
+// Header file WiringPi/wiringPi/rht03.h
+extern int rht03Setup (const int pinBase, const int devicePin) ;
+
+// Header file WiringPi/wiringPi/wpiExtensions.h
+extern int loadWPiExtension (char *progName, char *extensionData, int verbose) ;
+
 // Header file WiringPi/devLib/ds1302.h
 extern unsigned int ds1302rtcRead       (const int reg) ;
 extern void         ds1302rtcWrite      (const int reg, const unsigned int data) ;
@@ -220,3 +245,6 @@
 extern void scrollPhatPrintSpeed (const int cps10) ;
 extern void scrollPhatIntensity  (const int percent) ;
 extern int  scrollPhatSetup      (void) ;
+
+// Header file WiringPi/devLib/piFace.h
+extern int  piFaceSetup (const int pinBase) ;
diff --git a/setup.py b/setup.py
index 0189589..9e40f3e 100755
--- a/setup.py
+++ b/setup.py
@@ -12,12 +12,13 @@
 _wiringpi = Extension(
     '_wiringpi',
     include_dirs=['WiringPi/wiringPi','WiringPi/devLib'],
-    sources=sources
+    sources=sources,
+    extra_link_args=['-lcrypt', '-lrt']
 )
 
 setup(
     name = 'wiringpi',
-    version = '2.32.1',
+    version = '2.44',
     author = "Philip Howard",
     author_email = "phil@gadgetoid.com",
     url = 'https://github.com/WiringPi/WiringPi-Python/',
diff --git a/wiringpi.i b/wiringpi.i
index 847ac76..e34fe3a 100644
--- a/wiringpi.i
+++ b/wiringpi.i
@@ -34,6 +34,13 @@
 #include "WiringPi/wiringPi/softServo.h"
 #include "WiringPi/wiringPi/softTone.h"
 #include "WiringPi/wiringPi/sr595.h"
+#include "WiringPi/wiringPi/bmp180.h"
+#include "WiringPi/wiringPi/drcNet.h"
+#include "WiringPi/wiringPi/ds18b20.h"
+#include "WiringPi/wiringPi/htu21d.h"
+#include "WiringPi/wiringPi/pseudoPins.h"
+#include "WiringPi/wiringPi/rht03.h"
+#include "WiringPi/wiringPi/wpiExtensions.h"
 #include "WiringPi/devLib/ds1302.h"
 #include "WiringPi/devLib/font.h"
 #include "WiringPi/devLib/gertboard.h"
@@ -43,6 +50,7 @@
 #include "WiringPi/devLib/piGlow.h"
 #include "WiringPi/devLib/piNes.h"
 #include "WiringPi/devLib/scrollPhat.h"
+#include "WiringPi/devLib/piFace.h"
 %}
 
 %apply unsigned char { uint8_t };