1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-12-10 21:24:12 +01:00
Commit Graph

3465 Commits

Author SHA1 Message Date
Cristian Maglie
673847c8b6 Improved portability of String class (maniacbug) 2014-01-01 17:22:40 +01:00
Cristian Maglie
e2d373ed61 sam: Added digitalPinHasPWM(..) method
Fixes #1342
2013-12-31 20:58:10 +01:00
Cristian Maglie
90ab663146 sam: moved "variant" methods into proper place 2013-12-31 20:57:14 +01:00
Cristian Maglie
c50821ba10 Fixed value of NUM_DIGITAL_PINS for Arduino Due 2013-12-31 20:55:43 +01:00
Cristian Maglie
ffddfc81f6 Merge branch 'cast' of github.com:Lauszus/Arduino into Lauszus-cast
Conflicts:
	hardware/arduino/avr/cores/arduino/Print.cpp
2013-12-31 20:11:08 +01:00
Matthijs Kooijman
98777e816f Use PGM_P instead of prog_char
On later versions of avr-libc, prog_char is deprecated. In 0acebeeff4
the one occurence of prog_char was replaced by "char PROGMEM", which is
not entirely correct (PROGMEM is supposed to be an attribute on a
variable, not on a type, even though this is how things work in older
libc versions). However, in 1130fede3a a few new occurences of
prog_char are introduced, which break compilation on newer libc versions
again.

This commit changes all these pointer types to use the PGM_P macro from
<avr/pgmspace.h>. This macro is just "const char *" in newer libc
versions and "const prog_char *" in older versions, so it should always
work.

References #795
2013-12-31 20:01:40 +01:00
Cristian Maglie
0b72c88b42 Merge pull request #1762 from matthijskooijman/ide-1.5.x-write-char
Support both char* and uint8* in Stream and Print
2013-12-30 10:58:03 -08:00
Cristian Maglie
dd7e0ee33f WiFi library is now vanilla 2013-12-30 18:04:31 +01:00
Cristian Maglie
1ddf6136af WiFi librari: SPI delay is computed based on F_CPU constant 2013-12-30 18:04:31 +01:00
Cristian Maglie
a2482734b5 Moved vanilla parts of WiFi library into common source folder. 2013-12-30 18:04:31 +01:00
Cristian Maglie
9d48b52312 Removed unused "socket.h" interface from WiFi library.
(that was probably an heritage from Ethernet lib)
2013-12-30 18:04:31 +01:00
Cristian Maglie
d920b7b67c Removed unused stuff from WiFi library. 2013-12-30 18:04:31 +01:00
Cristian Maglie
825d8c8455 sam: Optimized delayMicroseconds() (Rob Tillaart)
See #1121
2013-12-30 12:17:50 +01:00
Kristian Lauszus
5d361f5f47 Use reinterpret_cast to cast __FlashStringHelper to const char* 2013-12-27 20:01:03 +01:00
Matthijs Kooijman
2ea12d0220 Remove unneeded casts in Print::write(const String&)
Now that Print::write(const char*) is also available, these casts are no
longer needed.
2013-12-24 13:22:43 +01:00
Matthijs Kooijman
f304abe35f Add uint8_t* versions of methods in Stream
The new functions just call their char* equivalents, but this allows
reading bytes into a buffer of uint8_t as well as chars.
2013-12-24 13:22:42 +01:00
Matthijs Kooijman
250386802f Add Print::write(const char *, size_t)
The new function just calls Print::write(const uint8_t *, size_t), but
this allows writing out a buffer of chars (without having to learn about
casts).
2013-12-24 13:22:42 +01:00
Cristian Maglie
660c7d86fd Optimized Print::print(String&) (part 2) 2013-12-23 12:04:15 +01:00
Federico Fissore
88a2ca18fd Print.print optimization. Closes #1760 2013-12-23 11:50:39 +01:00
Federico Fissore
4e262a566d Introducing "defaultTarget" board is the one selected in preferences is not available. Closes #1731 2013-12-19 13:14:44 +01:00
Cristian Maglie
b530742603 [sam] Fixed regression in analogRead() (fails to read multiple channels) (Mark Tillotson)
See #1740 #1634

http://forum.arduino.cc/index.php?topic=203322.msg1509907#msg1509907
2013-12-18 15:46:42 +01:00
Cristian Maglie
a1c4809105 [sam] Fixed regression in analogRead() (fails to read multiple channels)
Fixes #1740
2013-12-16 11:07:45 +01:00
Cristian Maglie
2e7b645571 [sam] Fixed wrap-around bug in delay() (Mark Tillotson)
Fixes #1736
2013-12-14 00:33:57 +01:00
Cristian Maglie
e2b15c852b Changed pins definition in variants from constants to #defines. 2013-12-13 15:13:18 +01:00
Cristian Maglie
c5880c2c1b Merge branch 'pins-define' into ide-1.5.x 2013-12-13 15:09:40 +01:00
Cristian Maglie
7fcba37acf Changed pins definition in variants from constants to #defines. 2013-12-13 14:37:26 +01:00
Cristian Maglie
f9bbcab1a3 Removed redefinitions of SERIAL_* in Yun variant 2013-12-13 14:22:46 +01:00
Cristian Maglie
b984463468 Merge pull request #1730 from matthijskooijman/ide-1.5.x-appdata
Add appdata.xml file
2013-12-13 04:16:51 -08:00
Federico Fissore
e0825e5d3e Added script to run astyle every once in a while against all .ino files 2013-12-11 21:55:00 +01:00
Matthijs Kooijman
5a6b2131c9 Add appdata.xml file
This file can be shipped in Linux packages and allows the Gnome
application browser to show some additional metadata.
2013-12-11 09:11:18 +01:00
Cristian Maglie
d20c028469 Merge remote-tracking branch 'arduino/master' into ide-1.5.x
Conflicts:
	libraries/Ethernet/EthernetClient.cpp
2013-12-09 18:31:43 +01:00
Cristian Maglie
ffb8a557e6 Merge pull request #1700 from ntruchsess/ethernetclient2
Enhancement: add operator==, localPort, remoteIP and remotePort to EthernetClient
2013-12-09 09:18:54 -08:00
Cristian Maglie
0516ec16a4 Merge pull request #1727 from matthijskooijman/ide-1.5.x-linuxstuff
Ide 1.5.x linuxstuff and manpage
2013-12-09 08:58:16 -08:00
Matthijs Kooijman
fe2bec59b7 Add manual page
This adds a description of commandline options, files used and some
preferences in proper Unix manpage format. It is written in asciidoc,
which can easily be converted to both a native troff manpage, or HTML
(the latter can be done by github on-demand).
2013-12-09 10:56:39 +01:00
Matthijs Kooijman
76645b957d In boards.txt, rename atmega328diecimila to diecimila
This board has a "cpu" submenu to select either atmega328 or atmega168,
so it does not make sense to put atmega328 in the main board name.
2013-12-08 18:16:31 +01:00
Matthijs Kooijman
f73bb0873c Add arduino.desktop file for Linux
This file is not installed by the ant build, but is intended for use by
Linux distributions.

The actual file was taken from the Debian package, version
1:1.0.5+dfsg2-1 and is licensed under the GPL-2+. The GenericName,
Comment and Categories fields were changed to better reflect the Arduino
program and Desktop specification.
2013-12-07 19:50:59 +01:00
Matthijs Kooijman
eb986fea5b Add .ino mime type info for Linux
This file is not installed by the ant build, but is intended for use by
Linux distributions.

The actual file was taken from the Debian package, version
1:1.0.5+dfsg2-1 and is licensed under the GPL-2+. It was only modified
to remove a FIXME comment that is no longer relevant.
2013-12-07 19:41:32 +01:00
Matthijs Kooijman
c41cc36f13 Add icons
These are Arduino icons in various formats that can be used by
redistributors in menus etc.

These icons were taken from the Debian package, version 1:1.0.5+dfsg2-1.
According to the copyright file in there, all icons are licensed under
the GPL-2+.
2013-12-07 19:39:45 +01:00
ntruchsess
29954567e7 update AdvancedChatServer.ino, add operator!= 2013-12-06 23:19:19 +01:00
ntruchsess
fbdf3a18ee remove all Changes besides operator== 2013-12-06 19:05:31 +01:00
Fede85
9a50f9f1fa TFT library: warning messages in PImage class and strings inside examples now stored in flash to save RAM 2013-12-06 11:17:17 +01:00
Federico Fissore
9b05911525 Merge branch 'ide-1.5.x-jssc2' into ide-1.5.x 2013-12-03 18:15:52 +01:00
Cristian Maglie
cc347e4ea3 Removed unused variable 2013-12-03 17:51:37 +01:00
Cristian Maglie
1d8901d9bb Fixed indentation.
Updated revision log.
2013-12-03 17:46:55 +01:00
Matthijs Kooijman
0029e97b5a Return different exit codes with --verify or --upload
Previous commits made all failures return 1, even though originally an
unknown sketch file would return 2. This restores the previous behaviour
and adds return code 3 to mean invalid options specified.

The return codes are now:
0: Success
1: Build failed or upload failed
2: Sketch not found
3: Invalid commandline options
2013-11-29 00:33:43 +01:00
Matthijs Kooijman
9196a8d943 Don't show the GUI on --verify or --upload
These are intended to be ran from the commandline, so showing the GUI
doesn't make so much sense.

This is not quite the perfect solution yet, because an Editor object and
all kinds of GUI objects are still created. This commit only prevents
them from being visible, which is a nice first step, but not quite
pretty yet. However, to do it properly, some code should be moved out of
the Editor class, so that's a bit more work.

Additionally, any messages shown with Base::showError and friends still
create a popup, they probably shouldn't do this either.
2013-11-29 00:33:43 +01:00
Matthijs Kooijman
c6795dde73 In EditorConsole::write(), use all arguments
When System.(out|err).print was used before there was a visible
EditorConsole, the message was written to the stderr/stdout by this
instead of the EditorConsole. However, the write(data, offset, length)
version would not pass on its offset and length parameters to the
stdout/stderr stream, causing (parts of) a message to be printed
multiple times.

This commit makes sure the parameters are all properly passed to the
real stream.

For some reason the write(int) and write(byte[], int, int) methods in
PrintStream do not throw an IOException like the write(byte[]) version,
so the try block has to go.
2013-11-28 23:08:36 +01:00
Matthijs Kooijman
4592acc213 Change the logic deciding when to do a full rebuild
Previously, a full cleanup of the work directory (and thus a full
rebuild) was done on the first build after:
 - startup, or
 - a change in the board or board suboption.

This did not cooperate nicely with commandline compilation using
--verify. Using the build.path option a persistent build path could be
used, but the actual files in that path would never be reused.

Now, each build saves the preferences used for building in a file
"buildprefs.txt" inside the build directory. Subsequent builds will read
this file to see if any build options changed and re-use the existing
files if the build options are identical.

Because the main .cpp file is not handled by Compiler::build, but by
Sketch::preprocess, it is still always regenerated, even if the Sketch
itself didn't change. This could be fixed later, though it is probably
not a problem.

When writing buildprefs.txt, only the build preferences starting with
"build.", "compiler." or "recipes." are used. These should be enough to
ensure files are always rebuilt when needed (probably also sometimes
when not needed, when change build.verbose for example). Using all build
preferences would cause the files to be rebuild too often, and because
of last.ide.xxx.daterun, they would still rebuild on _every_
invocation... This approach is perhaps not ideal, but improving it would
require putting more structure in the preferences instead of piling them
all together into the build preferences.

Because of this new mechanism, the old
buildSettingsChanged()/deleteFilesOnNextBuild could be removed.
2013-11-28 23:08:36 +01:00
Matthijs Kooijman
7b7f447a4a Move the definition of primaryClassName in Sketch
Instead of defining in the preprocess method and returning, just define
it in the build method. This makes sure the name is available before
preprocessing, which is important for the upcoming commits.

This commit should not change behaviour, only prepare for the next
commits.
2013-11-28 23:08:36 +01:00
Matthijs Kooijman
beac88e039 Pass arguments to the Compiler constructor
Previously, these arguments would be passed to the compile method.
However, passing them to the constructor makes sure that the build
preferences are created sooner, so they can be used by Sketch before
calling the compile method.

This commit shouldn't change any behaviour, but prepares for the next
commits.
2013-11-28 23:08:35 +01:00