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.

Trying to write touch drivers for "BOOSTXL-K350QVG-S1 QVGA Display BoosterPack™ Plug-in Module"

Other Parts Discussed in Thread: CC3200

As the title says, I am trying to write touch drivers for this boosterpack on the cc3200, but I cannot find information on how the touch screen works. I tried analyzing the touch drivers for the tiva C(which are written for this boosterpack) but can't seem to understand or follow it well. This is the user guide 

Thanks in advance!

  • Moving this to "TM4C Microcontrollers Forum"

    Regards,
    Gigi Joseph.
  • Hello Andres,

    The touch driver uses periodic ADC sampling to convert the X and Y voltage samples to determine the position of the touch. You can see the same in calibrate example in TivaWare.

    Regards
    Amit
  • Yes I know, but since the adc's in both the c3200 and tiva C are so different. I am looking for some documentation on the touch screen because I tried doing what they did on tiva C but on the cc3200 and nothing.
  • Perhaps - in case yours is a resistive, 4-wire, Touch Screen - this "general touch-screen guide" helps:  (our firm past designed/produced/sold similar)

    a) determine which leads make up the "horizontal" and "vertical" resistive elements of your touch screen.

    Usually this can be accomplished by measuring the resistance across all 4 wires - the 2 with lowest resistance normally define one touch "plane."

    Once you've identified one touch "pair" - repeat the process for the orthogonal plane.

    While the above is a universal method - better still is "official data" from your vendor.

    b) once each plane's wiring scheme is known you may apply current limited 3V3 to one wire - and ground to the other - of a single plane.  (2 wires)  Then connect a voltmeter to one of the 2 remaining (unconnected) wires.   When you then gently "touch" the screen - the voltage should vary based upon the placement of your touch upon the screen.   Reverse this procedure to test/eval the 2nd plane.

    c) armed with this data - you may then configure your MCU to provide 3V3 and ground to one touch plane at a time - while feeding one wire from the 2nd plane into the MCU's properly set-up/configured ADC channels.   The ADC's reading should track the placement of your touch.  I'd confirm this single plane operation first.

    d) when (c) has been achieved - then you have the challenge of, "Regularly applying 3V3 and ground to one plane - reading the signal from the 2nd plane - and then "removing both 3V3 & ground" from that first plane - and applying that same method to plane 2 - while then reading one lead from plane 1.

    e) it is possible that 2 MCU GPIOs may prove adequate to source 3V3 and Gnd to a touch plane.   When you've "finished" that cycle you must "switch" both of those GPIOs from outputs to inputs - with the provision that one of those pins is also an ADC channel.   (needed to "read" the 2nd plane's touch data)   60-100 Hz touch "scan" rates usually suffice - the software "coordination" demanded is not unlike that of an orchestra conductor - enabling/disabling different sections of his orchestra...

    Almost all those who attempt this in "one gulp" crash-burn (as well they should!)   KISS dictates, slow, measured, methodical movements toward the (distant) goal...

  • Hello Andres,

    The first step would be to get the ADC of the CC3200 working for simple input signals to ensure that the setup is clean from base API's. Then as cb1 has shown step by step integration of the panel.

    Also do note that once I have got a broken touch panel, so you may want to check that as well.

    Regards
    Amit
  • We note that the systematic (KISS) approach suggested quickly/easily "tests" for "broken touch panel" - w/out the need for a single line of code!