2020-12-11 04:05 AM
How flexible is TouchGFX to use external (i.e. non-ST) HAL/PAL drivers. I am looking at using it for a STM32F767 application but am currently using custom-made bare-metal HAL and PAL abstraction layers. I assume that at minimum it would need to be tailored for the API that TouchGFX expects, but what's involved with that?
TouchGFX requires a locking mechanism (smaphore or global variable), a tick information and a pointer to the frame buffer, see https://support.touchgfx.com/docs/development/board-bring-up/board-introduction
Is STM32F072RBT too low end for TouchGFX?
For TouchGFX itself, as long as you find a proper display the only limitation would be the needed minimal RAM for partial frame buffer but also GUI elements, so in theory Cortex M0 is supported by the TouchGFX library, so it should run, then it strongly relies on what you want to achieve in terms of GUI, it will be for sure limited (animation, number of widgets, etc.)
Hi, I have other meeting in 30 minutes, like to ask a simple question first: Last time I tried GFX was with STM32H7xx-dk board. Does the new GFX support now the NUCLEO-L476RG and NUCLEO-F401RE boards?
Yes, the TouchGFX Generator (in CubeMX) now support the entire L4 and F4 families
What is the maximum resolution of the display using this SPI approach?
QVGA is the most common definition for such displays with only SPI interface and embedded memory, larger display would mean larger internal memory and thus higher price.
Can TouchGFX be easily used in different IDE environments (like Qt Creator which I generally prefer) or is it completely married to the STM32Cube ecosystem?
TouchGFX Designer supports the IDEs that are supported in CubeMX : Keil, IAR, STM32CubeIDE and "Makefile", the latest can then be integrated in any other IDE but this is up to the user to do the conversion/integration
Concerning the touch interface. For a LCD display with integrated cap touch. Are the cap touch interfaces standard. Meaning they will work with TouchGFX
This is explaind here : https://support.touchgfx.com/docs/development/board-bring-up/how-to/09-touch-controller/
In TouchGFX 4.14.. the size of sliders and progress bars is hard set for a large and small sizes etc... can they be changed adjusted to be bigger or smaller in the designer in version 4.15 ?
They were already editable, even in version 4.12, you need to create your own images for slider, backgound and cursor and set them in the slider widget attibutes
The next most important board for me would be the Nucleo-G431RB for motor control applications where we have over 200 different variables for observation.
That will then depend on the refresh rate of each variable, only this will drive the needed bandwith to update the display.
Is the display interface via SPI? What sort of frame update rate is possible with that interface on such a screen?
Yes it is a SPI interface, no real measures have been performed but not more than 1 or 2 frame per second (full screen) should be expected, especially using partial frame buffer feature. However on a reduced area of the display e.g. an animated icon, you can expect a fluid animation (20-30 fps).
Do I start a new project with TouchGFX, STM32CUBE or ST32IDE? Too many pieces!
TouchGFX Designer is for modifying the GUI part of your application, CubeMX is to help you configure your MCU (clocking, peripherals, pin assignment), STM32CubeIDE is an IDE to build and program you device.
On a ST development Kit you should start from TouchGFX Designer and corresponding application template, for a custom board you should start with CubeMX, in both cases you can build and program using STM32CubeIDE
what type images can be imported?
Only png images (Portable Network Graphic) that can be generated using basic image editor such as MS Paint
how was the joystick configured to send the ASCII codes?
In fact the ASCII code visible in the Designer is more informative and is usefull mostly for the simulator on PC, to map the PC keyboard, the actual value processed in the target is the value that is returned by the "sample()" function which retrieves the value from the low level driver
I am having problems getting the BSP folder while using the STM32F469i-disco board. Is there some one local to the US northwest I can contact to get some assistance?
Please find your local FAE here : https://www.st.com/content/st_com/en/contact-us.html
Thanks for the presentation - Touch GFX looks really nice. Unfortunately we had to switch from ST to a different vendor for a couple recent projects, because of horrendously poor software quality (USB stack, Ethernet driver and LWIP integration, FreeRTOS integration, Cube, HAL all hugely buggy). What have ST done to improve this situation? If not improved we must continue using alternate vendors.
All these midddleware will soon switch to Azure RTOS solution that include USB stack, Ethernet, etc. For the rest of the ecosystem (CubeMX, STM32CubeIDE, CubeProgrammer) we are doing our best to improve their quality, sorry to see that it does not meet your expectations. Remember that ST business is on MCUs, this software ecosystem is delivered for free, with all possible care regarding its maturity and is not mandatory to use our products.
Could you please advise on a few dev board and display combinations for the larger display formats? Also, is there documentation in the touch GFX package to support a touch enabled screen?
F7 and H7 family MCUs are more suitable for larger display definitions, up to XGA-1024x768 which is only a recommended maximum definition, see AN4861 for more details. Touch enabled support is covered here : https://support.touchgfx.com/docs/development/board-bring-up/how-to/09-touch-controller/
Does TouchGFX support displays with internal frame buffers?
Yes, and the display on the X-NUCLEO-GFX01-M1 is one with internal buffer, TouchGFX is in fact able to run with any display as long as it is provided a way to update it (e.g. a SPI command).
I know I'm in the minority, but I work on a Mac using the SW4STM32 IDE. So, first question is ... do I assume correctly that TouchGFX is available only for Windows?
Secondly, I use CubeMX which only generates C code. I see that TouchGFX generates C%2B%2B code. I take it that the merging of C and c%2B%2B is handled properly in the generation of both sides of the code and in the IDE?
Yes TouchGFX Designer is only running on Windows and indeed it generates only C++ code while CubeMX generates onyl C code but both of them are using mechanisms that allow to switch from one laguage to the other and you can generate alternatively from both tools during your development without issues.
Is it possible to use TouchGFX with a different size display than what is available on existing development kits?
of course, then you need to use the CubeMX tool with the X-CUBE-TOUCHGFX expansion pack to configure your display, see https://support.touchgfx.com/docs/development/hardware-selection/hardware-components/hardware-selection-mcu for display selection guide
What would be the next level up that brings a touch screen into the system capability?
This is explaind here : https://support.touchgfx.com/docs/development/board-bring-up/how-to/09-touch-controller/
What RTOS support is available?
By default only FreeRTOS support is provided in the CubeMX tool and in the Application Template from the TouchGFX Designer but it can be replaced by any othr RTOS, see https://support.touchgfx.com/docs/basic-concepts/operating-system/#rtos
How can I start with TouchGFX if I have custom made board and there is no more stand-alone application available since version 4.13?
For a custom board you must start from the CubeMX tool along with the X-CUBE-TOUCHGFX 4.15 that contains the TouchGFX Designer application.
With the most advanced ST processor, that seems to be the STM32MP1, can most functionality of a smartphone be implemented to satisfaction (Touch screen UI, Wifi, ...etc)? Is Android Operating System API supported?
MPU series are not covered by TouchGFX which is focused on reduced footprint. For sure MPU are very close in terms of performance to a smartphone for sure and there is indeed a support for Android, see https://wiki.st.com/stm32mpu/wiki/STM32MP1_Developer_Package_for_Android
What resources are available to learn more about using partial frame buffers as applied to higher resolution parallel RGB displays?
Partial frame buffer applies the same way to larger definition displays but still implies that the display has its own embedded memory which makes it a lot more expensive
can i work with my own real time operative system in STM32cube or the framework limit it?
You can work with your own RTOS, CubeMX will just not handle its configuration, regarding TouchGFX it is not tied to a specific RTOS, it only requires some locking machanism that usuall any OS provides, see "OSWrapper.cpp" https://support.touchgfx.com/docs/basic-concepts/operating-system/#rtos
For a parrell display that is RGB88 can you interface the hardware from the controller as just the RGB565 lines and ground the lower 8 respective bits of the display. I am having trouble routing all lines and RBG565 looks just fine.
Indeed as you suggested you can either ground the lower 8-bits or wire them to the respective MSB of each color component, that will depend also on your display datasheet.
2020-12-14 04:19 AM
Video can be found here: https://www.st.com/content/st_com/en/about/events/events.html/low-end-graphics-webinar.html