Loading...
 

SW4STM32 and SW4Linux fully supports the STM32MP1 asymmetric multicore Cortex/A7+M4 MPUs

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world. And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4.
You can get more information from the ac6-tools website and download (registration required) various documents highlighting:

System Workbench for STM32


Touch support after screen rotation F429

Hey,

I try to run the VSREEN_Sample of Segger on the STM32F429Disc1.
So i managed to rotate the screen to landscape and the demo is displaying right. But now I have no touc support anymore.

If I only print a Messagebox I can push the button on another position of the display. So I think the calculatet positions are wrong.

Do you have any helpt?

Thanks :-)


Hey,

I swapped X and Y in the driver. But it does not solved the problem.


Tunisia

I have developped a small code testing this : not clean but works for me ;)

intialization
BSP_TS_Init(320, 240); // instead of 240, 320

stm32f429i_discovery_ts.c
/**
  * @brief  Returns status and positions of the touch screen.
  * @param  TsState: Pointer to touch screen current state structure
  */
void BSP_TS_GetState(TS_StateTypeDef* TsState)
{
  static uint32_t _x = 0, _y = 0;
  uint16_t xDiff, yDiff , x , y, xr, yr;
  
  TsState->TouchDetected = TsDrv->DetectTouch(TS_I2C_ADDRESS);
  
  if(TsState->TouchDetected)
  {
    TsDrv->GetXY(TS_I2C_ADDRESS, &y, &x);//instead of &x, &y
    
    // ......
}

Thanks for your help.

I am working with the driver delivered by ST. I can switch the variables for x and y. In your example you can define how much pixel the touch screen have. In the driver I can not find such a definition.