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
Handy Table of ProxFusion Device Features
ALS = Ambient Light Sensor PIR = Passive Infrared
Revision 16:b77c819f6c6a, committed 2017-05-14
- Comitter:
- AzqDev
- Date:
- Sun May 14 19:21:42 2017 +0000
- Parent:
- 15:6a2f52b5ac46
- Child:
- 17:2d46eabb129e
- Commit message:
- Added getTable()
Changed in this revision
| IQS62x.cpp | Show annotated file Show diff for this revision Revisions of this file |
| IQS62x.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/IQS62x.cpp Sat May 13 16:08:38 2017 +0000
+++ b/IQS62x.cpp Sun May 14 19:21:42 2017 +0000
@@ -106,7 +106,19 @@
if(IQSready==0) break;
if (timeout++ > 1000000) goto fatal_error;
}
- return;
+ return;;
fatal_error:
error ("Fatal Error: IQS62x ready pin is not toggling");
+}
+
+// return one of the tables of changes that we maintain
+char * IQS62xIO::getTable( int option )
+{
+ switch ( option ) {
+ case 1 : return readChangesEver; // a table to flag any register that ever changed
+ case 2 : return readChanges; // a table to flag any register that changed in the last 20 reads
+ case 3 : return writeFlag; // a table to flag any register we wrote to or initialized
+ case 4 : return writeChanges; // a table to flag any register we wrote to but then its value changed
+ default: return NULL;;
+ }
}
\ No newline at end of file
--- a/IQS62x.h Sat May 13 16:08:38 2017 +0000
+++ b/IQS62x.h Sun May 14 19:21:42 2017 +0000
@@ -46,7 +46,17 @@
void writeRegister(int address, int data); // write a byte to a register
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 waitForIqsReady(); // wait for IQS62x ready signal
-};
\ No newline at end of file
+ char * getTable( int ); // fetch one of the tables containing changes in register values
+ // an enumerated type we use in main to select one of the tables of changes
+};
+
+// used with getTable()
+enum changeType {
+ color_nothing=0, // no change table selected
+ color_any_register_that_ever_changed=1, // a table to flag any register that ever changed
+ color_any_register_that_changed_in_the_previous_20_reads=2, // a table to flag any register that changed in the last 20 reads
+ color_any_register_that_was_written_or_initialized=3, // a table to flag any register we wrote to or initialized
+ color_any_register_that_was_written_but_then_changed=4 // a table to flag any register we wrote to but then its value changed
+};
IQS624
IQS620A
IQS620A-EVAL-1
IQS621
IQS621-EVAL-1
IQS622
IQS622-EVAL-1
IQS624-EVAL-1