A question regarding a minor inconvenience in the firmware compilation process, the cause of which took me hours to find since I was looking in the wrong places.
The system part build file ( ‘modules/photon/system-part2/build.mk’ ) defines SPARK_WIRING_NO_SPI and SPARK_WIRING_NO_I2C variables. If either interface is used in the user application then the compilation of the system software fails at the ‘user-part’ - after this the only way to compile the user-part is to clean the whole build and compile ‘user-part’ separately in the ‘main’ directory.
So the process of completely flashing the device a system compile is first required, where the selected application is tinker (or something else, where SPI nor I2C is used), then the compiled files have to be cleaned after which it is possible again to separately compile the user application.
Is this behaviour unavoidable or is there a solution which would make building the whole firmware more elegant?