For instance in the Sparkfun 1.6 core, we have:
promicro16.build.vid.0=0x1B4F
promicro16.build.vid.1=0x1B4F
promicro16.build.vid=0x1B4F
So we end up matching all 3 instead of just the last one.
Adding the = means we're looking for promicro16.build.vid= so
not catching the .0 or .1 version.
existing builds.
E.g. mega1280 and mega2560 previously *both* created a "build-mega" directory,
now they'll create build-mega-mega2560 and build-mega-mega1280
Only applies to 1.5+ of course, and only when BOARD_SUB is used. 1.0 will still
create build-mega2560 and build-mega1280 directories (just BOARD_TAG)
arduino-tiny and damellis' attiny85 cores don't use a vendor, but they
do use the avr architecture (subdirectory) in their 1.5/1.6 branches.
arduino-tiny builds and is auto-detected now, still needs some
work to support sub-cpu's and clocks.
damellis doesn't compile, but that's not our makefile it seems.
Subject to change during the beta phase, as its already different
than 1.5.6, also may change when packaged for Debian (usually symlinked)
Fixes issue #301
Double-quoting was added in 7618da7 to allow for spaces in paths,
that was a bad idea as:
1. most GNU Make functions can't handle spaces
2. it breaks variable expansion on Linux/OSX e.g. ~/sketchbook
3. Windows doesn't like double-quotes - see d5c7ed1
So basically, don't put spaces in your paths, as most Make functions
can't handle them, even if escaped, and its a bit dangerous when
shelling out to grep etc.
Single-quoting is no better either.
Changed RESET_CMD structure under Cygwin
Changed behaviour of get_monitor_port under Windows
DEVICE_PATH always becomes/dev/ttyS[0-9] on Windows
MONITOR_PORT always becomes com[0-9] on Windows
We currently pass the -D (do not erase) option to avrdude
unconditionally in order to work around an Arduino Mega bootloader bug.
However, this has the side-effect of breaking the ispload target for all
non-XMEGA chips, since a write operation on these chips essentially ANDs
the new program with the existing memory contents. If the memory is not
first erased to contain only 0xff, the resulting image is garbage. This
patch makes it so we pass -D when we're using the Arduino bootloader but
don't pass it when we're using ISP directly.
In 1.5.6 the Due board has an underscore, this regex tweak allows for:
arduino_due_x_dbg Arduino Due (Programming Port)
arduino_due_x Arduino Due (Native USB Port)
with spaces in directory/file-names.
Removed $TARGETS as it was an unsafe wildcard and was only used
in "make clean" which itself has been simplified to just delete
the $OBJDIR rather than waste time deleting individual files.
If Flymake is configured to parse .ino files the same way as for c/c++
files, it creates a temporary file (_flymake.ino) in the same directory
as the original file. It fails with the current Arduino.mk because of
the check for multiple .ino files. This fix removes the check
only when flymake is calling the Makefile (Flymake will call make with
the variable CHK_SOURCES set to the temporary file name)
To make Flymake working with .ino file :
Add :
check-syntax:
$(CXX_NAME) -c -include Arduino.h -x c++ $(CXXFLAGS) $(CPPFLAGS) -fsyntax-only $(CHK_SOURCES)
in the project Makefile after the inclusion of the Arduino.mk file
Edit the flymake configuration :
M-x customize-option RET
flymake-allowed-file-name-masks RET (using auto completion !)
Add the line :
("\\.ino\\'" flymake-simple-make-init)
Then click on "Apply and Save" button
Fix#211
Whilst doing that, i noticed that there were some missing
targets to "make help" so added those in and re-ordered
and re-worded some of the targets to make more sense
e.g. all of the upload's are together, all of the
assemblers are together etc.
AVRDUDE requires -P usb to be passed as an argument for some ISP
devices, and it is also required in the case where you have multiple
usbtiny or usbasp devices connected at once to select a specific one.
Fix#167
This results in just a deprecated warning rather than an error
when using libraries (e.g. jeelib) that still use prog_XXX types
This is how the IDE does it, and means that libraries don't have to
add the #define __PROG_TYPES_COMPAT__ line
Reference: http://www.nongnu.org/avr-libc/user-manual/group__avr__pgmspace.htmlFix#169
Added some notes to the SPECfile regarding overriding the paths
to the avr tools - most are in /usr/bin, but gcc/g++ are in an
architecture-dependant ccache directory
Upped version to 1.3.2 devel
so that installations using only the arduino-core packages that
don't have the $(ARDUINO_DIR)/hardware/tools/avr directory can
still use the avr-g++ tools found in the $PATH (/usr/bin)
Previously BUNDLED_AVR_TOOLS_DIR was set to an empty string as
the directory doesn't exist, which meant that "ifdef BUNDLED_AVR_TOOLS_DIR..."
was set rather than skipping to "else SYSTEMPATH_AVR_TOOLS_DIR...."
No user would set BUNDLED_AVR_TOOLS_DIR so the assignment operator
:= should be used not ?=
Updated the version info/changes in various locations.
Fix#147Fix#151Fix#153
The following are the detailed changes
- Remove ARDMK_PATH, ARDMK_FILE and arduino-mk subdirectory
- Looks for ard-reset-arduino in $PATH or ARDMK_DIR/bin
- Fix git-archive command in RPM SPEC file
- Remove some whitespace
- Remove arduino-mk dir from debian package's arduino-mk.install
- Update docs to reflect the above changes
- Bump Up version to 1.2.0
Changing the optimization level from -Os to something else breaks the
SoftwareSerial library. This patch allow optimization flags to be set on a
per target basis.
When using ICSP programmers e.g. usbasp, you can burn sketches directly
to the chip without having to burn a bootloader, however you do need to
set fuses e.g. if you're changing speed/BOD.
Updated help text to include "make set_fuses" and also changed
"make burn_bootloader" help text which wasn't entirely accurate.
Fix#141