stm32: Factory reset from code
I believe factory reset should be available as an alternative to USR. USR might not be practical or accessible for custom boards or how the device might be enclosed or accessed.
This might also be related to ways to clear/format/erase the filesystem from code.
Basically recovery and housecleaning.
stm32: Move factory reset files and code to separate source file.
The new function factory_reset_make_files() populates the given filesystem with the default factory files. It is defined with weak linkage so it can be overridden by a board.
This commit also brings some minor user-facing changes:
-
boot.py is now no longer created unconditionally if it doesn't exist, it is now only created when the filesystem is formatted and the other files are populated (so, before, if the user deleted boot.py it would be recreated at next boot; now it won't be).
-
pybcdc.inf and README.txt are only created if the board has USB, because they only really make sense if the filesystem is exposed via USB.