These are preprocesing and commenting changes, and do not cause any changes in the binaries (tested for all of the bootloaders generated by the makeall.* scripts.)
- use avr-gcc 5.4.0 shipped with Arduino 1.8.7 as it's the only one
that supports PB chips
- added new targets (mostly ATtiny chips)
- generate comparison with emoji by default
- update allow_failures
get our own copy of https://github.com/WestfW/Arduino-avr-tools-install
and used that to set up the tool paths. You still need to make "make"
installed in the path (or in the arduino tools bin directory.)
(because keeping the wiki pages in the source tree should allow other people to edit them and make pull requests, more easily that modifying the "protected" wiki pages (without making them fully publicly editable.)
This is not quite the same as MCUdude's code, but it has the same
calling conventions. This version doesn't use do_spm from the bootloading
code itself, since that recently went to some effort to use more of
the standardized boot.h calls. That means that this code is a bit
bigger than it really needs to be. (Still small enough to fit within
the 512byte limit, given recent compilers.)
Sadly, the compiler options that barely fit SUPPORT_EEPROM in 512bytes
are incompatible with DO_SPM, so you have to choose. Since do_spm was
supported by the MCUDude platforms, and not 512byte version of optiboot
has ever supported EEPROM, the do_spm code wins, for backward compatibility!
Also standardize the "makeall" shell script names, and update the release script.
Baud rate is calculated using the hardcoded formula:
( (F_CPU + BAUD_RATE * 4L) / (BAUD_RATE * 8L) - 1 )
While this is correct for double speed mode, this value is wrong
for single speed mode and leads to corrupted communications.
The issue is fixed by reusing the BAUD_SETTING value.
about moderate baud errors, if PRODUCTION is set. (this reduces
clutter in the output and should make things a bit quicker.
developers are supposed to check all the warnings prior to setting
PRODUCTION)
Make things reasonably self-documenting.
Group related options together (LED, COMM, extra features.)
Group similar targets together. Or less randomly, anyway.