atbetaflight/make
Bruce Luckcuck 30672a37c5 Refactor OSD element display code
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.
2019-02-21 14:03:25 -05:00
..
mcu Moved hal config headers etc to ./src/main/startup 2019-02-20 18:24:16 +11:00
build_verbosity.mk remove not needed whitespaces 2017-08-24 11:33:39 +02:00
linux.mk include the make arm_sdk_install target, for easy building 2016-09-02 19:56:15 -07:00
macosx.mk include the make arm_sdk_install target, for easy building 2016-09-02 19:56:15 -07:00
openocd.mk remove not needed whitespaces 2017-08-24 11:33:39 +02:00
source.mk Refactor OSD element display code 2019-02-21 14:03:25 -05:00
system-id.mk include the make arm_sdk_install target, for easy building 2016-09-02 19:56:15 -07:00
targets.mk Adding a reusable mapping function between alt and base targets. 2018-09-11 06:06:50 +02:00
targets_list.mk Adding a reusable mapping function between alt and base targets. 2018-09-11 06:06:50 +02:00
tools.mk update gcc 2018-07-21 11:46:10 +02:00
windows.mk include the make arm_sdk_install target, for easy building 2016-09-02 19:56:15 -07:00