![](/media/cache/group/Azoteq-logo-3.gif.50x50_q85.png)
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:
IQS622_Init/IQS622_Init.cpp@4:2c5ea9dc0662, 2017-05-13 (annotated)
- Committer:
- AzqDev
- Date:
- Sat May 13 01:25:40 2017 +0000
- Revision:
- 4:2c5ea9dc0662
- Child:
- 5:c88aa2de6f61
Added IQS622_Init.h processing
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AzqDev | 4:2c5ea9dc0662 | 1 | #include "IQS62x.h" |
AzqDev | 4:2c5ea9dc0662 | 2 | |
AzqDev | 4:2c5ea9dc0662 | 3 | // Function to configure/initialize the IQS624 |
AzqDev | 4:2c5ea9dc0662 | 4 | // Uses the configuration data provided in "IQS624_Init.h" |
AzqDev | 4:2c5ea9dc0662 | 5 | // The file "IQS624_Init.h" can be created/exported by the Azoteq software tools |
AzqDev | 4:2c5ea9dc0662 | 6 | // The included version of "IQS624_Init.h" is a robust demo configuration |
AzqDev | 4:2c5ea9dc0662 | 7 | // More info on IQS624: http://www.azoteq.com/products/proxfusion/iqs624?mbed |
AzqDev | 4:2c5ea9dc0662 | 8 | |
AzqDev | 4:2c5ea9dc0662 | 9 | #include "IQS622_Init.h" |
AzqDev | 4:2c5ea9dc0662 | 10 | |
AzqDev | 4:2c5ea9dc0662 | 11 | void IQS62xIO::configure() { |
AzqDev | 4:2c5ea9dc0662 | 12 | |
AzqDev | 4:2c5ea9dc0662 | 13 | /* Change the Prox Sensor Settings */ |
AzqDev | 4:2c5ea9dc0662 | 14 | /* Memory Map Position 0x40 - 0x49 */ |
AzqDev | 4:2c5ea9dc0662 | 15 | writeRegister( 0x40, PXS_SETTINGS_0 ); |
AzqDev | 4:2c5ea9dc0662 | 16 | writeRegister( 0x41, PXS_SETTINGS_1 ); |
AzqDev | 4:2c5ea9dc0662 | 17 | writeRegister( 0x42, PXS_SETTINGS_2 ); |
AzqDev | 4:2c5ea9dc0662 | 18 | writeRegister( 0x43, PXS_SETTINGS_3 ); |
AzqDev | 4:2c5ea9dc0662 | 19 | writeRegister( 0x44, PXS_SETTINGS_4 ); |
AzqDev | 4:2c5ea9dc0662 | 20 | writeRegister( 0x45, PXS_SETTINGS_5 ); |
AzqDev | 4:2c5ea9dc0662 | 21 | writeRegister( 0x46, PXS_SETTINGS_6 ); |
AzqDev | 4:2c5ea9dc0662 | 22 | writeRegister( 0x47, PXS_SETTINGS_7 ); |
AzqDev | 4:2c5ea9dc0662 | 23 | writeRegister( 0x48, PXS_SETTINGS_8 ); |
AzqDev | 4:2c5ea9dc0662 | 24 | writeRegister( 0x49, PXS_SETTINGS_9 ); |
AzqDev | 4:2c5ea9dc0662 | 25 | |
AzqDev | 4:2c5ea9dc0662 | 26 | /* Change the Prox UI Settings */ |
AzqDev | 4:2c5ea9dc0662 | 27 | /* Memory Map Position 0x50 - 0x54 */ |
AzqDev | 4:2c5ea9dc0662 | 28 | writeRegister( 0x50, PXS_UI_SETTINGS_0 ); |
AzqDev | 4:2c5ea9dc0662 | 29 | writeRegister( 0x51, PXS_UI_SETTINGS_1 ); |
AzqDev | 4:2c5ea9dc0662 | 30 | writeRegister( 0x52, PXS_UI_SETTINGS_2 ); |
AzqDev | 4:2c5ea9dc0662 | 31 | writeRegister( 0x53, PXS_UI_SETTINGS_3 ); |
AzqDev | 4:2c5ea9dc0662 | 32 | writeRegister( 0x54, PXS_UI_SETTINGS_4 ); |
AzqDev | 4:2c5ea9dc0662 | 33 | |
AzqDev | 4:2c5ea9dc0662 | 34 | /* Change the HALL Sensor Settings */ |
AzqDev | 4:2c5ea9dc0662 | 35 | /* Memory Map Position 0x70 - 0x7A */ |
AzqDev | 4:2c5ea9dc0662 | 36 | writeRegister( 0x70, HALL_SETTINGS_0 ); |
AzqDev | 4:2c5ea9dc0662 | 37 | writeRegister( 0x71, HALL_SETTINGS_1 ); |
AzqDev | 4:2c5ea9dc0662 | 38 | writeRegister( 0x72, HALL_SETTINGS_2 ); |
AzqDev | 4:2c5ea9dc0662 | 39 | writeRegister( 0x73, HALL_SETTINGS_3 ); |
AzqDev | 4:2c5ea9dc0662 | 40 | writeRegister( 0x74, HALL_SETTINGS_4 ); |
AzqDev | 4:2c5ea9dc0662 | 41 | writeRegister( 0x75, HALL_SETTINGS_5 ); |
AzqDev | 4:2c5ea9dc0662 | 42 | writeRegister( 0x76, HALL_SETTINGS_6 ); |
AzqDev | 4:2c5ea9dc0662 | 43 | writeRegister( 0x77, HALL_SETTINGS_7 ); |
AzqDev | 4:2c5ea9dc0662 | 44 | writeRegister( 0x78, HALL_SETTINGS_8 ); |
AzqDev | 4:2c5ea9dc0662 | 45 | writeRegister( 0x79, HALL_SETTINGS_9 ); |
AzqDev | 4:2c5ea9dc0662 | 46 | writeRegister( 0x7a, HALL_SETTINGS_10 ); |
AzqDev | 4:2c5ea9dc0662 | 47 | |
AzqDev | 4:2c5ea9dc0662 | 48 | /* Change the Device & PMU Settings */ |
AzqDev | 4:2c5ea9dc0662 | 49 | /* Memory Map Position 0xD0 - 0xD7 */ |
AzqDev | 4:2c5ea9dc0662 | 50 | writeRegister( 0xd0, SYSTEM_SETTINGS ); |
AzqDev | 4:2c5ea9dc0662 | 51 | writeRegister( 0xd1, ACTIVE_CHS ); |
AzqDev | 4:2c5ea9dc0662 | 52 | writeRegister( 0xd2, PMU_SETTINGS ); |
AzqDev | 4:2c5ea9dc0662 | 53 | writeRegister( 0xd3, REPORT_RATES_TIMINGS_0 ); |
AzqDev | 4:2c5ea9dc0662 | 54 | writeRegister( 0xd4, REPORT_RATES_TIMINGS_1 ); |
AzqDev | 4:2c5ea9dc0662 | 55 | writeRegister( 0xd5, REPORT_RATES_TIMINGS_2 ); |
AzqDev | 4:2c5ea9dc0662 | 56 | writeRegister( 0xd6, REPORT_RATES_TIMINGS_3 ); |
AzqDev | 4:2c5ea9dc0662 | 57 | writeRegister( 0xd7, REPORT_RATES_TIMINGS_4 ); |
AzqDev | 4:2c5ea9dc0662 | 58 | |
AzqDev | 4:2c5ea9dc0662 | 59 | } |
AzqDev | 4:2c5ea9dc0662 | 60 | // end of IQS624_Init.cpp |