This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430FR2533: Touch calibration for thick sticker

Part Number: MSP430FR2533

Hi all,

I am using MSP430FR2533 for touch sensing. I have found when i programmed it with captivate design centre it worked fine without any acrylic on it.

Now i placed one acrylic sheet on it of 4mm. Now the same can not sense the touch. I did following changes in "CAPT_UserConfig.c" and it started sensing. Please suggest is this the right way to do it??

Previous:

tButtonSensorParams Touch_Params;
tSensor Touch =
{
    // Basic Properties
    .TypeOfSensor = eButtonGroup,
    .SensingMethod = eSelf,
    .DirectionOfInterest = eDOIDown,
    .pvCallback = NULL,
    .ui8NrOfCycles = 4,
    .pCycle = Touch_Cycles,
    .pSensorParams = (tGenericSensorParams*)&Touch_Params,
    // Conversion Control Parameters
    .ui16ConversionCount = 500,
    .ui16ConversionGain = 200,
    .ui8FreqDiv = 2,
    .ui8ChargeLength = 0,
    .ui8TransferLength = 0,
    .bModEnable = false,
    .ui8BiasControl = 3,
    .bCsDischarge = true,
    .bLpmControl = false,
    .ui8InputSyncControl = 0,
    .bTimerSyncControl = false,
    .bIdleState = true,
    // Tuning  Parameters
    .ui16ProxThreshold = 10,
    .ui16NegativeTouchThreshold = 20,
    .ui16ErrorThreshold = 8191,
    .ui16TimeoutThreshold = 1000,
    .ProxDbThreshold.DbIn = 1,
    .ProxDbThreshold.DbOut = 0,
    .TouchDbThreshold.DbIn = 1,
    .TouchDbThreshold.DbOut = 0,
    .bCountFilterEnable = true,
    .ui8CntBeta = 1,
    .bSensorHalt = false,
    .bPTSensorHalt = true,
    .bPTElementHalt = true,
    .ui8LTABeta = 7,
    .bReCalibrateEnable = true,
};

Now changed to :

tButtonSensorParams Touch_Params;
tSensor Touch =
{
    // Basic Properties
    .TypeOfSensor = eButtonGroup,
    .SensingMethod = eSelf,
    .DirectionOfInterest = eDOIDown,
    .pvCallback = NULL,
    .ui8NrOfCycles = 4,
    .pCycle = Touch_Cycles,
    .pSensorParams = (tGenericSensorParams*)&Touch_Params,
    // Conversion Control Parameters
    .ui16ConversionCount = 750,
    .ui16ConversionGain = 100,
    .ui8FreqDiv = 2,
    .ui8ChargeLength = 0,
    .ui8TransferLength = 0,
    .bModEnable = false,
    .ui8BiasControl = 3,
    .bCsDischarge = true,
    .bLpmControl = false,
    .ui8InputSyncControl = 0,
    .bTimerSyncControl = false,
    .bIdleState = true,
    // Tuning  Parameters
    .ui16ProxThreshold = 10,
    .ui16NegativeTouchThreshold = 20,
    .ui16ErrorThreshold = 8191,
    .ui16TimeoutThreshold = 1000,
    .ProxDbThreshold.DbIn = 1,
    .ProxDbThreshold.DbOut = 0,
    .TouchDbThreshold.DbIn = 1,
    .TouchDbThreshold.DbOut = 0,
    .bCountFilterEnable = true,
    .ui8CntBeta = 1,
    .bSensorHalt = false,
    .bPTSensorHalt = true,
    .bPTElementHalt = true,
    .ui8LTABeta = 7,
    .bReCalibrateEnable = true,
};

Changes are marked in red. Please suggest.

Regards.

  • Hi Pallav,

    You should generate new source code inside of the Design Center Studio's MSP430 Controller properties once you have tuned the Button Sensor parameters to your liking, according to the Channel Data feedback provided inside of the sensor properties. You would then re-program the device through CCS to have the changes take place by default on reset/power-on. This is the typical process for calibrating CapTIvate designs.

    Regards,
    Ryan
  • Hi Ryan,

    Thanks for the suggestion but i want to calibrate my own PCB ,which does not have communication available so that i can connect the same with Captivate design centre file.

    So the issue remais same for calibration. And i did it manually as shown above. Do you have any other idea for the same?

    Regards.
  • Hi Pallav,

    You do not have any I2C or UART interface available with the MSP430FR2533? There is nothing wrong with the manual calibration you've done except that it will become very difficult to tune the sensors to your desired specifications.

    Regards,
    Ryan

**Attention** This is a public forum