Hello,
i enquired to tech support about those two app notes, and they said that they haven't yet been written, so we don't know the details of some registers. Missing is in particular any information about using the GPIO functionality e.g. for feedback LEDS, and the ELEPROX mode of using all 12 electrodes combined as a proximity sensor
Here is the initialization code I used for 12 simple keys, based on the documentation that is available and the KITMPR121 code :
MPR121_WriteRegister(0x2B,1); // MAX HALF DELTA Rising
MPR121_WriteRegister(0x2C,1); // NOISE HALF DELTA Rising
MPR121_WriteRegister(0x2D,0); // NOISE COUNT LIMIT Rising
MPR121_WriteRegister(0x2E,0); // DELAY LIMIT Rising
MPR121_WriteRegister(0x2F,1); // MAX HALF DELTA Falling
MPR121_WriteRegister(0x30,1); // NOISE HALF DELTA Falling
MPR121_WriteRegister(0x31,0xFF); // NOISE COUNT LIMIT Falling
MPR121_WriteRegister(0x32,2); // DELAY LIMIT Falling
MPR121_WriteRegister(0x41,15); // ELE0 TOUCH THRESHOLD
MPR121_WriteRegister(0x42,10); // ELE0 RELEASE THRESHOLD
MPR121_WriteRegister(0x43,15); // ELE1 TOUCH THRESHOLD
MPR121_WriteRegister(0x44,10); // ELE1 RELEASE THRESHOLD
MPR121_WriteRegister(0x45,15); // ELE2 TOUCH THRESHOLD
MPR121_WriteRegister(0x46,10); // ELE2 RELEASE THRESHOLD
MPR121_WriteRegister(0x47,15); // ELE3 TOUCH THRESHOLD
MPR121_WriteRegister(0x48,10); // ELE3 RELEASE THRESHOLD
MPR121_WriteRegister(0x49,15); // ELE4 TOUCH THRESHOLD
MPR121_WriteRegister(0x4A,10); // ELE4 RELEASE THRESHOLD
MPR121_WriteRegister(0x4B,15); // ELE5 TOUCH THRESHOLD
MPR121_WriteRegister(0x4C,10); // ELE5 RELEASE THRESHOLD
MPR121_WriteRegister(0x4D,15); // ELE6 TOUCH THRESHOLD
MPR121_WriteRegister(0x4E,10); // ELE6 RELEASE THRESHOLD
MPR121_WriteRegister(0x4F,15); // ELE7 TOUCH THRESHOLD
MPR121_WriteRegister(0x50,10); // ELE7 RELEASE THRESHOLD
MPR121_WriteRegister(0x51,15); // ELE8 TOUCH THRESHOLD
MPR121_WriteRegister(0x52,10); // ELE8 RELEASE THRESHOLD
MPR121_WriteRegister(0x53,15); // ELE9 TOUCH THRESHOLD
MPR121_WriteRegister(0x54,10); // ELE9 RELEASE THRESHOLD
MPR121_WriteRegister(0x55,15); // ELE10 TOUCH THRESHOLD
MPR121_WriteRegister(0x56,10); // ELE10 RELEASE THRESHOLD
MPR121_WriteRegister(0x57,15); // ELE11 TOUCH THRESHOLD
MPR121_WriteRegister(0x58,10); // ELE11 RELEASE THRESHOLD
MPR121_WriteRegister(0x59,15); // eleprox TOUCH THRESHOLD
MPR121_WriteRegister(0x5a,10); // eleprox RELEASE THRESHOLD
MPR121_WriteRegister(0x5C,0x0B); // AFE CONFIG FFI CDC %1011 AN3889
MPR121_WriteRegister(0x5D,0x04); // TOUCH DETECTION CONFIG last 3 bits = sample interval ; 4 == 5ms ( slows down samples to achieve 29uA consumption)
MPR121_WriteRegister(0x7B,0x0B); // %1011 AUTOCONFIG enable
MPR121_WriteRegister(0x7D,156); //196 was 156 AUTOCONFIG upper limit USL 156 for 1,8V 196 for 3V
MPR121_WriteRegister(0x7E,101); //127 was 101 AUTOCONFIG lower limit LSL 65% of USL
MPR121_WriteRegister(0x7F,140); //176 was 140 AUTOCONFIG target level 90% of USL
MPR121_WriteRegister(0x5E,0x0c); // START PESCE (number of electrodes )
Writing 0c3D to register 0x5E seems to enable ELEPROX...