Used this to test Smart Riverdi Display 50STM32U5A9 RS232 - Arduino RS232 shield to expansion port P4-USART1_TX-D1- PG9 -P4-25 AND USART1_RX-D0- PG10 -P4-27 Used TouchGFX v4.23.2, STMCubeMX v6.11.0, X-CUBE-FREERTOS STM32H5/U5/WBA/C0 v1.2.0 and STMCubeIDE v1.5.0 The code had to be updated to use "cmsis_os2.h" and of course all the other STM update improvements? Works with some work! The basic Path “Simple” explanation of what it takes to use TouchGFX is good best I have seen so far.
Thanks for the video, it's very very h helpful, just 1 small tip for new guys like me: DO NOT just simply select UART6 when enable it NEED to make sure it's PC6 and PC7 !!!
Hi Karl, veery nice video. It worked fine with me. Just worth mentioning that serial link must be added from CN4 connector. I know you vagely mentioned it in the video, but it took me a while to figure it out. Still with this level of complexity in the code it would have been impossible to figure it out by myself. So, thank you so much and I am moving to the next tutorial. I really hope to see more from you especially how to turn on a virtual LED on the LCD when one of the input pins changes state and as well as how to control external hardware with SPI.
Hello, thank you for this tuto but i want to know if it´s possible to interface a SmartEmbedded screen with an toshiba inverter and read out the inverter frequency on the screen by using RS485 wire with Stm32cubeIde and TouchGFX ?
1. No volatile for variables shared between some task and IRQ in uart module? 2. Do you know that with xSemaphoreTake(binarySemUartMsgHandle, ( TickType_t 10 ) -> you are blocking this tick function/GUI task for 10ms? So if you will add more events with this pattern you will decrease tick rate -> lower framerate 3. Why you don't pass received data as some parameter instead of extern/global variable?
Hi Thank you for your helpful tutorial. All of the above steps have been successful for me. But I don't see any message on the LCD after sending the data by Docklight. Can you help me?
@@EEbyKarl I set a break point on the PollingInit function but the program does not go into this function. Also PollingRoutine function. I wonder why the program goes to TIM6_DAC_IRQHandler function after the break point !!!!!
@@javadkhani9741 then you missed the main.c part of video. You should have made another Task and called both of those polling routines from there. See 6:44 and 10:30, 15:28 of video
Dear Expert, i follow your tutorial but encounter this error, ../touchgfx/gui/src/model/model.cpp(18): error: #20: identifier "xSemaphoreTake" is undefined , can you advise
hello I have followed the whole tutorial however when I send the data it doesnt update the screen, please do you have any idea what the problem could be
Did you copy the linker script from the template project to the new project? If you didn't then you'll have that issue. The linker script uses the external flash for the image resources.
@@EEbyKarl When I copy them and go to paste them they are already there. I made a completely different project and it created the FLASH.Id file and now that one is not missing. But now it is telling me I need a RAM file
@@davismeissner2982 Just because you created a project doesn't mean that all the source code is there in the linker script. It is missing some code. TouchGFX engineers added some code for the quadspi which only the template file will have. That is why in my first video I show you to copy the template linker script file and overwrite the new project linker script. Hopefully you've seen my first video, which i have a link to in the description.
hi. I have issue. when i double click to open touchGFX, i have information: "the parth D:\EX\stm32f746_vd1\touchGFX contains spaces, this can result in erroneous behaviour while compiling". So i generate code faile. can you solve ?
Hi, Karl. Thanks for many of your tutorials that I just started following recently. I like the serial console titled Docklight V2.2 you use for this session. Did you write it yourself or from somewhere else? I wrote a simple one long time ago, but as good as yours; wonder if I can use yours as a model to write one myself. Source code available? Also, rather than using usart6, it's not possible to use the virtual comm port sharing the same as for the CN14, USB-St-link?
Thank you very much for these very informative videos. I have tried to modify this project to read ADC value from ADC1 Input0 (by timer triggerred interrupt) and write the ADC reading to screen of STM32F746-Discovery board, using wildcards as in this example project. But I cannot even read the ADC value (the same ADC code works on 446RE). This can be issue related to FreeRTOS. I will be grateful if you make a video on this subject.
@@EEbyKarl Dear Karl Yamashita. This seems to be the exact solution to my problem. I am grateful for your rapid response. Your videos are very well structured and informative. I think these videos will serve to the popularity of TouchGFX which can be quite complicated for novice users. Although they have a very good knowledge base in their website, official hands on tutorials of TouchGFX are difficult to follow for me. Thanks again.
Used this to test Smart Riverdi Display 50STM32U5A9 RS232 - Arduino RS232 shield to expansion port P4-USART1_TX-D1- PG9 -P4-25 AND USART1_RX-D0- PG10 -P4-27 Used TouchGFX v4.23.2, STMCubeMX v6.11.0, X-CUBE-FREERTOS STM32H5/U5/WBA/C0 v1.2.0 and STMCubeIDE v1.5.0 The code had to be updated to use "cmsis_os2.h" and of course all the other STM update improvements? Works with some work! The basic Path “Simple” explanation of what it takes to use TouchGFX is good best I have seen so far.
Thanks for the video, it's very very h helpful, just 1 small tip for new guys like me:
DO NOT just simply select UART6 when enable it
NEED to make sure it's PC6 and PC7 !!!
Hi, i dont know if you can help me. Im already did what you said, and yet I can´t see any data on the screen
yes that's what i was looking for,
is more complex than I thought, thank you very much
Hi Karl, veery nice video. It worked fine with me. Just worth mentioning that serial link must be added from CN4 connector. I know you vagely mentioned it in the video, but it took me a while to figure it out. Still with this level of complexity in the code it would have been impossible to figure it out by myself. So, thank you so much and I am moving to the next tutorial. I really hope to see more from you especially how to turn on a virtual LED on the LCD when one of the input pins changes state and as well as how to control external hardware with SPI.
Hello, thank you for this tuto but i want to know if it´s possible to interface a SmartEmbedded screen with an toshiba inverter and read out the inverter frequency on the screen by using RS485 wire with Stm32cubeIde and TouchGFX ?
Hello carl, xSemaphoreGive function not avalible in cmsis_os2. What can i do about it
use osSemaphoreRelease and osSemaphoreAcquire
Hi, thank you very much for your tutorial. Could it be possible to have the source code?
1. No volatile for variables shared between some task and IRQ in uart module?
2. Do you know that with xSemaphoreTake(binarySemUartMsgHandle, ( TickType_t 10 ) -> you are blocking this tick function/GUI task for 10ms? So if you will add more events with this pattern you will decrease tick rate -> lower framerate
3. Why you don't pass received data as some parameter instead of extern/global variable?
Hello and thank you this great tutorial. can i receive data(image) via bluetooth and display it on the LCD ??
observed error for this ../touchgfx/gui/src/model/model.cpp(18): error: #20: identifier "xSemaphoreTake" is undefined, can help
did you find the solution?
@@praveshsahu3617 yes, the CMSIS_V2 change to CMSIS_V1
you saved me man may god bless you
Did u find prob with #include "PollingRoutine.h"
Hi
Thank you for your helpful tutorial.
All of the above steps have been successful for me.
But I don't see any message on the LCD after sending the data by Docklight.
Can you help me?
More than likely you forgot to enable the Uart Rx Interrupt in the IOC file.
@@EEbyKarl But as shown in the video, I enabled the USART6 global interrupt.
@@javadkhani9741 set a break point in the Uart callback to see if it gets called when you receive messages
@@EEbyKarl I set a break point on the PollingInit function but the program does not go into this function. Also PollingRoutine function.
I wonder why the program goes to TIM6_DAC_IRQHandler function after the break point !!!!!
@@javadkhani9741 then you missed the main.c part of video. You should have made another Task and called both of those polling routines from there. See 6:44 and 10:30, 15:28 of video
Hello . Can you please do a tutorial how to integrate canbus to move a progress bar according to the message received from CAN . Please !!
Dear Expert, i follow your tutorial but encounter this error, ../touchgfx/gui/src/model/model.cpp(18): error: #20: identifier "xSemaphoreTake" is undefined , can you advise
i think you are using cmsis V2 for rtos
hello I have followed the whole tutorial however when I send the data it doesnt update the screen, please do you have any idea what the problem could be
maybe you didn't select PC6 and PC7 as uart pin for UART6
I keep getting RAM overflow and FLASH overflow Im using 1.2.1 and 4.13 touchGFX. Have you ever had this issue?
Did you copy the linker script from the template project to the new project? If you didn't then you'll have that issue. The linker script uses the external flash for the image resources.
@@EEbyKarl When I copy them and go to paste them they are already there. I made a completely different project and it created the FLASH.Id file and now that one is not missing. But now it is telling me I need a RAM file
@@davismeissner2982 Just because you created a project doesn't mean that all the source code is there in the linker script. It is missing some code. TouchGFX engineers added some code for the quadspi which only the template file will have. That is why in my first video I show you to copy the template linker script file and overwrite the new project linker script. Hopefully you've seen my first video, which i have a link to in the description.
@@EEbyKarl Ok thanks! Yeah I will look at it again next week week. Thanks for your help!
hi. I have issue. when i double click to open touchGFX, i have information: "the parth D:\EX\stm32f746_vd1\touchGFX contains spaces, this can result in erroneous behaviour while compiling". So i generate code faile. can you solve ?
Hi, Karl. Thanks for many of your tutorials that I just started following recently. I like the serial console titled Docklight V2.2 you use for this session. Did you write it yourself or from somewhere else? I wrote a simple one long time ago, but as good as yours; wonder if I can use yours as a model to write one myself. Source code available? Also, rather than using usart6, it's not possible to use the virtual comm port sharing the same as for the CN14, USB-St-link?
Tom, I'm using a 3rd party serial terminal program from www.docklight.de
I've been using docklight for probably over 15 years. Well worth the money.
Thank you very much for these very informative videos. I have tried to modify this project to read ADC value from ADC1 Input0 (by timer triggerred interrupt) and write the ADC reading to screen of STM32F746-Discovery board, using wildcards as in this example project. But I cannot even read the ADC value (the same ADC code works on 446RE). This can be issue related to FreeRTOS. I will be grateful if you make a video on this subject.
You're very welcome. Check this video out to see if this is what you're looking for? th-cam.com/video/EbWOv_0Lp-U/w-d-xo.html
@@EEbyKarl Dear Karl Yamashita. This seems to be the exact solution to my problem. I am grateful for your rapid response. Your videos are very well structured and informative. I think these videos will serve to the popularity of TouchGFX which can be quite complicated for novice users. Although they have a very good knowledge base in their website, official hands on tutorials of TouchGFX are difficult to follow for me. Thanks again.
Hi, thank you very much for your tutorial. Could it be possible to have the source code? Thank you again
Mattia
Great tutorial. Any chance you could post your code on Github?
Thank you a lot Karl!
These codes do not work. There is another place that you did not display because you do not use your codes
yes I agree with you! this codes don't work. because he do not use his codes