Library to read and write Azoteq IQS6xx device registers via I2C.

Dependents:   IQS620_HelloWorld IQS622_HelloWorld IQS624_HelloWorld IQS621_HelloWorld ... more

Library: IQS62x

Library to read and write Azoteq IQS6xx device registers via I2C.

Supported Devices

Components / IQS620A
Ultra low power sensor for magnetic field, capacitive touch and inductive proximity. Empowers next-generation user interfaces.

Components / IQS621
Azoteq IQS621 ultra low power sensor for ambient light, magnetic field, capacitance and inductive proximity. Empowers next-generation user interfaces.

Components / IQS622
Azoteq IQS622 ultra low power sensor for ambient light, active (reflective) IR, magnetic field, capacitance and inductive proximity. Empowers next-generation user interfaces.

Components / IQS624
Ultra low power sensor for rotating magnetic field, capacitive touch, and inductive proximity. Empowers next-generation user interfaces.

Handy Table of ProxFusion Device Features


ALS = Ambient Light Sensor PIR = Passive Infrared

/media/uploads/AzqDev/mbed-azoteq-proxfusion-handy-table-of-product-features.jpg

Revision:
13:71f8ee16a3a1
Parent:
12:5a9bbbd6e312
Child:
14:2514595e2753
--- a/IQS62x.cpp	Fri May 12 23:14:44 2017 +0000
+++ b/IQS62x.cpp	Sat May 13 09:26:47 2017 +0000
@@ -78,9 +78,10 @@
             writeChanges[i]=1; // if register different from what we wrote, mark it
         }
         if ( I2CBuffer[i] != lastRead[i] )
-            readChanges[i]=1; // if register differs from previous read, mark it
-        else
-            readChanges[i]=0; // no change, no flag
+            readChanges[i]=20; // if register differs from previous read, highlight it for 20 read cycles
+        else {
+            if (readChanges[i] > 0) readChanges[i]--; // bring it closer to zero
+        }
     }
     memcpy(lastRead, I2CBuffer, I2CBufferSize); // preserve data for next round
 #endif