Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hi,Does anyone know how to combine western + chinese + japanese fonts into one file for TouchGFX designer?My problem is that I want to use Source Sans Pro font, which does not have chinese, japanese etc. I want to combine Source Han Sans with it, which has chinese and japanese.Thanks!
hello,i'm trying to setup a CubeIde prj for a Nucleo-STM32L4P5 board where i'd like to test TouchGfx in a light 320x240 RGB222 with just "embedded RAM" for framebuffer.I'm facing an error setting up the CubeMx .ioc basic config, a clash between TouchGFX sw params and the LTDC setting. as you can see there's a dependancy on LTDC that's not satisfied and the error is: "Unsupported LTDC pixel format, RGB565 and RGB888 are supported".see the shot below: is the RGB222 not supported "out of the box" currently?may i need to "fake it" on the LTDC side configuration as a RGB565 and then "hijacking" most of the "color" pins for other different tasks (with different AF/alternate functions?)mabe there's documentation somewhere, but my Google-fu failed on me..
Touch Designer set pix format as ARGB2222, RGB LCD using LTDC setted pix format as L8. In a simple project ,now it can show correctly. But I imgrate this project with a Touch Designer Demo Project , it can not work correctly. Error show I found uint16_t stride = lcd().framebufferStride();Than deeper in LCD8bpp_ARGB2222.hppthis makes error.How can I fix the error?
I have a custom class doing stuff, it's not made from touchGFX , so it doesn't have a presenter for comunicating with the model.i need to read a value from a structure in the model.Tnx
Thank you for helping.STM32F746G DISCO with Application TemplateBlank UI with UI TemplateWhen you create it with this, the following display appears.Creation of TouchGFX Application failedWhat is the cause?Is there a log to analyze the cause?Thank you.
Thank you for helping.If I want to turn the LCD over 180 degrees, can I change it with software?Thank you.
#include "stm32f10x.h" // Device header #include "LCD.h" #include "stdint.h" #include <stdio.h> void GPIO_Init(void) { // Port B is used for I2C1 communication : SCL1-->PB6 / SDA1-->PB7 RCC->APB2ENR |= RCC_APB2ENR_IOPBEN; } void DelayTimerUs1(int n){ // 1 Mhz ---> 1Us //ARR = n (n=1 --> 1us) (n=2 --> 2us) .... // n = 30000 for 30ms delay RCC->APB1ENR |= RCC_APB1ENR_TIM2EN; TIM2->PSC = 36; TIM2->ARR = n; TIM2->CNT = 0; TIM2->CR1 = TIM_CR1_CEN; for( int i =0; i<n; i++){ while (!(TIM2->SR & (1<<0))) {} } TIM2->SR &=~ (1<<0); TIM2->CR1 &=~ TIM_CR1_CEN; } void I2C1_Init(void) { RCC->APB1ENR &=~RCC_APB1ENR_I2C1EN; // Clear I2C1 I2C1->CR1 |= 0x00; // clear CR1 register I2C1->CR2 |= 0x00; // Clear CR2 register RCC->APB2ENR |= RCC_APB2ENR_IOPBEN; // Set PB6 and PB7 as AF push-pull 10MHz (p161) GPIOB->CRL &=~ GPIO_CRL_MODE
Here is the code. I'm looking for a solution that works with BSP_LCD (perhaps with other call)while(1){ HAL_Delay(300); x+=10; BSP_LCD_SetTextColor(LCD_COLOR_WHITE); BSP_LCD_FillCircle(BSP_LCD_GetXSize()/3+x-10, BSP_LCD_GetYSize()/3, CIRCLE_RADIUS); //HAL_Delay(5); BSP_LCD_SetTextColor(LCD_COLOR_GREEN); BSP_LCD_FillCircle(BSP_LCD_GetXSize()/3+x, BSP_LCD_GetYSize()/3, CIRCLE_RADIUS); }
Hi I am new to embedded programming. I am currently using stm32f4 discovery board. I currently want to attach a lcd touch screen with my board. I have gone through some basic protocols fot displaying on lcd i.e via spi and i2c. I currently bought a 10 inch screen via alibaba which is having a lvds connection with it. I want to display some information via stm32f4 dicovery board onto this 10 inch screen. I am interested in displaying information on LCD screen via RGB or LVDS connection. I am aware of LTDC part. However, any online example / tutorial for making such connection would be great. I can buy new lcd screen aswell. But i need to learn the lvds and rgb connection with stm32 board.
Hi to all!I trying to run my first application of TouchGFX on custom hardware and I have some difficulties to integrate my code with the TouchGFX.At the moments. i can't use my I2C touchscreen driver. I have tested it in a test project and in this project, I able to read the touchscreen coordinate, but if I use the same code in the TouchGFX project, I can't read nothing. After start a I2C read, I receive a stop condition and a nack..How I solve this problem?Another problem that I have encourred is that the signal events API of the RTOS don't work as expected, I have solved this using queue, but i'm not very happy ..Someone can give some help?
Applications such as a spectrum “waterfall�? display involve a moving image where old rasterline data is pushed down for a new line at the top. I tried direct framebuffer access and other approaches without success. (Too many data movements, too slow) I want to try a circular buffer approach to minimize data movement, with the challenge of then having to split image refresh into two portions to track the moving location of the image in the buffer and to manage the wraparound.is it feasible to create a custom Widget that can manipulate Buffer pointers ‘on the fly’ (ie within the same frame refresh) when redrawing a dynamic bitmap?
Thank you for helping.environment:STM32F769I-DISCOTouchGFX4.12.3STM32CubeIDE1.3.0I want to create a screen for setting parameters such as IP address.(1)Is there a text box to enter in the UI? If not, how can this be achieved?(2) How can you display the cursor?(3) What is the method for displaying the keyboard on the screen and inputting?Do you have a sample project?Thank you.
Hi,I am trying to interface an OPTREX 20434 LCD with my STM32F407 Discovery board. Here is a link to my source code https://github.com/humbleseekre/STM32F4XX_Driver_Dev.gitBelow are the steps I tried to debug this issue:I can see lcd is powered on looking at the screenAttached are the two reference documents that I used for this driver developmentSingle stepped into the code and observed intended GPIO go high (1) when I do a lcd write (0x30) in my code. I was not sure of the if the delay function is accurate enough so I just increased by a factor of 10, to just to be sure that LCD is getting enough delay between initialization stepsI verified my pin connections on the board matches the declaration I have in my firmwareI unit tested GPIO HAL API using LEDs to verity they are working as intendedBelow is my how my pin connections look like:/*-----------------------LDC PIN OUT BOARD CONNECTION----------------------------------/ * VSS (0 volts or GND) * VCC (+5 volts DC) * VEE (I’m using 0
Hello everyone~ Hope you guys are doing well.I am recently working on OV2640 with STM32F103. As far as I discovered, most of the source code I found on the internet are OV2640 with F4 or F7 series, which are compatible with DCMI. And obviously F103 does not have DCMI, so my question is: What is the way to control OV2640 without DCMI?The second question is about the PAL library. During my searching for the solution of the aforementioned problem, I discovered someone use PAL library to control GPIO. I would like to know the difference between ordinary GPIO Library and PAL library. It would be great if there are some experts here giving me insights upon this question.
Hello every one. In most project it's need to have two kind of keyboard for input number and also input alphabet characters. In the keyboard example that comes with touchgfx it's possible to input both alphabet and number. But if for input just number there was a specific keyboard it is so nice. The question is how can i have both keyboard together in my projects?
Run Simulator Copy Framework Copying TouchGFX framework version 4.13.0 to C:\TouchGFXProjects\MyApplication\Middlewares\ST\touchgfx Done Generate Wrote config/gcc/app.mk Wrote config/msvs/Application.props Wrote generated/gui_generated/include/gui_generated/common/FrontendApplicationBase.hpp Wrote generated/gui_generated/include/gui_generated/common/FrontendHeapBase.hpp Wrote generated/gui_generated/include/gui_generated/common/SimConstants.hpp Wrote generated/gui_generated/include/gui_generated/main_screen/MainViewBase.hpp Wrote generated/gui_generated/src/common/FrontendApplicationBase.cpp Wrote generated/gui_generated/src/main_screen/MainViewBase.cpp Wrote generated/simulator/gcc/Makefile &n
I have achieved to draw bmp, gif and jpg images with related DrawEx functions of stEmWin library. The library version of stEmWin is 544. In order to try png images, I downloaded png library from segger's web site. I imported the source files of the png library into my project succesfully. When I try to call GUI_PNG_DrawEx function, I am getting hardfault error. You can find my project in the attachments. We are using STM32F746G-DISCO board. The project is really simple. We are using FATFS without OS. We need to use png image files in our product. If someone helps us, we will be really happy. Our get_data function for PNG is like this./* Private functions ---------------------------------------------------------*/int APP_GetData_PNG(void * p, const U8 * * ppData, unsigned NumBytesReq, U32 Off){ FIL* file; uint32_t NumBytesRead; U8 * pData; pData = (U8 *)*ppData; file = (FIL *) p; // Set file pointer to the offset location f_lseek(file, Off); // Read data into buffe
Hi, I have so far successfully used TouchGFX to create GUI that ineracts with a button press (Later this will be ported to interact with CANBUS)….I digress.Now I want to add a bigger 5inch screen (Still waiting on DSI Displays to turn up) So using the B-LCDAD-HDMI interface to take the DSI signals to drive a HDMI display - Thought this may have been easier than it looked. Anyway I read somewhere else on here about the need to add #define USE_LCD_HDMI - However where should this be added? and what are you defining? normally there is a value!?Setup is STM32F769I-DISCO + B-LCDAD-HDMI using touchGFX and STMCUBEIDESo at the moment all I get is a blank screen … Screen works (already checked that).Any help appreciated?
Hi ST,I have a problem when draw graph. when i set size 400 and shift graph, its ok. But if set size 800, it has issue as image. Code shift graph:graphLine.setBuffer(graphBuffer, NUMBER_OF_POINTS);//shift datafor (int i = 1; i < NUMBER_OF_POINTS; i++){ graphLine.addValue(graphBuffer[i-1].x, graphBuffer[i].y);}add new datagraphLine.addValue(Width_Single_Graph, demo);
Hello, I have a STM32F769- DISCO I bought an adapter for it"B-LCDAD-HDMI1" after connecting the HDMI cable to the monitor I have no image at all the monitor displays the message "No signal" I will also mention that the LCD monitor attached to the set together with STM32F769 -DISCO the image is displayed, please help.
environment:STM32CubeIDE Ver 1.3.0STM32CubeMX Ver 5.5.0TouchGFX Ver 4.13.0Load the project created with TouchGFX in the IDE.How can I change main.c to main.cpp and let the IDE understand?Thank you.
Thank you for helping.environmentSTM32CubeIDE Ver 1.3.0STM32CubeMX Ver 5.5.0TouchGFX Ver 4.13.0I'm creating a project in TouchGFX and debugging it in the IDE.I was able to launch the IDE by double-clicking C:\TouchGFXProjects\***\STM32CubeIDE\.project and running it.(*** is the project name created by TouchGFX)However, the main function does not appear in Project Explorer.The file with the main function is in C:\TouchGFXProjects\***\Core\Src and the hierarchy is different.Is this the cause?How can I display the files related to the project such as the main function in the IDE's Project Explorer?Thank you.
CPU or DMA2D?I found these in the change log : * Added support for L8 graphics assets with 16bit, 24bit and 32bit palettes. * Added support for L8 hardware acceleration via DMA2D.It looks like the L8 image will be displayed by DMA2D.But I saw from the test that it takes up CPU instead of DMA2D.So, which one is correct ?
After using TouchGFX for some time now the project team is growing and multiple people are working on the design (multiple branches) adding screens and texts. Since texts.xlsx is used as source for the text information and this file is in binary format it is impossible to merge changes between branches, rebase etc... So this leaves us to merge changes manually (open both files in Excel an comparing them by hand) which ofcourse is quite error prone and tedious.Can anybody recommend a better alternative way to handle this?
Hi. I'm using a STM32H747-DISCO to sample a signal and would like to display the result on the TFT-display.I have written a program code that do the ADC-sample in CubeIDE and I'm only using the M7 core, the M4 Core is put in sleep mode.I started TouchGFX and ran a simple example and it worked.Now to the problem.The ADC code is written in C using a CubeIDE-project.TouchGFX export C++ code without a CubeIDE-project. This use RTOS and it's hard to understand which core it's using or if it's using both cores.How can I export the TouchGFX code so I can debug it in CubeIDE and implement the ADC and GPIO functions?
ST Community highlights – April to June 2026
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.