cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX documentation feedback

Romain DIELEMAN
ST Employee

We wish to always improve our documentation. The best reviews and critics always come from the people that read it, so we would like to use this post to collect your thoughts and feedbacks.

Please share what you like, dislike, what you think is missing, etc ...

/The TouchGFX team

32 REPLIES 32
Hi Osman,
I would not say « Great » but « better »,I am still working on it and documentation on integration with custom hardware can be improved.
But for sure you guys are going in the right direction.
Regards
uilter
Senior

Hi Touchgfx Team!

Is there any documentation, tutorial or video to help let me better understand the concept of how to use the methods of Drawable?
- getParent
- getNextSibling
- getLastChild
- getFistChild

Thanks!

markH
Associate III

The documentation is good but I would like to see code examples given for everything, for instance I am struggling with putting a time stamp on the x axis of a graph widget, looking here I would really appreciate an common example of code under each function as the explanation given tells me nothing new, at leat some example to get me started. When commenting my own code I try to make the comments down the right hand side tell a story of the code on the left so someone else can understand why and how the code is written instead of just parroting what the code already says!

For instance

FORCE_INLINE_FUNCTION voidsetLabelRotation(TextRotation rotation)
 

Sets label rotation. (this tells me nothing new!)

EXAMPLE under void graphView::setupScreen() add:

dynamicGraph1MajorXAxisLabel.setLabelRotation(TEXT_ROTATE_180);
this rotates the X axis labels


@Romain DIELEMAN wrote:

We wish to always improve our documentation. The best reviews and critics always come from the people that read it, so we would like to use this post to collect your thoughts and feedbacks.

 

Please share what you like, dislike, what you think is missing, etc ...

 

/The TouchGFX team



@Romain DIELEMAN wrote:

We wish to always improve our documentation. The best reviews and critics always come from the people that read it, so we would like to use this post to collect your thoughts and feedbacks.

 

Please share what you like, dislike, what you think is missing, etc ...

 

/The TouchGFX team



@Romain DIELEMAN wrote:

We wish to always improve our documentation. The best reviews and critics always come from the people that read it, so we would like to use this post to collect your thoughts and feedbacks.

 

Please share what you like, dislike, what you think is missing, etc ...

 

/The TouchGFX team


 

RCooke88
Associate III

Hi TouchGFX Team,

It would help me greatly if there were complete examples for the various Discovery boards. I'm trying to use the STM32F769I-Disco board. If there was a simple "Hello World" example that would go a long way in helping me understand all of the variables needed to be set to get it up and running.

I understand that there are examples in the STM32Cube\Repository\STM32Cube_FW_F7_V1.17.1\Projects\STM32F769I-Discovery\Examples\LCD_DSI directory but there are no chip setup examples. It wouldn't be that hard to include the project files and the IOC files would it?

Thanks,

Richard

I would suggest VERY VERY EASY to understand building and training blocks designed for children,

Then and only then we may be able to see step by step examples and understand what is going on in TouchGFX ??

It's so so difficult trying to do the simple thing like a simple button event in a custom container,

Forget all the api complicated pages, let please have some easy to understand examples of every part of touch gfx

so new comers have half a chance of not wasting there life away trying to do simple tasks

 

Thank you

TuanLe
Associate II

The content of the following page (version 4.23, until 2024-01-17) has some mistakes.

https://support.touchgfx.com/docs/development/touchgfx-hal-development/scenarios/scenarios-dsi-command-mode

 

"In DSI Command mode, the internal GRAM in the display is updated by writing a window to it using LTDC. The size of the window can be set to the entire screen area:

static void MX_LTDC_Init(void)
{
    void LCD_SetUpdateRegion()
    {
        uint8_t pCols[4] = {0x00, 0x00, 0x01, 0xDF}; /* 0 -> 480 */
        uint8_t pRows[4] = {0x00, 0x00, 0x03, 0x3F}; /* 0 -> 800 */

        HAL_DSI_LongWrite(&hdsi, 0, DSI_DCS_LONG_PKT_WRITE, 4, OTM8009A_CMD_CASET, pCols);
        HAL_DSI_LongWrite(&hdsi, 0, DSI_DCS_LONG_PKT_WRITE, 4, OTM8009A_CMD_PASET, pRows);
    }
}

"

==>  We cannot define a C function inside another C function. Please update the page. Thanks.

rBlr
Associate III

Widgets - difference in Docs and in sources of downloaded example.

QR widget example hard to implement for novices , it does nothing if you supply 0 value as QR code, need to remove checking of data (if(!data)) to output something.

ferro
Senior II

Hi Gfx team,

When I type 'slider' into the search, could the returned list start with a link to the Slider classs API please ?

https://support.touchgfx.com/docs/api/classes/classtouchgfx_1_1_slider

At the moment, the list gives many other references. These are of course very useful, but I see a class API as a candidate for the top position. In this particular case i.e. Slider, link to its class API is not even in the list.

https://support.touchgfx.com/search?q=slider

ferro_0-1708088179965.png

Thank you.

Best regards,

Ferro

 

JLojo
Associate III

Hi Romain,

Documentation for the use of TouchGFX is quite good,and (almost) sufficient, but... I'm still, after 2 month, not able to do the integration with hardware and CubeIDE.

A step by step description could probably help...

To illustrate my words, here is how I'm stuck for months:

1) I created a basic project on TouchGFX for a STM32U5G9j-DK2 kit, compiled it, flashed it and ran it successfully.

2) I imported it on CubeIDE (not easy, because of the naming convention which differs from what CubeIDE is able to do: only workaround: create a specific workspace for each project: heavy, very heavy!!!); added a blinking LED, just to check I was able to mix HW and GUI developments: Compilation was successful, flashing also, execution almost because all bitmaps disappeared or were corrupted.

3) I went back to TouchGFX, recompiled, reflashed the project, and same result. Only way to get it OK, is to move the images to the internal memory, in stead of external memory.

I did that dozen of times, thinking I may have missed something somewhere, but always the same result.

I'm sure that I just do one little thing wrong but which???? This is were a step by step, going up to the HW integration is missing!

Other point, I read somewhere in this forum, that to start a project for HW integration, it is best to start the project from CubeIDE , enabling TouchGFX. So I tried that too.

1) I started a project from the board selector, initializing everything as proposed by CubeMX.

2) I tried unsuccessfully to generate, because Frame Buffer was not initialized in LTDC section ??? (it took me 2 weeks to understand the reason and be able to correct... I'm probably getting too old and dummy...)

3) once corrected, compilation was still not OK, so I went to TouchGFX, generated project, simulated project: OK, but compiling for the kit and flashing was still not OK: missing gcc folder, missing mx66uw1g45g_conf.h file and probably plenty of others because I'm still not able to compile the project for the board. In short this is a big mess.

Once again, a short step by step instruction would help a lot.

Thanks then for any improvement in the documentation to ease the process of creating a project.

JLojo

RobNewbury
Associate II

I am following the TouchGFX documentation to help me implement a video mode DSI LCD display connected to the STM32F469I-Disco board (built in display is disconnected, new display connected via an adaptor board).
The following section of the TouchGFX documentation relates to a video mode DSI interface. 

I have configured and generated code using STM32CubeMX as described in the documentation (altered to account for my display characteristics such as resolution, front and back porches etc.)

Some code has to be added manually in a User Code section in order to switch the DSIHOST clock to the DSIPHY source during initialisation as described in the documeatation under the heading 'DSIHOST / LTDC Initialization sequence' 

The code shown refers to RCC_PERIPHERAL_DSI which neither the compiler nor I am able to find. I expected it to be in stm32f4xx_hal_rcc.h or stm32f4xx_hal_rcc_ex.h but I don't see it in either file.

Also the compiler reports that PeriphClkInit.DsiClockSelection is not a valid member of RCC_PeriphCLKInitTypeDef

 

Screenshot 2024-04-08 145933.png

Without this code implemented the DSI clock is not running so I think it is essential.

It would be useful if the documentation made clear which include files are required to support the code.

I believe the documentation is wrong or out of date so I am not sure now how to procede.