cancel
Showing results for 
Search instead for 
Did you mean: 

What is the purpose of the Middlewares touchgfx_backup directory?

scottSD
Senior III

This was created after saying "Yes" to the following question:

0693W000004IYxxQAG.png

I assume it is so one doesn't lose any modifications made to the framework or other files?

Do I need to maintain this directory?

18 REPLIES 18
Alexandre RENOUX
Principal

Hello,

If your project is working after updating to a new version, you can delete the backup directories. No need to maintain them 🙂

/Alexandre

@Alexandre RENOUX​ 

What do I do if my project is not working? I am having all kinds issues getting my previous project to work.

I am seeing MANY issues with painters giving me assert messages. This kind of error happens when instantiating an object, so I can't just run to a line in the debugger to find where the issue is. I am using a lot of different painters and it is becoming tedious commenting them out to figure out which one is giving me the issue.

Will the previous framework version work with the new Designer?

I created a simple project for a test. I placed a circle on the screen and then setup the circle to use an L8 image.

The base file for the screen (created by the Designer) does add an L8 image painter for the circle.

touchgfx::Circle circle1;
    touchgfx::PainterRGB565L8Bitmap circle1Painter;

There was a bug I reported back in December of 2019 as seen at the end of the following thread:

https://community.st.com/s/question/0D50X0000BdgJZkSQM/is-the-l8argb8888-image-format-supported-for-shapes-widget-if-not-will-it-be-in-the-future

It does look like you fixed this bug (thanks).

However, I have a lot of issues after the 4.13 to 4.14 conversion I have to figure out.....

@Alexandre RENOUX​ 

For example, I am also running Stm32CubeIDE 1.4.2. When doing a CubeMX Generate, I am now getting the following error that I never had before:

/Core/Src/main.c:786:30: error: 'GFXMMU_VIRTUAL_BUFFER0_BASE' undeclared (first use in this function)

It is failing on the assigning of pLayerCfg1.FBStartAdress in the following lines of code...which didn't exit prior to this new install of CubeIDE and TouchGFX:

pLayerCfg1.WindowX0 = 0;
  pLayerCfg1.WindowX1 = 0;
  pLayerCfg1.WindowY0 = 0;
  pLayerCfg1.WindowY1 = 0;
  pLayerCfg1.Alpha = 0;
  pLayerCfg1.Alpha0 = 0;
  pLayerCfg1.BlendingFactor1 = LTDC_BLENDING_FACTOR1_CA;
  pLayerCfg1.BlendingFactor2 = LTDC_BLENDING_FACTOR2_CA;
  pLayerCfg1.FBStartAdress = GFXMMU_VIRTUAL_BUFFER0_BASE;
  pLayerCfg1.ImageWidth = 0;
  pLayerCfg1.ImageHeight = 0;
  pLayerCfg1.Backcolor.Blue = 0;
  pLayerCfg1.Backcolor.Green = 0;
  pLayerCfg1.Backcolor.Red = 0;
  if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg1, 1) != HAL_OK)
  {
    Error_Handler();
  }

Each version of framework works with the corresponding Designer version. You cannot use different versions for the framework and the Designer.

/Alexandre

Indeed it is strange. Because we tested all the boards before releasing 4.14 and it was working.

Can you remind me of the board you are using ? L4R9-DISCO ?

/Alexandre

@Alexandre RENOUX​ 

I am using my own hardware, so not an Application Template. The micro is an Stm32H743IIT.

Like I said, I was previously using Stm32CubeIDE 1.3.1 and TouchGFX 4.130. After using Stm32CubeIDE 1.4.2 and TouchGFX 4.14.0, this whole section was added to MX_LTDC_Init(), as seen in the difference below:

0693W000004IoD2QAK.png

This is a bug from CubeMX that was reported and will be fixed for the next version of CubeMX (6.1 if I recall correctly).

CubeMX add the second layer even though you don't want it which makes the project not work anymore.

To fix it you have two solutions :

  • In CubeMX you can add manually the second layer and set everything to 0, especially the FB Start Address because this is the part that impacts the application.
  • Or you can add/replace the files in the enclosed archive to the folder C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeMX_6_0_1\db\mcu\IP

/Alexandre

@Alexandre RENOUX​ 

Thanks for the reply and confirmation of the bug.