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.

Touch screen and AM3517 Experimenter using WinCE

Other Parts Discussed in Thread: AM3517, OMAP-L138, TSC2004

I have connected a LCD-6.4-VGA-10R display (from Logic) to an AM3517 Experimenter board (from Logic).  Using the TI supplied WinCE BSP (BSP_WINCE_ARM_A8_01_01_00) I have modified the /*OMAP_LCD_480W_272H*/ parameters in C:\WINCE600\PLATFORM\AM35x_BSP\SRC\BSP_COMMON\DISPLAY\lcd_vga.c to use the 640x480 VGA resolution.  The display looks fine, but the touch screen is not working.  Is there some setting I am missing that needs to be set to enable the touch screen.  All the touch screen related catalog items are selected as far as I can tell.

When the device first boots up via the SDCard the splash screen gets replaced by the touchscreen calibration display with the cross hair in the middle of the screen.  No amount of pressing combinations seem to make it move from the centre postion.  Pressing escape on the keyboard takes me to the normal WINCE desktop, where everything appears to work normally with the attached keyboard and mouse.  I can go to the stylus setup and bring up the calibration screen manually as well, but it does not appear to recognise any touching of the screen. 

The touch panel works on my OMAP-L138 EVM, so that is not the problem.  Does the TSC2004 need to be enabled some how and if so where, or is it an I2C issue?  The Third Party BSP touch panel driver is checked in the Catalog Item as is the Touch Screen (Stylus) item under CEBASE -> User Interface.

Thanks in advance.

 

Only changes made where to lcd_vga.c as follows:

    {   /*OMAP_LCD_640W_480H*/    
        DISPC_PIXELFORMAT_RGB16,            //pixelFmt;
        640,                                //width;
        480,                                //height;
        63,                                  //hsw;
        0,                                 //hfp;
        64,                                 //hbp;
        4,                                  //vsw;
        13,                                  //vfp;
        29,                                  //vbp;
        1,                                  //logClkDiv;
        2,                                  //pixelClkDiv;
        (17 << 0),                          //dss1ClkSel;   
        0,                                  //loadMode;
        (DISPC_POL_FREQ_IVS | DISPC_POL_FREQ_IHS | DISPC_POL_FREQ_ONOFF),//polFreq;
        0x00000000,                         //lcdDefaultColor;
        0x00000000,                         //lcdTransColor;
        0x00000000,                         //tvDefaultColor;
        0x00000000,                         //tvTransColor;   
    },

  • The fact that the touch driver works on your OMAP-L138 is meaningless as it is an ARM926 processor and uses a totally different BSP.

    The A8_01_01 BSP is for the A8 family ...like the AM35xx and DM37xx etc.  The touch driver in the A8 BSP is written around the 35XX EVM and its touch screen controller implementation. You will have to compare schematics to see if your experimenter's board implements the touch controller the same way (i.e. using the same touch controller chip, interfaced the same way ..I2C or SPI channel, gpio etc). There is most likely some minor pad and/or controller reconfiguration needed.

     

  • The mention of the device working on the OMAP EVM was merely to indicate that the lcd display with touch panel is working, and that I therefore deduce that the problem must lie either in the driver or a possible fault in the communications with the touch controller chip on the AM3517 Experimenter Board. However, this is a brand new board with no changes so my question really is has anyone used the AM3517 Development kit from Logic with the supplied 4.3" WQVGA LCD panel with 4-wire resistive touchscreen with the A8_01_01 WINCE BSP? I assume this must work or the BSP would not have been released for the EVM? The display I am using has exactly the same interface and plugs into the same header as the 4.3" WQVGA LCD panel with the only obvious difference being the display size and resolution. This I have dealt with as above so that 640x480 resolution displays correctly. Both the development kit and experimenter kit use the same baseboard and touch controller circuit, hence my surprise that it did not work out of the box, apart from my relatively minor change.
  • Clinton,

    The AM3517 dev kit has been tested and works with the supplied LCD - LQ043T1DG01 on A8_01_01 WINCE_BSP. Is this the same model of LCD panel you have? Have you tried using the binaries from the demo package of the BSP to make sure you have the LCD working out of the box?

    Thanks,

    Aparna

     

  • Hi Aparna,

    No I have the model up, also supplied by Logic (LCD-LQ64D343) their part number LCD-6.4-VGA-10R. It is a 6.4" VGA display as oppsed to the 4.3" WQVGA supplied with the development kit.   But the interface to the baseboard is identical for both models. Running the Demo binaries does not produce anything intelligible on the LCD panel.  Hence, my need to make the changes to get the VGA display to display correctly.

  • Clinton

    Since you can see the windows desktop, that tells that you have done the display changes correctly. Quick question on the changes though - at which index number did you insert your 640x480 LCD values in the structure lcd_res_params in lcd_vga.c? The reason I am asking this is because the BSP is designed such that only index 0 is the LCD configuration and rest are DVI. If the current selected display config is DVI, then touchscreen driver doesn't load. See IsDVIMode() function implementation. So if your LCD config is not at index 0 of that structure, either change the lcd_res_params structure or change the IsDVIMode() implementation both in eboot and kernel.

    Now, since you see the touchscreen calibration screen, it is likely that you don't have the above mentioned issue (but just double check). In that case, please instrument the touchscreen driver to see if you are getting the pen interrupt or not and debug further.

    Hope this helps,

    -Madhvi

  • Thanks Madhvei, I simply replaced the existing values in index 0 with the ones I needed, so that should not be the problem.