Sync to the latest odroid-wiringpi 3.2

Signed-off-by: Deokgyu Yang <secugyu@gmail.com>
diff --git a/bindings.i b/bindings.i
index b53d142..4a56787 100644
--- a/bindings.i
+++ b/bindings.i
@@ -1,6 +1,8 @@
 // Generated by generate-bindings.py - do not edit manually!
 
 // Header file WiringPi/wiringPi/wiringPi.h
+extern struct wiringPiNodeStruct *wiringPiFindNode (int pin);
+extern struct wiringPiNodeStruct *wiringPiNewNode  (int pinBase, int numPins);
 extern		int  wiringPiFailure	(int fatal, const char *message, ...);
 extern		int  msg		(int type, const char *message, ...);
 extern		int  moduleLoaded	(char *);
@@ -40,6 +42,14 @@
 extern		void delayMicroseconds	(unsigned int howLong);
 extern unsigned int  millis		(void);
 extern unsigned int  micros		(void);
+extern		void pinModeAlt		(int pin, int mode);
+extern		void analogWrite	(int pin, int value);
+extern		void pwmToneWrite	(int pin, int freq);
+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);
 
 // Header file WiringPi/wiringPi/wiringPiI2C.h
 extern int wiringPiI2CRead		(int fd);
@@ -88,8 +98,103 @@
 extern void softToneStop   (int pin) ;
 extern void softToneWrite  (int pin, int freq) ;
 
+// Header file WiringPi/wiringPi/drcSerial.h
+extern int drcSetupSerial (const int pinBase, const int numPins, const char *device, const int baud) ;
+
+// Header file WiringPi/wiringPi/ads1115.h
+extern int ads1115Setup (int pinBase, int i2cAddress) ;
+
+// Header file WiringPi/wiringPi/max31855.h
+extern int max31855Setup (int pinBase, int spiChannel) ;
+
+// Header file WiringPi/wiringPi/max5322.h
+extern int max5322Setup (int pinBase, int spiChannel) ;
+
+// Header file WiringPi/wiringPi/mcp23008.h
+extern int mcp23008Setup (const int pinBase, const int i2cAddress) ;
+
+// Header file WiringPi/wiringPi/mcp23016.h
+extern int mcp23016Setup (const int pinBase, const int i2cAddress) ;
+
+// Header file WiringPi/wiringPi/mcp23016reg.h
+
+// Header file WiringPi/wiringPi/mcp23017.h
+extern int mcp23017Setup (const int pinBase, const int i2cAddress) ;
+
+// Header file WiringPi/wiringPi/mcp23s08.h
+extern int mcp23s08Setup (const int pinBase, const int spiPort, const int devId) ;
+
+// Header file WiringPi/wiringPi/mcp23s17.h
+extern int mcp23s17Setup (int pinBase, int spiPort, int devId) ;
+
+// Header file WiringPi/wiringPi/mcp23x0817.h
+
+// Header file WiringPi/wiringPi/mcp23x08.h
+
+// Header file WiringPi/wiringPi/mcp3002.h
+extern int mcp3002Setup (int pinBase, int spiChannel) ;
+
+// Header file WiringPi/wiringPi/mcp3004.h
+extern int mcp3004Setup (int pinBase, int spiChannel) ;
+
+// Header file WiringPi/wiringPi/mcp3422.h
+extern int mcp3422Setup (int pinBase, int i2cAddress, int sampleRate, int gain) ;
+
+// Header file WiringPi/wiringPi/mcp4802.h
+extern int mcp4802Setup (int pinBase, int spiChannel) ;
+
+// Header file WiringPi/wiringPi/pcf8574.h
+extern int pcf8574Setup (const int pinBase, const int i2cAddress) ;
+
+// Header file WiringPi/wiringPi/pcf8591.h
+extern int pcf8591Setup (const int pinBase, const int i2cAddress) ;
+
+// Header file WiringPi/wiringPi/sn3218.h
+extern int sn3218Setup (int pinBase) ;
+
+// Header file WiringPi/wiringPi/sr595.h
+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) ;
+extern unsigned int ds1302ramRead       (const int addr) ;
+extern void         ds1302ramWrite      (const int addr, const unsigned int data) ;
+extern void         ds1302clockRead     (int clockData [8]) ;
+extern void         ds1302clockWrite    (const int clockData [8]) ;
+extern void         ds1302trickleCharge (const int diodes, const int resistors) ;
+extern void         ds1302setup         (const int clockPin, const int dataPin, const int csPin) ;
+
 // Header file WiringPi/devLib/font.h
 
+// Header file WiringPi/devLib/gertboard.h
+extern void gertboardAnalogWrite (const int chan, const int value) ;
+extern int  gertboardAnalogRead  (const int chan) ;
+extern int  gertboardSPISetup    (void) ;
+extern int  gertboardAnalogSetup (const int pinBase) ;
+
 // Header file WiringPi/devLib/lcd128x64.h
 extern void lcd128x64setOrigin         (int x, int y) ;
 extern void lcd128x64setOrientation    (int orientation) ;
@@ -123,3 +228,34 @@
 	const int rs, const int strb,
 	const int d0, const int d1, const int d2, const int d3, const int d4,
 	const int d5, const int d6, const int d7) ;
+
+// Header file WiringPi/devLib/maxdetect.h
+int maxDetectRead (const int pin, unsigned char buffer [4]) ;
+int readRHT03 (const int pin, int *temp, int *rh) ;
+
+// Header file WiringPi/devLib/piGlow.h
+extern void piGlow1     (const int leg,  const int ring, const int intensity) ;
+extern void piGlowLeg   (const int leg,  const int intensity) ;
+extern void piGlowRing  (const int ring, const int intensity) ;
+extern void piGlowSetup (int clear) ;
+
+// Header file WiringPi/devLib/piNes.h
+extern int          setupNesJoystick (int dPin, int cPin, int lPin) ;
+extern unsigned int  readNesJoystick (int joystick) ;
+
+// Header file WiringPi/devLib/scrollPhat.h
+extern void scrollPhatPoint      (int x, int y, int colour) ;
+extern void scrollPhatLine       (int x0, int y0, int x1, int y1, int colour) ;
+extern void scrollPhatLineTo     (int x, int y, int colour) ;
+extern void scrollPhatRectangle  (int x1, int y1, int x2, int y2, int colour, int filled) ;
+extern void scrollPhatUpdate     (void) ;
+extern void scrollPhatClear      (void) ;
+extern int  scrollPhatPutchar    (int c) ;
+extern void scrollPhatPuts       (const char *str) ;
+extern void scrollPhatPrintf     (const char *message, ...) ;
+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/generate-bindings.py b/generate-bindings.py
index 32ac7dc..1434421 100644
--- a/generate-bindings.py
+++ b/generate-bindings.py
@@ -10,7 +10,7 @@
 #print(HEADERS)
 
 def is_c_decl(line):
-    for fn in ['wiringPiISR']:
+    for fn in ['wiringPiISR','wiringPiSetupPiFace','wiringPiSetupPiFaceForGpioProg']:
         if fn in line:
             if 'wiringPiISRCancel' in line:
                 return True
diff --git a/setup.py b/setup.py
index 83519c9..6bc45d5 100644
--- a/setup.py
+++ b/setup.py
@@ -12,6 +12,8 @@
 sources = glob('WiringPi/devLib/*.c')
 sources += glob('WiringPi/wiringPi/*.c')
 
+# Exclude rht03.
+sources = list(set(sources) - set(glob('WiringPi/wiringPi/rht03.c')))
 # Exclude template file.
 sources = list(set(sources) - set(glob('WiringPi/wiringPi/odroid_template.c')))
 
@@ -27,6 +29,13 @@
           "        source distribution (on pypi) is available.")
     sys.exit(1)
 
+try:
+    sources.remove('WiringPi/devLib/piFaceOld.c')
+except ValueError:
+    # the file is already excluded in the source distribution
+    pass
+
+
 # Fix so that build_ext runs before build_py
 # Without this, wiringpi.py is generated too late and doesn't
 # end up in the distribution when running setup.py bdist or bdist_wheel.
diff --git a/wiringpi-class.py b/wiringpi-class.py
index 8fd62e2..f0f9a80 100644
--- a/wiringpi-class.py
+++ b/wiringpi-class.py
@@ -1,4 +1,10 @@
 %pythoncode %{
+class nes(object):
+  def setupNesJoystick(self,*args):
+    return setupNesJoystick(*args)
+  def readNesJoystick(self,*args):
+    return readNesJoystick(*args)
+
 class Serial(object):
   device = '/dev/ttyAMA0'
   baud = 9600
@@ -178,4 +184,13 @@
     return lcdPrintf(self,*args)
   def lcdInit(self,*args):
     return lcdInit(self,*args)
+
+  def piGlowSetup(self,*args):
+    return piGlowSetup(self,*args)
+  def piGlow1(self,*args):
+    return piGlow1(self,*args)
+  def piGlowLeg(self,*args):
+    return piGlowLeg(self,*args)
+  def piGlowRing(self,*args):
+    return piGlowRing(self,*args)
 %}
diff --git a/wiringpi.i b/wiringpi.i
index 23533f5..90dcc45 100644
--- a/wiringpi.i
+++ b/wiringpi.i
@@ -14,9 +14,43 @@
 #include "WiringPi/wiringPi/softPwm.h"
 #include "WiringPi/wiringPi/softServo.h"
 #include "WiringPi/wiringPi/softTone.h"
+#include "WiringPi/wiringPi/drcSerial.h"
+#include "WiringPi/wiringPi/ads1115.h"
+#include "WiringPi/wiringPi/max31855.h"
+#include "WiringPi/wiringPi/max5322.h"
+#include "WiringPi/wiringPi/mcp23008.h"
+#include "WiringPi/wiringPi/mcp23016.h"
+#include "WiringPi/wiringPi/mcp23016reg.h"
+#include "WiringPi/wiringPi/mcp23017.h"
+#include "WiringPi/wiringPi/mcp23s08.h"
+#include "WiringPi/wiringPi/mcp23s17.h"
+#include "WiringPi/wiringPi/mcp23x0817.h"
+#include "WiringPi/wiringPi/mcp23x08.h"
+#include "WiringPi/wiringPi/mcp3002.h"
+#include "WiringPi/wiringPi/mcp3004.h"
+#include "WiringPi/wiringPi/mcp3422.h"
+#include "WiringPi/wiringPi/mcp4802.h"
+#include "WiringPi/wiringPi/pcf8574.h"
+#include "WiringPi/wiringPi/pcf8591.h"
+#include "WiringPi/wiringPi/sn3218.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"
 #include "WiringPi/devLib/lcd128x64.h"
 #include "WiringPi/devLib/lcd.h"
+#include "WiringPi/devLib/maxdetect.h"
+#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 };