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:
12:5a9bbbd6e312
Parent:
11:4d6d1da5bd31
Child:
14:2514595e2753
--- a/IQS62x.h	Fri May 12 14:55:20 2017 +0000
+++ b/IQS62x.h	Fri May 12 23:14:44 2017 +0000
@@ -31,7 +31,14 @@
     DigitalIn IQSready; // ready pin
     const static int I2Cspeed = I2CSPEED; // I2C clock rate
     int I2CErrorCount; // number of I2C errors
-    char I2CBuffer [I2CBufferSize]; // I2C read buffer
+    char I2CBuffer    [I2CBufferSize]; // I2C read buffer
+
+    char writeFlag     [I2CBufferSize]; // to remember our if we wrote to this register
+    char lastWrite     [I2CBufferSize]; // to remember what we wrote to this register
+    char lastRead      [I2CBufferSize]; // to remember what we read from this register
+    char readChanges   [I2CBufferSize]; // to log changes from previous read
+    char writeChanges  [I2CBufferSize]; // to log changes from what we wrote
+
     char * registers; // pointer to I2C read buffer
     IQS62xIO(); // constructor    
     
@@ -39,5 +46,5 @@
     void configure(); // write configuration registers of the IQS62x    
     void readAll(); // read all registers from the IQS62x     
     void readIqsRegisters(int start, int count); // starting at "start" read count registers
-    void waitForReady(); // wait for IQS62x ready signal
+    void waitForIqsReady(); // wait for IQS62x ready signal
 };
\ No newline at end of file