Azoteq IQS624 Serial Terminal Display Class

Dependents:   IQS624_HelloWorld Nucleo_ACM1602_I2C_DC_Angle

Library: IQSDisplayTerminal

Library for formatted display of IQS624 registers on a serial terminal

Screen Capture

Below is a screen capture of formatted output on a serial terminal program.
Note that over a million frames were captured with zero I2C errors. /media/uploads/AzqDev/iqs624-display-screencap-1m.gif

IQS624 Summary

Ultra low power I2C sensor for 2D Magnetic Angle, Capacitive touch and Inductive Proximity

IQS624 mbed Component Link

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


IQS624 Pinout

/media/uploads/AzqDev/iqs624-pinout-s3.gif

/media/uploads/AzqDev/iqs624-and-lpc1768-tiny.gif

IQS624 Connected to mbed LPC1768 board. The five wires are power(2), I2C(2) and RDY(1).

IQS624 Data Sheet

Azoteq IQS624 Data sheet & Evaluation Kit Information: http://bit.ly/IQS624_ds



IQS624 YouTube Link

IQS624 1-minute YouTube video: http://bit.ly/IQS624Video

Revision:
11:5200ac4ee76e
Parent:
10:d4f2c7c2bd82
Child:
12:75f1d9e5bf01
--- a/IQSdisplayTerminal.cpp	Sat May 13 00:55:45 2017 +0000
+++ b/IQSdisplayTerminal.cpp	Sun May 14 16:23:25 2017 +0000
@@ -62,16 +62,16 @@
  }
 
 // formatted hex display of IQS62x registers
-void IQS62xDisplay::showRegisters(char * buffer, char* color) {
-    printf("\r\n\r\n  Device ID (43) [00] "); showLine(buffer,color,0x00,0x0f);
-    printf("\r\n\r\n    System Flags [10] "); showLine(buffer,color,0x10,0x1f);
-    printf("\r\n\r\n        Counters [20] "); showLine(buffer,color,0x20,0x2f);
-    printf("\r\n\r\n        Averages [30] "); showLine(buffer,color,0x30,0x3f);
-    printf("\r\n\r\n     Touch Setup [40] "); showLine(buffer,color,0x40,0x4f);
-    printf("\r\n\r\n Touch Threshold [50] "); showLine(buffer,color,0x50,0x5f);
-    printf("\r\n\r\n Small Usr Setup [60] "); showLine(buffer,color,0x60,0x6f);
-    printf("\r\n\r\n   Hall Settings [70] "); showLine(buffer,color,0x70,0x7f);
-    printf("\r\n\r\n    Wheel Values [80] "); showLine(buffer,color,0x80,0x8f);
-    printf("\r\n\r\n    System Setup [d0] "); showLine(buffer,color,0xd0,0xdf);
+void IQS62xDisplay::showRegisters(char * buffer, char* color, bool debug) {
+    bool d = debug; // if this is true we always display all 16 values in the line
+    printf("\r\n\r\n  Device ID (43)  [00] "); showLine(buffer,color,0x00,d?0x0f:0x02);
+    printf("\r\n\r\n    System Flags  [10] "); showLine(buffer,color,0x10,d?0x1f:0x15);
+    printf("\r\n\r\n Raw Channels 0-5 [20] "); showLine(buffer,color,0x20,d?0x2f:0x2b);
+    printf("\r\n\r\n        Averages  [30] "); showLine(buffer,color,0x30,d?0x3f:0x33);
+    printf("\r\n\r\n     Touch Setup  [40] "); showLine(buffer,color,0x40,d?0x4f:0x49);
+    printf("\r\n\r\n Touch Thresholds [50] "); showLine(buffer,color,0x50,d?0x5f:0x54);
+    printf("\r\n\r\n   Hall Settings  [70] "); showLine(buffer,color,0x70,d?0x7f:0x7a);
+    printf("\r\n\r\n   Wheel Outputs  [80] "); showLine(buffer,color,0x80,d?0x8f:0x8f);
+    printf("\r\n\r\n    System Setup  [d0] "); showLine(buffer,color,0xd0,d?0xdf:0xd6);
     printf("\r\n\r\n");
 }
\ No newline at end of file