Commit graph

201 commits

Author SHA1 Message Date
Simon John
c67f07fab8 Better autodetection of ARDUINO_SKETCHBOOK and ARDUINO_DIR on OSX 2015-04-04 00:58:30 +01:00
Simon John
47395782c3 Replaced UTF-8 copyright symbol causing sed errors on OSX
Fixes issue #335
2015-03-28 16:26:45 +00:00
Simon John
f42a7e6508 Added support for VARIANT in submenu's
Also added a note that in certain 1.6 cores (attiny) F_CPU is
a submenu item e.g. attiny.menu.clock.internal1.build.f_cpu=1000000L
2015-03-28 16:10:06 +00:00
Sudar
16924fe60e Locate 1.5+ preferences.txt file on Mac 2015-03-28 17:26:30 +05:30
Simon John
8d52840eb8 Now we know that arduino 1.6.1 uses the ~/.arduino15 directory
we can find preferences.txt

Still need to find out where it looks on OSX/Cygwin
2015-03-27 16:57:45 +00:00
Simon John
ce235b6bb3 Add = to PARSE_BOARD regex to make it less greedy.
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.
2015-03-27 16:11:27 +00:00
Simon John
8606592063 Added BOARD_SUB to OBJDIR so that when changing sub boards we don't accidentally overwrite
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)
2015-03-26 23:17:05 +00:00
Simon John
356f5b3e04 Added ARCHITECTURE to ALTERNATE_CORE_PATH to support 1.5+ cores like arduino-tiny.
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.
2015-03-25 19:29:21 +00:00
Simon John
495a0b8f91 Always forgetting the history! 2015-03-25 12:10:13 +00:00
Sudar
64145418f3 Give credit to @fbielejec for #321 2015-02-25 14:58:27 +05:30
poofjunior
d535bf5fde Ability to modify USB_TYPE in Teensy.md
See #313
2015-01-23 15:42:13 +05:30
Simon John
a6505e6da8 Change CXX_NAME to CXX as per the EmacsWiki for Flymake instructions.
Makes it a bit more standard too.
2015-01-01 01:25:23 +00:00
Gabrielius Mickevicius
de602e8b61 Typo 2014-12-30 17:45:36 +02:00
Gabrielius Mickevicius
ecb05452f7 Update changelog 2014-12-30 17:45:36 +02:00
Simon John
9c9491d1cc Moved location of avrdude and avrdude.conf for 1.5.8 on Linux (only!)
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
2014-12-03 22:38:50 +00:00
Simon John
b45a163b9d Removed all double-quoting except for comments/echo's
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.
2014-11-29 22:31:49 +00:00
Sudar
32a12e46d1 Add information about homebrew in ReadME 2014-11-23 20:11:16 +05:30
Peter Mosmans
78452da702 Added support for PuTTY on Windows
Use MONITOR_CMD=putty
The optional parameter MONITOR_PARMS can be used as well
2014-11-23 20:38:38 +10:00
Peter Mosmans
5f1a5a2ac0 Improved Windows (Cygwin/MSYS) support
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
2014-11-23 19:56:49 +10:00
Simon John
0df314249a Fix speed regression since 8d443f62c, faster than 1.3.4 now
Audited *some* use of := vs. =, when calling shell/foreach/wildcard,
could probably do with more looking into.
2014-11-10 23:19:00 +00:00
Thomas Hebb
05b57c3cc3 Allow avrdude to erase the chip before programming during ispload
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.
2014-11-07 22:47:08 -05:00
Simon John
893adf7f98 Arduino changed the download link again, this time it uses a script,
curl handles it ok luckily.
2014-11-08 02:51:39 +00:00
Simon John
713997d602 Made CXX compile *.cpp files instead of CC.
Fixes issue #285
2014-11-05 15:09:43 +00:00
Sudar
73f08aad76 Merge pull request #282 from sej7278/master
Add "avrispmkii" to the list of ISP's that don't have a port.

Fix #279
2014-10-24 09:03:17 +05:30
Sudar
3eee9851bb Merge pull request #281 from stepcut/teensy.mk
Add support for Teensyduino 3.x
2014-10-24 09:02:51 +05:30
Simon John
a2c8fe5196 Add's "avrispmkii" to the list of ISP's that don't have a port,
defaults to reading communication_type from avrdude.conf, which
is "usb" usually, rather than setting the -P flag which is the
user override.
2014-10-23 23:44:14 +01:00
stepcut
b6eb4a8686 Added Teensy to HISTORY.md 2014-10-15 18:33:11 -05:00
Sudar
8d443f62c8 Merge pull request #277 from lukasz-e/arduino-1.5.x-libs
Arduino 1.5.x libs - handle new library layout (issue #275) and hardware/vendor specific libs (issue #276)
2014-10-14 08:44:24 +05:30
Lukasz Engel
58c94f3d11 Add changelog entry for #275 and #276 2014-10-12 16:48:54 +02:00
Simon John
d5c7ed15f7 Replaced double quotes with singles when passing arguments to
avr-objcopy. Windows doesn't seem to like double quotes.

Fixes issue #272, thanks @vogt31337
2014-10-12 09:04:57 +01:00
Simon John
88c81b6d95 Added ArchLinux package info, thanks Niels.
Linked Fedora packaging instructions to homepage.

Added Raspbian to distro's with arduino-mk apt packages.
2014-09-23 18:22:03 +01:00
Simon John
5c50797471 Update Travis-CI scripts to test against Arduino v1.0.6 2014-09-22 22:50:27 +01:00
Simon John
6be2614c30 Removed Travis-CI references from all examples. Regular users
are not affected by test scripts/makefiles.

Added makefile and gcc version info to config output.

Tested on Arduino 1.0.6
2014-09-21 19:36:50 +01:00
Sudar
35ed0dd3af Rearrange items in changelog 2014-09-10 11:07:34 +05:30
Sudar
80fd656fce Add note about test suite in changelog 2014-09-10 11:05:35 +05:30
Simon John
9a6b0ef75f Added *.cpp to extensions supported by "make generate_assembly" 2014-08-29 09:56:52 +02:00
Simon John
aa879d8db8 Allow libraries/sketches to have the same name as system libs,
e.g. main or Wire

Doesn't seem to work with main.cpp but main.ino works.

Fixes issue #229 and #244
2014-08-29 09:56:52 +02:00
Simon John
1239263896 Fix regex for "make show_boards" on 1.5
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)
2014-08-17 19:29:43 +02:00
Simon John
421a40e261 allows "make clean" to be extended in the user's local makefile to clean
other files out, e.g. backup/git files
2014-08-16 19:31:07 +02:00
ladislas
51e65b0a08 add CFLAGS_STD and CXXFLAGS_STD defaults 2014-08-13 17:52:32 +02:00
Sudar
209446c944 Revert "Using CFLAGS_STD and CPPFLAGS_STD" 2014-08-13 10:13:16 +05:30
ladislas
a5b84b1722 create CPPFLAGS_STD and make both CFLAGS_STD and CPPFLAGS_STD avalaible for CFLAGS and CXXFLAGS 2014-08-12 18:11:24 +02:00
Simon John
331aea254e Add some documentation regarding overloading system libs and reporting bugs 2014-08-08 10:15:08 +02:00
Simon John
2f4d6c11f0 Fix CFLAGS vs CXXFLAGS typo 2014-08-01 12:17:06 +02:00
Sudar
92b775d794 Add information about Bare-Arduino-Project in README
Fix #220
Fix #221
Fix #225
2014-07-16 12:13:18 +05:30
ladislas
dfc7382368 Remove "./" in "make clean" to clean any OBJDIR & change "tinyladi" to "ladislas" in HISTORY.md 2014-07-15 10:25:38 +02:00
Sudar
542529ae4f Bump up version to v1.3.4 for release 2014-07-12 21:00:51 +05:30
Simon John
437a0f54b5 Build core objects in subdirectory, fixes issue #82 2014-06-30 09:03:15 +02:00
Simon John
7618da7f5f Added quotes around greps/cats to help alleviate possible problems
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.
2014-06-29 00:14:18 +02:00
Simon John
e5b8125469 Really fix $MONITOR_PORT detection
Fixes issue #215
2014-06-21 12:32:34 +02:00
Simon John
583a9e4950 Fixed $MONITOR_PORT detection, thanks choffmann 2014-06-15 17:56:52 +02:00
Ronan Barzic
05a0c7d377 Make Arduino.mk compatible with Flymake
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
2014-06-10 16:05:08 +05:30
Simon John
cc93d7b0b2 Add missing newlines at end of some echo's (issue #207)
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.
2014-05-27 11:25:23 +01:00
Simon John
82afb2769f "make show_boards" now lists the board name as well as board tag.
also is alphabetically sorted by tag now.

Fixes #204
2014-05-22 23:35:43 +01:00
Simon John
9a45b80017 Check that on windows ARDUINO_DIR (and MPIDE_DIR) is a relative path.
Checks for paths starting with / e.g. /cydrive/arduino or a
drive letter e.g. C:\Program Files\Arduino

Fix #201
Fix #202
2014-05-20 12:12:14 +05:30
Chris Patuzzo
70dfdcc7eb If no port is specified, try to guess it from wildcards
Fix #197
2014-05-03 09:01:24 +05:30
hrobeers
041d54d9ab Add support for assembler code in libraries
Fix #195
2014-04-25 14:31:32 +05:30
Pierre DAVID
aa4c96ce50 Allow spaces in "Serial.begin (....)"
Fix #190
Fix #191
2014-04-14 12:24:13 +05:30
Simon John
b42d05d8b1 Bump up version to v1.3.3 for release
Fix #189
2014-04-13 09:56:32 +05:30
Sudar
ba2b27db28 Bump up version to v1.3.2 for release 2014-04-11 20:26:11 +05:30
EAGMnor
32d35da2a0 Tweak AVRdude conf file detection in windows
On windows the AVRdude configuration file is now detected properly. The
comments and `README` are updated as well.

Fix #187
2014-04-11 20:24:17 +05:30
Simon John
7b5a163e9a simplified packaging by removing dependencies on python3/pyserial 2014-04-04 21:54:26 +01:00
Simon John
c080fb29b7 python3 compatibility 2014-04-02 17:57:58 +01:00
Simon John
392a6b9db1 replace perl reset script with python one
Fix #180
Fix #127
2014-04-02 18:57:00 +05:30
Simon John
5599d2ab1e Add BOOTLOADER_PARENT which has to be set if the user sets either of the other two BOOTLOADER variables
Fix #178
2014-03-23 18:30:37 -07:00
Julien Ridoux
ffde764ada Add phony target to run pre-build hook script
Fix #176
2014-03-20 11:17:14 -07:00
Geoff Holden
ce89531226 Fix: Consider usb... to be a valid ISP_PORT
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
2014-03-14 16:10:18 -02:30
Christopher Peplin
f1a79dbb3f Fix AVR tools paths for chipKIT in Linux.
Fix #175
Fix #174
2014-03-11 09:51:01 +05:30
tinyladi
a06136aafc Beautify arduino-mk-vars.md
Clean up markdown and add code blocks where needed

Fix #171
2014-03-06 22:50:05 +05:30
tinyladi
5c4328dd29 Add OBJDIR reference to arduino-mk-vars.md
Signed-off-by: tinyladi <ladislas@weareleka.com>
2014-03-06 22:50:01 +05:30
tinyladi
668a447054 Add a reference makefile, with real-world example 2014-03-06 22:48:25 +05:30
Simon John
f62b5838df Add -D__PROG_TYPES_COMPAT__ to the avr-g++ compiler flags
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.html

Fix #169
2014-02-15 16:57:16 +05:30
Simon John
ff103b244c Add "gpio" to the list of isp's that don't have a port
The gpio programmer type is used on the raspberry pi to upload using
the gpio spi pins via a sysfs interface, with a modified avrdude

Fix #165
Fix #166
2014-02-08 09:59:50 +05:30
Simon John
920c74024e now includes avr-libc/*.c files malloc.c and realloc.c
if bug-reporter confirms this fixes issue #163 then should be ok to merge.
2014-02-05 23:31:12 +00:00
Simon John
5a521361a0 Added the arduino-mk-vars.md file to the Fedora SPECfile.
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
2014-02-04 17:41:51 +00:00
Sudar
e48ae82fbd Bump up version to 1.3.1 for release 2014-02-04 18:29:18 +05:30
Sudar
cff1dec365 Add a new target help_vars
This target can display all variables that can be overridden
2014-02-04 18:27:46 +05:30
Sudar
e8634fb642 Document all the variables that can be overridden in child makefile
Huge thanks to @sej7278 for doing this

Fix #75
2014-02-04 18:26:43 +05:30
Simon John
1893199dad BUNDLED_AVR_TOOLS_DIR is now set correctly using := instead of ?=,
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.
2014-02-01 00:41:00 +00:00
Sudar
f549f9c401 Fix some typos and errors in changelog 2014-01-29 11:38:05 +05:30
Sudar
0526855340 Update README.md about compatibility with Windows
Fix #94
2014-01-29 11:32:16 +05:30
Sudar
967d47c7bd Update changelog about the recent changes 2014-01-29 10:58:25 +05:30
Sudar
418109c11b Document that ARDUINO_DIR must be a relative path in Windows
Fix #156
2014-01-29 10:44:12 +05:30
Sudar
ac0b7d46c3 Freezing up code for v1.2.0 release 2014-01-14 14:38:44 +05:30
Sudar
ce9c54848f Remove arduino-mk folder from all examples
Fix #154
2014-01-14 14:36:24 +05:30
Simon John
d4e0a383ae Simplify package vs git checkout detection
Fix #147
Fix #151
Fix #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
2014-01-14 14:23:25 +05:30
Sudar
320fec7981 Add information about package folder to changelog 2014-01-14 14:23:00 +05:30
Sudar
6e2708a446 Bump up version number to v1.1.0 for release 2013-12-26 16:07:58 +05:30
Sudar
7af27ae494 Use ARDUINO_HEADER variable instead of hardcoded file names
Fix #131
2013-12-26 16:00:08 +05:30
mahoy
d3e7eedd5f Allow target specific optimization levels/debug flags
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.
2013-12-20 17:25:18 +01:00
Sudar
e721a249cd Add CONTRIBUTING.md explaining how to contribute to this project 2013-12-17 17:28:59 +05:30
Sudar
672d6f40cf Update changelog about the last pull request #142 2013-12-17 15:38:26 +05:30
Sudar
38255ed0f0 Update changelog about usbtiny fix 2013-12-16 23:36:50 +05:30
Simon John
7ea19ce322 Add option to set fuses without burning a bootloader
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
2013-12-16 23:14:32 +05:30
anthony cantor
24128a1819 Use MAKEFILE_LIST to get the name of the make file
This way we don't assume the make file is 'Makefile' and it will
work even if it is named as 'makefile' or 'makefile-uno'

Fix #130
2013-12-05 12:25:53 +05:30
Ladislas
e04bb4d7d4 Auto detect and include libraries specified in USER_LIB_PATH
Fix #135
2013-12-05 12:12:15 +05:30
Sudar
7bacc727a8 Update HISTORY.md about ChipKIT 2013 support 2013-12-05 11:51:03 +05:30
Thomas Sigurdsen
d32d612a4b Change echo for printf
rationale:
http://unix.stackexchange.com/questions/65803/why-is-printf-better-than-echo

fix #129
2013-11-27 17:07:47 +05:30
Sudar
51f1271b32 Show correct path to arduino.mk file in help message
Fix #120
2013-10-06 19:20:52 +05:30
Sudar
4fb3e089bb Add burn_bootloader target
Code to burn fuses is moved from ispload target to this new target, so
that fuses are burned only once when needed.

Fix #85
2013-10-06 19:14:50 +05:30