Source Analyzer can't find include folder

When launching the apm32f407ig-tiny project from our testserver, the Diagnostics tab gives a few warnings:

The fix is simple. I just have to force-include the following header folder:
source/boards/Board_APM32F407_TINY/inc:

However, I wonder why the SA didn’t find this folder by itself?

After force including the header folder, there appears a lock on the magnifying glass (as expected) and the Diagnostics disappear (great!). I can also successfully build the project.

However, for the sake of testing, I try to remove the lock from the magnifying glass. I want to put the folder again on “automatic”:

But that has no effect. The lock remains. So something is going wrong here.

Initially, the Board_APM32F407_TINY/inc folder was force-excluded as an hdir, so the SA did not consider it; this explains the initial errors.

Setting it to force-include or automatic is exactly the same for the SA; so changing it from force-include to automatic has no effect (except that with force-include, a -I option for this folder will occur on the command line even if no header from this folder is used).

However, it is not normal that the icon on the folder does not change when you switch from force-include to automatic or vice versa. This is something Matic should look at. BTW: If you first switch from force-exclude to automatic and then to force-include, you will get the icon for automatic.

Also, when I switch Board_APM32F407_TINY/inc folder from force-exclude to automatic or back, the SA runs, but the SA progress bar is either not displayed at all, or displayed with a lot of delay.

Not sure why that happens; based on tracing in the SA itself, I believe that the progress changes are reported to Python in a timely manner using the report_progress callback. AFAIK, the delay occurs in the Python code.

The delayed or missing progress bar gives a sluggish feeling to the user interface: you click (to change the folder mode), and the reaction comes only seconds later.

1 Like