Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
..
I would be interested in making the TouchGFX GUI for my device accessible over WiFi. What I would like to do is type a URL, and reach a page to operate and configure my embedded device. Is this possible?
Is there a widget for viewing documents like PDFs? We were thinking of making an instructions manual available from the display run via TouchGFX.
I am using below componnet toolsMCU: STM32H7B3IIT6IDE: STM32CubeIDE Version: 1.8.0GUI: TouchGFX Version: 4.18.1SDRAM: IS45S16800F-7CTLA1-TRFLASH: MX25LM51245GMI00 (OctoSPI)I am using below pins// STM32H7B3IIT6 PIN CHART // MX25LM51245GMI00 // OCTOSPIM P1 // D0 PD11:AF9 // D1 PD12:AF9 // D2 PE2:AF9 // D3 PD13:AF9 // D4 PC1:AF10 // D5 PC2:AF11 // D6 PC3:AF11 // D7 PD7:AF10 // CLK PB2:AF9 // NCLK NOT USED // NCS PB10:AF9 // DQS PC5:AF10I am using below configurationThere is source for QSPI but dont have OctoSPI.I created external loader for custom board. But it didnt work. I am getting below errror.I shared external loader project file at attachment. Can you review it please? I need your support. https://drive.google.com/file/d/1m1aCF1FueA2xE2qVvX7kWM_29_l7sNRr/view?usp=sharing
My software for touchscreen in the board MB1260 D-01 works, but the same software for the revised board MB1260-F723E-D03 does not work! Any idea?
Currently, I am following a video to operate LCD in stm32l476 discovery board. So, I downloaded this code (07.5_L4-LCD) then it run well. But when I tried to create my own project following this instruction but it fail. I also looked and open file.ioc in example code to see how they configured hardware, but it could not open(it seems the it is compiled from other version of STMCUBE IDE) .Could anyone give me some suggestions?
I have a custom lcd to drive with STM32L073VBTx's internal lcd driver. Duty cyle is 1/4 and the bias is 1/3. The problem is the common pins are activated sequentially even the LCD's RAM registers are equal to 0. When I activate some bits in LCD's RAM register, these segments have more contrast. I changed and tried to all possible configurations of duty cycle, bias, high drive, dead time duration etc. but the result was same. Do you have any idea about this problem?/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2022 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. *
I don't understand role of presenter in the MPV framework why can't I pass data from model directly to view. Also, why should I pass data from view to presenter to model why can't I pass data directly to main using a queue in the view?
Can anyone please explain the thinking behind the weird and asymmetric behavior of resize/drag handles in TouchGFX containers? The click-drag behavior of the handles on the left and top sides is entirely different from that of the handles on the right and bottom sides.I have a container with an object inside and I wish to drag the sides of the container to match the size of the object within:If I drag the handles in the middle of the right or bottom sides, the result is exactly what I desire, with the sides moving closer to the box as I drag:Right Drag BeforeRight Drag AfterBottom Drag BeforeBottom Drag AfterHowever, if I do exactly the same thing with the left and top sides, the container is made smaller, as before, but the object inside is also moved (eventually beyond the right and top borders) whie the distance between the side and the object remains constant:Left Drag BeforeLeft Drag AfterTop Drag BeforeTop Drag AfterI've tried every conceivable combination of click + shift/ctrl/a
What DMA settings should I use for DCMI for STM32 if I'm using OV7670 camera without FIFO?
Hi,I created a project for the Tiny Shark using TouchGFX 1.17 and found it generated code for the NOR Ram OCTOSPI interface that was incorrect such that a Hard Fault was generated.I built another project using Ver. 1.18 and had the same problem.Luckily i put a tag next to the modded line so I found it in the earlier project and put it into the new one.The relevant code is:/** * @brief OCTOSPI1 Initialization Function * @param None * @retval None */ static void MX_OCTOSPI1_Init(void) { uint32_t statusResult; /* OCTOSPI1 parameter configuration*/ hospi1.Instance = OCTOSPI1; hospi1.Init.FifoThreshold = 1; hospi1.Init.DualQuad = HAL_OSPI_DUALQUAD_DISABLE; hospi1.Init.MemoryType = HAL_OSPI_MEMTYPE_MICRON; hospi1.Init.DeviceSize = 26; hospi1.Init.ChipSelectHighTime = 2; hospi1.Init.FreeRunningClock = HAL_OSPI_FREERUNCLK_DISABLE; hospi1.Init.ClockMode = HAL_OSPI_CLOCK_MODE_0; hospi1.Init.WrapSize = HAL_OSPI_WRAP_NOT_SUPPORTED; hospi1.Init.ClockPrescaler = 3; hospi1.Init
Hi Everybody,I got a mikromedia Plus for STM32 board from my friend.Board schematics: https://download.mikroe.com/documents/smart-displays/mikromedia/4/stm32f4/mikromedia-4-stm32f4-schematic-v102.pdfI want to using STM32CubeIDE to let it work.First, the LED blinking work fine.And then want to display something on LCD.But this board's LCD pin define not match FSMC define.Have anyone can help??
Hi Community,I have generated the Touch GFX project through STMCubeIDE. Getting correct output in simulator. Not getting image as it is (on the Touch GFX canvas) on the display.I have attached the images for the reference.
Dear Members,I have question related with BMP reading from SDcard then display to LCD ?It stopped in one file,Is it related with internal SRAM of my STM32F103, and I'm running out of internal SRAM memory,I read some bmp files, and freeze.Regards,Code : //Function reading 256 file void LCD_BMP_reading_256(char filename[120]) { char temp_buffer[100],line[512]; int count,z,bmpData,bmpAddr; int x = 0; int i,y = 0; int xx, yy; uint8_t hdr[0x28]; UINT bytesread; uint8_t hdr_256[0x36]; static uint16_t w[256]; uint32_t off; delay_ms(1500); res = f_open(&fsrc, filename, FA_READ); f_read(&fsrc, hdr_256, sizeof(hdr_256), &bytesread); // Read header off = *((uint32_t *)&hdr_256[0x0A]); // offset to rasters xx = *((uint32_t *)&hdr_256[0x12]); // X pixels yy = *((uint32_t *)&hdr_256[0x16]); // Y pixels for(i=0; i<256; i++) // Build palette conversion (+0x46 count?)
I have an LCD screen (ortustech COM20H2P74ULX) connected via FMC to the STM32L4 MCU and I have some communication problems as some of the data I write on the screen gets corrupted. I suspect a bad communication timing setup with the screen memory, but I'm new to this so it could be something else.This is a CubeMX setup that I got from hardware designers for FMCTo initialize the screen, it should receive some poweron sequence data, this data at some points get corrupted. This is visible when using logic analyzer:In point A I'm sending 0x01 but on the output there is 0x89 and in point B I'm sending 0x02 but output shows 0x03. For the whole poweron sequence more data gets corrupted as shown in this table:This is timing diagram for the screen:Thanks in advance for any help
Hi, I am using stm32f103 and IAR for codes.I am trying to use a character LCD 16x2 for my project. It turns on with 5 volt that I connect but not showing any character. I changed the potentiometer and still no sign of characters.I was wondering what the problem is?Here is the main code int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ lcd_init(); /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3
The goal is to not write my entire hardware handling program in main.c file, as tutorials often show.I use TouchGFX, the project for Visual Studio doesn't even see main.c file or has any access to the hardware part of the code. It's OK, I use VS only for the UI part. I code the hardware handling part in STM32CubeIDE.Let's say I enable I2C bus in .ioc file. That automatically generates code in main.c, the problem is, I want to make a driver (in another file) that uses that object (initialized I2C object) in my own piece of code, let it be even C++ class.I already figured out how to bridge 2 projects (hardware part and UI part) with conditional include of a bridge file, that includes main.h and use externs. The condition is of course "#ifndef SIMULATOR". For the simulator I make dummy objects that just simulate the actual hardware. It all works.The problem is - my bridge file includes main.h and has access to most HAL, but it doesn't see anything defined in main.c. The CubeMX code genera
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.