I have noticed an unexpected issue when I compiled my ZigBee project.
I have the following define in the app_ui.h
#define HP_MIN_CURR 100
#define HP_MAX_CURR 400
And in the app_main.c I have:
else if((I_value > HP_MIN_CURR) && (I_value < HP_MAX_CURR)){
I compiled the project then I had to change the define
#define HP_MAX_CURR 500
After I compiled the project and flashed the file I noticed that it didn't work as I expected.
I compared old .bin file with the new one and there was no difference. This means that incremental compilation didn't change the value that of HP_MAX_CURR that was defined in the app_ui.h.
I had a look in the .lst file and it hasn't changed as well.
The app_ui.h file is saved during compilation, so the compiler knows (I assume) that there were changes in this file.
That is something that I didn't expect.
I had to clean the project and do the full compilation for this to work.
Why does it happen? Should I always do full compilation?
I think it's better to move the topic to the "Zigbee" Forum subboard。
As a general consideration, I think some header file modifications may need to recompile the entire project, and C file modifications should be able to compile directly。