30672a37c5
Remove the giant `select` block that contained all the code to generate the elements and transition them to individual functions called only when the element is active. Simplifies the code and results in a performance improvement as it's not necessary to fall through the large `select` statement for every element that will be drawn. The individual functions and the element to function mapping are moved to a new `osd_elements.c` file. Moved the OSD related code files to a new `osd/` directory. Also pre-analyze the active elements and only process those that are active. This also saves processing as it's not necessary to loop through all 50 or so elements when only a couple are active. Various other cleanup and removal of stale or unnecessary code. In the default configuration the element drawing phase of the OSD task is reduced from ~51us to ~35us - resulting in about a 30% decrease in processing time. |
||
---|---|---|
.. | ||
mcu | ||
build_verbosity.mk | ||
linux.mk | ||
macosx.mk | ||
openocd.mk | ||
source.mk | ||
system-id.mk | ||
targets.mk | ||
targets_list.mk | ||
tools.mk | ||
windows.mk |