Skip to main content
ANigr.1
Associate
December 26, 2021
Question

I have a working program running on a STM32F746NGH6, designed with TouchGFX version 4.14.0. Everything woks perfectly, except for these radio button. When pressing them, the screen keeps shaking or trembling, and I cant figure out what causes that.

  • December 26, 2021
  • 1 reply
  • 1243 views

https://streamable.com/7xet2b

Does anyone had a similar issue, or maybe know what can be causing this?

Thanks in advance!

This topic has been closed for replies.

1 reply

MM..1
Chief III
December 26, 2021

Siply your code handling this event is in blocking mode and seems longer time as is possible in gui thread.

ANigr.1
ANigr.1Author
Associate
December 26, 2021

This is the handler:

void SettingsViewBase::radioButtonSelectedCallbackHandler(const touchgfx::AbstractButton& src)
{
 if (&src == &radioA)
 {
 //radiobtnselectA
 //When radioA selected call virtual function
 //Call radiobtnselectA
 radiobtnselectA();
 }
 else if (&src == &radioB)
 {
 //radiobtnselectB
 //When radioB selected call virtual function
 //Call radiobtnselectB
 radiobtnselectB();
 }
 else if (&src == &radioC)
 {
 //radiobtnselectC
 //When radioC selected call virtual function
 //Call radiobtnselectC
 radiobtnselectC();
 }
 else if (&src == &radioD)
 {
 //radiobtnselectD
 //When radioD selected call virtual function
 //Call radiobtnselectD
 radiobtnselectD();
 }
}

And the radio button selected:

void SettingsView::radiobtnselectD() { MainManager.temp.tip = 4; }
 
void SettingsView::radiobtnselectC() { MainManager.temp.tip = 3; }
 
void SettingsView::radiobtnselectB() { MainManager.temp.tip = 2; }
 
void SettingsView::radiobtnselectA() { MainManager.temp.tip = 1; }

Dont think that it takes that long to block gui thread.

MM..1
Chief III
December 26, 2021

Yes when your MainManager is handled in other RTOS thread and dont use some bus blocking, code seems ok.

Maybe latest 4.17 18 or older 4.13 need be compared...