2021-12-26 02:18 AM
Does anyone had a similar issue, or maybe know what can be causing this?
Thanks in advance!
2021-12-26 03:07 AM
Siply your code handling this event is in blocking mode and seems longer time as is possible in gui thread.
2021-12-26 04:17 AM
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.
2021-12-26 06:49 AM
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...
2021-12-27 12:10 AM
I commented the line in all these radiobtnselectX(), so now they do nothing at all. Did not solved the problem.