AnsweredAssumed Answered

mpr121 auto adjust baseline values

Question asked by maximadelman on Sep 9, 2013
Latest reply on Sep 12, 2013 by maximadelman

My system consists of a touchpad that can be used either free-hanging or attached to

glass.  I would like the keypad to be able to move from free-hanging to attached

state and back without explicit recalibration performed by the application.


The values in the filtered electrode data registers in free-hanging mode are ~ 0x3D0.

In attached mode, they are ~0x360.  I am having the following problem - no matter what I try, I

can only get the baseline registers to auto-adjust from the smaller to the larger

values.   I.e. if I calibrate attached to the glass, baseline register will contain 0x360;

subsequently removing the touchpad from the glass, I see baseline registers change to

0x3D0.  However, the opposite is not true - if I calibrate in free-hanging mode and then

attach to the glass, then the baseline registers will not adjust from 0x3D0 to 0x360 no

matter how long I wait.


The values I program into baseline control registers are:


MHD_R = MHD_F = 0x3F

NHD_R  = NHD_F = 0x4

NCL_R   = NCL_F = 0x2

FDL_R   = FDL_F = 0x2

Any help would be appreciated.  It is a given that the device will not be operated multiple seconds around the change of state from attached to free-standing and back.