Now you can use NC as InterruptIn

Dependencies:   X_NUCLEO_COMMON

Fork of X_NUCLEO_6180XA1 by ST

Revision:
23:dfb5ccc7b780
Parent:
16:0d4776564733
Child:
33:1573db91352c
--- a/Components/STMPE1600/stmpe1600_class.h	Wed Oct 28 14:56:22 2015 +0000
+++ b/Components/STMPE1600/stmpe1600_class.h	Fri Oct 30 11:35:36 2015 +0100
@@ -98,16 +98,17 @@
        dev_i2c.i2c_write(data, expdevaddr, GPDR_0_7, 1);
        dev_i2c.i2c_write(&data[1], expdevaddr, GPDR_8_15, 1);			
        write(lvl);
-    }         
+    }   
 
-		void write (int lvl) {
-			uint8_t data[2];			
-			/* set the exppinname state to lvl */
-			dev_i2c.i2c_read(data, expdevaddr, GPSR_0_7, 2);
-			*(uint16_t*)data = *(uint16_t*)data & (uint16_t)(~(1<<(uint16_t)exppinname));  // set pin mask 			
-			if (lvl) *(uint16_t*)data = *(uint16_t*)data | (uint16_t)(1<<(uint16_t)exppinname);
-			dev_i2c.i2c_write(data, expdevaddr, GPSR_0_7, 2);
-		}
+    void write (int lvl) 
+    {
+       uint8_t data[2];			
+       /* set the exppinname state to lvl */
+       dev_i2c.i2c_read(data, expdevaddr, GPSR_0_7, 2);
+       *(uint16_t*)data = *(uint16_t*)data & (uint16_t)(~(1<<(uint16_t)exppinname));  // set pin mask 			
+       if (lvl) *(uint16_t*)data = *(uint16_t*)data | (uint16_t)(1<<(uint16_t)exppinname);
+       dev_i2c.i2c_write(data, expdevaddr, GPSR_0_7, 2);
+    }
 		
     STMPE1600DigiOut& operator=(int lvl)
     {
@@ -124,23 +125,24 @@
 class STMPE1600DigiIn 
 {	
  public: 
-    STMPE1600DigiIn (DevI2C &i2c, ExpGpioPinName inpinname, uint8_t DevAddr=STMPE1600_DEF_DEVICE_ADDRESS*2): dev_i2c(i2c), expdevaddr(DevAddr), exppinname(inpinname) 
-		{
-			uint8_t data[2];
-			/* set the exppinname as input pin direction */
-			dev_i2c.i2c_read(data, expdevaddr, GPDR_0_7, 2);
-			*(uint16_t*)data = *(uint16_t*)data & (uint16_t)(~(1<<(uint16_t)exppinname));  // set gpio as in			
-			dev_i2c.i2c_write(data, expdevaddr, GPDR_0_7, 2);
-		}         
+    STMPE1600DigiIn (DevI2C &i2c, ExpGpioPinName inpinname, uint8_t DevAddr=STMPE1600_DEF_DEVICE_ADDRESS): dev_i2c(i2c), expdevaddr(DevAddr), exppinname(inpinname) 
+    {
+       uint8_t data[2];
+       /* set the exppinname as input pin direction */
+       dev_i2c.i2c_read(data, expdevaddr, GPDR_0_7, 2);
+       *(uint16_t*)data = *(uint16_t*)data & (uint16_t)(~(1<<(uint16_t)exppinname));  // set gpio as in			
+       dev_i2c.i2c_write(data, expdevaddr, GPDR_0_7, 2);
+    }         
 
-		bool read () {
-			uint8_t data[2];
-			/* read the exppinname */
-			dev_i2c.i2c_read(data, expdevaddr, GPMR_0_7, 2);
-			*(uint16_t*)data = *(uint16_t*)data & (uint16_t)(1<<(uint16_t)exppinname);  // mask the in gpio
-			if (data[0] || data[1]) return 1;
-			return 0;
-		}
+    bool read () 
+    {
+       uint8_t data[2];
+       /* read the exppinname */
+       dev_i2c.i2c_read(data, expdevaddr, GPMR_0_7, 2);
+       *(uint16_t*)data = *(uint16_t*)data & (uint16_t)(1<<(uint16_t)exppinname);  // mask the in gpio
+       if (data[0] || data[1]) return 1;
+       return 0;
+    }
 		
     operator int() 
     {		
@@ -158,53 +160,55 @@
 class STMPE1600 {
 	
  public: 
-    STMPE1600 (DevI2C &i2c, 
-											ExpGpioPinDirection GPDR0, ExpGpioPinDirection GPDR1, ExpGpioPinDirection GPDR2,
-                      ExpGpioPinDirection GPDR3, ExpGpioPinDirection GPDR4, ExpGpioPinDirection GPDR5,
-                      ExpGpioPinDirection GPDR6, ExpGpioPinDirection GPDR7, ExpGpioPinDirection GPDR8,
-                      ExpGpioPinDirection GPDR9, ExpGpioPinDirection GPDR10, ExpGpioPinDirection GPDR11,
- ExpGpioPinDirection GPDR12, ExpGpioPinDirection GPDR13, ExpGpioPinDirection GPDR14, ExpGpioPinDirection GPDR15, uint8_t DevAddr=STMPE1600_DEF_DEVICE_ADDRESS ) :dev_i2c(i2c)
+    STMPE1600 (DevI2C &i2c, ExpGpioPinDirection GPDR0, ExpGpioPinDirection GPDR1, ExpGpioPinDirection GPDR2,
+               ExpGpioPinDirection GPDR3, ExpGpioPinDirection GPDR4, ExpGpioPinDirection GPDR5,
+               ExpGpioPinDirection GPDR6, ExpGpioPinDirection GPDR7, ExpGpioPinDirection GPDR8,
+               ExpGpioPinDirection GPDR9, ExpGpioPinDirection GPDR10, ExpGpioPinDirection GPDR11,
+               ExpGpioPinDirection GPDR12, ExpGpioPinDirection GPDR13, ExpGpioPinDirection GPDR14, 
+               ExpGpioPinDirection GPDR15, uint8_t DevAddr=STMPE1600_DEF_DEVICE_ADDRESS ) :dev_i2c(i2c)
 
- { 
-				dev_i2c = i2c;								
-				expdevaddr = DevAddr;
-			  GPDR0_15 = (uint16_t)0;	// gpio dir all IN
-			  GPSR0_15 = (uint16_t)0x0ffff;  // gpio status all 1
-				if (GPDR0  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0001;
-				if (GPDR1  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0002;																		 
-				if (GPDR2  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0004;
-				if (GPDR3  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0008;																		 
-				if (GPDR4  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0010;
-				if (GPDR5  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0020;																		 
-				if (GPDR6  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0040;
-				if (GPDR7  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0080;
-				if (GPDR8  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0100;
-				if (GPDR9  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0200;
-				if (GPDR10 == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0400;
-				if (GPDR11 == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0800;																		 
-				if (GPDR12 == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x1000;																		 
-				if (GPDR13 == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x2000;																		 
-				if (GPDR14 == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x4000;									
-				if (GPDR15 == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x8000;	
-				dev_i2c.i2c_write((uint8_t*)&GPDR0_15, expdevaddr, GPDR_0_7, 2);	
-				dev_i2c.i2c_write((uint8_t*)&GPSR0_15, expdevaddr, GPSR_0_7, 2);	
-		}
+    { 
+       dev_i2c = i2c;								
+       expdevaddr = DevAddr;
+       GPDR0_15 = (uint16_t)0;	// gpio dir all IN
+       GPSR0_15 = (uint16_t)0x0ffff;  // gpio status all 1
+       if (GPDR0  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0001;
+       if (GPDR1  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0002;																		 
+       if (GPDR2  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0004;
+       if (GPDR3  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0008;																		 
+       if (GPDR4  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0010;
+       if (GPDR5  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0020;																		 
+       if (GPDR6  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0040;
+       if (GPDR7  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0080;
+       if (GPDR8  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0100;
+       if (GPDR9  == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0200;
+       if (GPDR10 == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0400;
+       if (GPDR11 == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x0800;																		 
+       if (GPDR12 == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x1000;																		 
+       if (GPDR13 == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x2000;																		 
+       if (GPDR14 == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x4000;									
+       if (GPDR15 == OUTPUT) GPDR0_15 = GPDR0_15 | (uint16_t)0x8000;	
+       dev_i2c.i2c_write((uint8_t*)&GPDR0_15, expdevaddr, GPDR_0_7, 2);	
+       dev_i2c.i2c_write((uint8_t*)&GPSR0_15, expdevaddr, GPSR_0_7, 2);	
+    }
 											
-		void readGPSR0_15 (uint16_t * gpsr0_15){
-			dev_i2c.i2c_read((uint8_t*)gpsr0_15, expdevaddr, GPSR_0_7, 2);
-			GPSR0_15 = gpsr0_15;
-		}
+    void readGPSR0_15 (uint16_t * gpsr0_15)
+    {
+       dev_i2c.i2c_read((uint8_t*)gpsr0_15, expdevaddr, GPSR_0_7, 2);
+       GPSR0_15 = gpsr0_15;
+    }
 
-		void writeGPSR0_15 (uint16_t *gpsr0_15){
-			dev_i2c.i2c_write((uint8_t*)*gpsr0_15, expdevaddr, GPSR_0_7, 2);	
-			GPSR0_15 = *gpsr0_15;
-		}
+    void writeGPSR0_15 (uint16_t *gpsr0_15)
+    {
+       dev_i2c.i2c_write((uint8_t*)*gpsr0_15, expdevaddr, GPSR_0_7, 2);	
+       GPSR0_15 = *gpsr0_15;
+    }
 		
  private:
-    DevI2C           &dev_i2c; 	 
-		uint16_t 					GPDR0_15;
-		uint16_t					GPSR0_15;
-		uint8_t     		  expdevaddr;
- };
+    DevI2C &dev_i2c; 	 
+    uint16_t GPDR0_15;
+    uint16_t GPSR0_15;
+    uint8_t expdevaddr;
+};
 */
 #endif // __STMPE1600_CLASS