Ultra Low Power (5uA) I2C Multi-Function Sensor with Light Sensor + Active (Reflective) IR + Touch + Hall Effect Sensor
Dependencies: IQS622DisplayTerminal IQS62x mbed
Hello World! From Azoteq's IQS622 Ultra Low Power Multi-Sensor
This is a demo program for the Azoteq IQS622 ultra low power multi function sensor.
More details on the IQS622 component pages here:
Diff: IQS622_Init/IQS622_Init.cpp
- Revision:
- 5:c88aa2de6f61
- Parent:
- 4:2c5ea9dc0662
- Child:
- 13:84494b9f6711
--- a/IQS622_Init/IQS622_Init.cpp Sat May 13 01:25:40 2017 +0000 +++ b/IQS622_Init/IQS622_Init.cpp Sat May 13 02:49:40 2017 +0000 @@ -11,7 +11,7 @@ void IQS62xIO::configure() { /* Change the Prox Sensor Settings */ -/* Memory Map Position 0x40 - 0x49 */ +/* Memory Map Position 0x40 - 0x4D */ writeRegister( 0x40, PXS_SETTINGS_0 ); writeRegister( 0x41, PXS_SETTINGS_1 ); writeRegister( 0x42, PXS_SETTINGS_2 ); @@ -21,7 +21,11 @@ writeRegister( 0x46, PXS_SETTINGS_6 ); writeRegister( 0x47, PXS_SETTINGS_7 ); writeRegister( 0x48, PXS_SETTINGS_8 ); - writeRegister( 0x49, PXS_SETTINGS_9 ); + writeRegister( 0x49, PXS_SETTINGS_9 ); + writeRegister( 0x4a, PXS_SETTINGS_10 ); + writeRegister( 0x4b, PXS_SETTINGS_11 ); + writeRegister( 0x4c, PXS_SETTINGS_12 ); + writeRegister( 0x4d, PXS_SETTINGS_13 ); /* Change the Prox UI Settings */ /* Memory Map Position 0x50 - 0x54 */ @@ -31,20 +35,44 @@ writeRegister( 0x53, PXS_UI_SETTINGS_3 ); writeRegister( 0x54, PXS_UI_SETTINGS_4 ); +/* Change the Prox UI Settings */ +/* Memory Map Position 0x60 - 0x65 */ + writeRegister( 0x60, SAR_UI_SETTINGS_0 ); + writeRegister( 0x61, SAR_UI_SETTINGS_1 ); + writeRegister( 0x62, SAR_UI_SETTINGS_2 ); + writeRegister( 0x63, SAR_UI_SETTINGS_3 ); + writeRegister( 0x64, SAR_UI_SETTINGS_4 ); + writeRegister( 0x65, SAR_UI_SETTINGS_5 ); + +/* Change the Light Sensor Settings */ +/* Memory Map Position 0x70 - 0x75 */ + writeRegister( 0x70, LIGHT_SENSOR_SETTINGS_0 ); + writeRegister( 0x71, LIGHT_SENSOR_SETTINGS_1 ); + writeRegister( 0x72, LIGHT_SENSOR_SETTINGS_2 ); + writeRegister( 0x73, LIGHT_SENSOR_SETTINGS_3 ); + writeRegister( 0x74, LIGHT_SENSOR_SETTINGS_4 ); + writeRegister( 0x75, LIGHT_SENSOR_SETTINGS_5 ); + +/* Change the Active IR UI Settings */ +/* Memory Map Position 0x90 - 0x93 */ + writeRegister( 0x90, IR_UI_SETTINGS_0 ); + writeRegister( 0x91, IR_UI_SETTINGS_1 ); + writeRegister( 0x92, IR_UI_SETTINGS_2 ); + writeRegister( 0x93, IR_UI_SETTINGS_3 ); + /* Change the HALL Sensor Settings */ -/* Memory Map Position 0x70 - 0x7A */ - writeRegister( 0x70, HALL_SETTINGS_0 ); - writeRegister( 0x71, HALL_SETTINGS_1 ); - writeRegister( 0x72, HALL_SETTINGS_2 ); - writeRegister( 0x73, HALL_SETTINGS_3 ); - writeRegister( 0x74, HALL_SETTINGS_4 ); - writeRegister( 0x75, HALL_SETTINGS_5 ); - writeRegister( 0x76, HALL_SETTINGS_6 ); - writeRegister( 0x77, HALL_SETTINGS_7 ); - writeRegister( 0x78, HALL_SETTINGS_8 ); - writeRegister( 0x79, HALL_SETTINGS_9 ); - writeRegister( 0x7a, HALL_SETTINGS_10 ); - +/* Memory Map Position 0xA0 - 0xA3 */ + writeRegister( 0xa0, HALL_SENSOR_SETTINGS_0 ); + writeRegister( 0xa1, HALL_SENSOR_SETTINGS_1 ); + writeRegister( 0xa2, HALL_SENSOR_SETTINGS_2 ); + writeRegister( 0xa3, HALL_SENSOR_SETTINGS_3 ); + +/* Change the HALL Switch UI Settings */ +/* Memory Map Position 0xB0 - 0xB2 */ + writeRegister( 0xb0, HALL_UI_SETTINGS_0 ); + writeRegister( 0xb1, HALL_UI_SETTINGS_1 ); + writeRegister( 0xb2, HALL_UI_SETTINGS_2 ); + /* Change the Device & PMU Settings */ /* Memory Map Position 0xD0 - 0xD7 */ writeRegister( 0xd0, SYSTEM_SETTINGS ); @@ -54,7 +82,7 @@ writeRegister( 0xd4, REPORT_RATES_TIMINGS_1 ); writeRegister( 0xd5, REPORT_RATES_TIMINGS_2 ); writeRegister( 0xd6, REPORT_RATES_TIMINGS_3 ); - writeRegister( 0xd7, REPORT_RATES_TIMINGS_4 ); + writeRegister( 0xd7, GLOBAL_EVENT_MASK ); } // end of IQS624_Init.cpp \ No newline at end of file