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 +};