This commit introduces the concept of stateful board list (vs. original stateless) and board serial number.
The board is now an "entity" composed by the triplet port/vid/pid. These informations come from libListSerial "light" function. When the board list changes, it triggers a request for the additional infos to libListSerial. These information contains the serial number of the boards.
These brings a lighter and faster scanning process. Some logic has been introduced to handle a board with the S/N only exposed in the bootloader (like 32u4).
In this case the disappearing port acquires the bootloader's S/N
A menu (under Ports menu) shows the currently connected port info and can be used for bugreporting
Disable Compile/Run buttons as they get press, and reenable only on function exit.
The launched upload process has now a 2minutes timeout before being terminated forcefully.
10 second after pressing "Upload" the button comes pressable again, but this time the previous upload command gets killed explicitely
Define archive_file_path in Arduino AVR Boards platform.txt to provide
backwards compatibility with IDE versions previous to 1.6.6. The
archive_file_path value set in platform.txt is overridden in IDE 1.6.6+.
This produces avr-ar commands identical to the previous behavior.
- Remove comment in Arduino AVR Boards platform.txt about -w flag. This
is no longer relevant since the compiler warning level is now set by the
user.
- Fix typos
added "build.usb_manufacturer" entry that overrides default macro in USBCore.cpp source file. this isn't really necessary since the source macro is the same as in "boards.txt", but it gives 3rd party board vendors direction in how to have their SAM3X board use their own manufacturer string during USB enumeration.
now "myboard.build.usb_product" and "myboard.build.usb_manufacturer" from a 3rd party board in "boards.txt" are used in source code. if they aren't defined in "boards.txt", default values are used.
Avoid using the overload of print() for signed integer since a negative value is not allowed here.
This results in a smaller (unless print(int) is used somewhere else in the program) and faster code because the overload for unsigned integer is simpler.