Fixed no boot for TFT GD variants reported on #2884: bug introduced on PR #2873. All the TFT GD version are affected, so this bugfix could be considered major for some users.
Bug was in os_timer.c. In particular:
TIMER_INTF(TIMER6) &= ~TIMER_INTF_UPIF; // clear interrupt flag
was wrongly set to (see missing ~):
TIMER_INTF(TIMER6) &= TIMER_INTF_UPIF; // clear interrupt flag
Fixed random freeze using Menu->Settings->Connection->Disconnect button: bug was due to unallocated memory access. That bug was wrongly reported as already fixed by PR #2822
Fixed missing settings initialization before loading config.ini: as reported in #2884 the bug caused a random value for Listening Mode setting not provided in config.ini. In general, a missing setting value in config.ini caused a random value for the setting
IMPROVEMENTS:
Cumulative patches: it includes fixes/improvements provided on #2856 and #2879 (they seem non being merged) plus some cleanup. Affected files are boot.h/c and Numpad.h/c. All credits to kisslorand
Cleanup on TouchProcess API: API renamed to Touch_Screen and moved from TFT\src\User\API\UI to TFT\src\User\API folder (that API is not a UI API). Furthermore, functions renamed appending prefix TS_ (common naming convention used for other core APIs)
Folder of MKS TFT28 bootloaders properly organized: original and patched bootloaders are provided in separate folders
Minor cleanup: Moved definitions from .h to .c on some files (e.g. config, boot API) etc...
NOTE: PR originally planned to be released after the merge of the remaining pending PRs (buzzer based on Interrupt, bugfix on Numpad and fw update from USB stick) as a final cleanup. Just anticipated to fix the issue on missing boot on TFT GD variants.
BUGFIXES:
os_timer.c
. In particular:TIMER_INTF(TIMER6) &= ~TIMER_INTF_UPIF; // clear interrupt flag
was wrongly set to (see missing ~):TIMER_INTF(TIMER6) &= TIMER_INTF_UPIF; // clear interrupt flag
Menu->Settings->Connection->Disconnect
button: bug was due to unallocated memory access. That bug was wrongly reported as already fixed by PR #2822config.ini
: as reported in #2884 the bug caused a random value forListening Mode
setting not provided inconfig.ini
. In general, a missing setting value inconfig.ini
caused a random value for the settingIMPROVEMENTS:
boot.h/c
andNumpad.h/c
. All credits to kisslorandTouchProcess
API: API renamed toTouch_Screen
and moved fromTFT\src\User\API\UI
toTFT\src\User\API
folder (that API is not a UI API). Furthermore, functions renamed appending prefixTS_
(common naming convention used for other core APIs).h
to.c
on some files (e.g.config
,boot
API) etc...NOTE: PR originally planned to be released after the merge of the remaining pending PRs (buzzer based on Interrupt, bugfix on Numpad and fw update from USB stick) as a final cleanup. Just anticipated to fix the issue on missing boot on TFT GD variants.
fixes #2884
PR STATE: Ready for merge