Working towards dropping the dependency on Perl (which very few Windows users
have), this commit implements the required functionality from ard-parse-boards
in a few shell commands from within the Makefile.
Fix#100
This commit modifies a few things in Arduino.mk to be able to support
overriding the necessary configuration options to support the chipKIT build,
and also includes an example sketch configured to build for the Max32 platform.
In addition the following changes were done as well
- Control C standard with a CFLAGS_STD flag, GNU99 by default.
- Duplicate show_config_variable in each sub-makefile.
- Remove redundant output of ARDUINO_PREFERENCES_PATH from config table.
- Defer Priting ARDMK_DIR until Arduino.mk.
- Define names of compiler tools earlier to use for path checking.
Duplicating show_config_variable is unfortunate because the code is duplicated,
but I don't see a good way around it since we need to dupliacate the check
for ARDMK_DIR before we can find Common.mk.
Fix#98
When a Leonardo based board is reset, the port disappears and we need to
wait till it comes back.
Earlier this logic was handled by a separate shell script. Now the logic
is moved inside the ard-reset-arduino perl script. This is done to
reduce the number of binaries that are needed by the makefile.
Fix#95
Earlier bin/ard-verify-size shell script was used to validate that the
binary hex file size is less than the flash memory of the target
microcontroller.
This commit removes the dependency on the external shell script, by
moving the binary size verification logic inside the makefile itself.
Fix#54
In Arduino Linux distribution, avrdude and avrdude.conf files are placed
in different path. This commit improves the autodetection of avrdude
and avrdude.conf paths by considering this fact.
Fix#48
Micro can be reset using Leonardo reset functions itself. So call
Leonardo reset functions for Micro as well.
The reset function seems to have some issues for Micro and is not
100% reliable, like Leonardo. See comments in #30.
Fix#80Fix#83
To compile plain AVR C files, the variable NO_CORE should be initialized
to a non-empty value.
When NO_CORE is set, the following changes happen
- boards.txt file is not parsed. The user should explicitly set MCU,
F_CPU, fuse bits etc.
- MONITOR_BAUDRATE is not calculated
Fix#63
Introduce two new variables AVRDUDE_ISP_FUSES_PRE and
AVRDUDE_ISP_FUSES_POST which are set based on whether the fuse bits are
present or not.
avrdude is invoked to set fuse bits only if these new variables are not
empty.
Fix#61
ard-reset-leonardo which was used for reseting Leonardo was written in
Python. Now the logic is added inside the ard-reset-arduino perl script
itself.
Fix#62
Squashed commit of the following:
commit a63366980f
Author: Simon John <git@the-jedi.co.uk>
Date: Fri Jun 14 11:36:00 2013 +0200
who put a space in the shebangs?!
commit c798eb26ea
Author: Simon John <git@the-jedi.co.uk>
Date: Fri Jun 14 11:10:12 2013 +0200
replaced ard-reset-leonardo with an update to ard-reset-arduino
which is now called from Arduino.mk with the --leonardo flag
removed some trailing whitespace
upped version string in Arduino.mk
Leonardo board requires a new way of handling board reset.
There is a new script which does the reset differently for leonardo boards.
close#30 and close#44