Cristian Maglie
2659b47587
Update revision log. Upped version to 1.5.6
2014-02-19 18:14:31 +01:00
Matthijs Kooijman
5c6ee6127c
Remove const specifier from channelToTC array in analogWrite on SAM
...
Members of this array are later passed to functions that accept
non-const pointers. These functions probably don't modify their
arguments, so a better solution would be to update those functions to
accept const pointers. However, they look like third-party code, so that
would require changing the code again on every update. Removing const
here fixes at least the compiler warning for now.
This helps towards #1792 .
2014-02-19 16:09:31 +01:00
Matthijs Kooijman
4b3db72a46
Fix two signedness warnings
...
This helps towards #1792
2014-02-19 16:09:30 +01:00
Matthijs Kooijman
1c6a57e15d
Include stdio.h in dtostrf.c
...
This makes the declaration of sprintf available, so the function is not
implicitely declared, which triggers two compiler warnings.
This helps towards #1792
2014-02-19 16:09:30 +01:00
Matthijs Kooijman
8e35973ff9
Remove check that is always false
...
len is an unsigned variable, so it will never be less than 0.
This helps towards #1792 .
2014-02-19 16:09:30 +01:00
Matthijs Kooijman
b196a4a9c5
Suppress "unused parameter" warnings
...
A bunch of functions have parameters they do not use, but which cannot
be removed for API compatibility.
In syscalls_sam3.c, there are a lot of these, so this adds an "UNUSED"
macro which adds the "unused" variable attribute if supported (GCC
specific), or is just a noop on other compilers.
In CDC.cpp, there's only three of these variables, so this commit just
forces a dummy evaluation of them to suppress the warnings.
This helps towards #1792 .
2014-02-19 16:09:30 +01:00
Matthijs Kooijman
4cf21dcdd1
Don't store peeked characters in a char variable
...
peekNextDigit() returns an int, so it can return -1 in addition to all
256 possible bytes. By putting the result in a signe char, all bytes
over 128 will be interpreted as "no bytes available". Furthermore, it
seems that on SAM "char" is unsigned by default, causing the
"if (c < 0)" line a bit further down to always be false.
Using an int is more appropriate.
A different fix for this issue was suggested in #1399 . This fix helps
towards #1728 .
2014-02-19 16:09:30 +01:00
Matthijs Kooijman
3035239a4e
Use a union in IPAddress for uint8_t[] <-> uint32_t conversion
...
Previously, pointer casting was used, but this resulted in strict-aliasing warnings:
IPAddress.h: In member function ‘IPAddress::operator uint32_t() const’:
IPAddress.h:46:61: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
operator uint32_t() const { return *((uint32_t*)_address); };
^
IPAddress.h: In member function ‘bool IPAddress::operator==(const IPAddress&) const’:
IPAddress.h:47:81: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
bool operator==(const IPAddress& addr) const { return (*((uint32_t*)_address)) == (*((uint32_t*)addr._address)); };
^
IPAddress.h:47:114: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
bool operator==(const IPAddress& addr) const { return (*((uint32_t*)_address)) == (*((uint32_t*)addr._address)); };
Converting between unrelated types like this is commonly done using a union,
which do not break the strict-aliasing rules. Using that union, inside
IPAddress there is now an attribute _address.bytes for the raw byte
arra, or _address.dword for the uint32_t version.
Since we now have easy access to the uint32_t version, this also removes
two memcpy invocations that can just become assignments.
This patch does not change the generated code in any way, the compiler
already optimized away the memcpy calls and the previous casts mean
exactly the same.
This is a different implementation of a part of #1399 and it helps
toward fixing #1728 .
2014-02-19 16:09:29 +01:00
Cristian Maglie
9fcf005638
[sam] Removed workaround in banzai() subroutine after 8120558af5
...
See #1876
2014-02-18 22:32:55 +01:00
Matthijs Kooijman
8120558af5
Fix loops in the SAM banzai() reset function
...
The code used to say:
while (EFC0->EEFC_FSR & EEFC_FSR_FRDY == 0);
This triggered a compiler warning, which is why I looked at this line
more closely:
warning: suggest parentheses around comparison in operand of '&'
As the warning indicates, because the == operator has higher precedence
than the & operator, the compiler is interpreting this line as:
while (EFC0->EEFC_FSR & (EEFC_FSR_FRDY == 0));
Since EEFC_FSR_FRDY is defined as 1, (EEFC_FSR_FRDY == 0) is always
false (== 0) and this reduces to:
while (EFC0->EEFC_FSR & 0);
Which reduces to:
while (0);
So effectively this line is a no-op.
This commit adds parenthesis to restore the intended behaviour.
2014-02-18 22:32:25 +01:00
Cristian Maglie
0a126d75bb
[sam] itoa() and related function are now available for the sketch
2014-02-18 22:32:24 +01:00
Cristian Maglie
bab0062998
Temboo library is now vanilla
2014-02-18 22:32:24 +01:00
Matthijs Kooijman
5b83043290
Include stdint.h from IPAddress.h on SAM
...
This happened for AVR in 34885b01
, this commit makes the SAM version
identical again.
2014-02-18 21:10:35 +01:00
Cristian Maglie
8504bca280
Merge branch 'ide-1.5.x' of github.com:dpslwk/Arduino into dpslwk-ide-1.5.x
2014-02-14 15:35:47 +01:00
Cristian Maglie
79f5a34954
Revert "Changed pins definition in variants from constants to #defines."
...
This reverts commit e2b15c852b
.
2014-02-13 17:37:00 +01:00
Cristian Maglie
397046a844
Added license for Arduino.h, binary.h and main.cpp
...
See #1847
2014-02-10 12:55:16 +01:00
Cristian Maglie
9eb0c1495c
Added license for Client, IPAddressm and Server
...
See #1847
2014-02-10 12:55:16 +01:00
Jimmy Hedman
fb324358ee
Compile with -x assembler-with-cpp instead of -assembler-with-cpp.
...
- Newer avr-gcc doesn't use -assembler-with-cpp, but
uses -x assembler-with-cpp. This works with older compilers as well.
2014-01-21 21:57:35 +01:00
dpslwk
8364134ada
Wire library, move hard references IRQn to defines in variant.h
2014-01-17 20:44:19 +00:00
Matthijs Kooijman
dde1a7541f
Make some operators in IPAddress const
...
These functions do not modify the IPAddress object, but were not marked
as const. This meant that you could not do:
void set_ip(const IPAddress& ip) {
uint32_t copy = ip;
}
Since calling operator uint32_t() on ip would discard the constness of
the reference.
2014-01-15 16:20:48 +01:00
Federico Fissore
dfe77f388d
Removed = char from #define. See https://github.com/arduino/Arduino/issues/1792#issuecomment-31650586
2014-01-06 18:20:37 +01:00
Federico Fissore
9fce7f1839
Added new EULER constant. Fixes #1792
2014-01-06 09:48:34 +01:00
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
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
825d8c8455
sam: Optimized delayMicroseconds() (Rob Tillaart)
...
See #1121
2013-12-30 12:17:50 +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
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
43f9f15358
Upped version to 1.5.5
2013-11-28 10:53:50 +01:00
Cristian Maglie
d5c828736b
Revert "SPI library to new format"
2013-11-21 15:05:36 +01:00
Cristian Maglie
71bb7f7ae3
Fixed vid/pid definition for arduino_due_x_dbg in boards.txt. (Luca Baldini)
...
http://forum.arduino.cc/index.php?topic=197003
2013-11-15 14:01:36 +01:00
Cristian Maglie
9a9652d506
Revert "Wire library to the 1.5 format"
...
This reverts commit a31857688b
.
2013-11-15 12:54:59 +01:00
Cristian Maglie
3ba9480972
Merge pull request #1634 from cmaglie/adc-fix
...
Improved ADC speed on Arduino Due
2013-11-12 00:57:28 -08:00
Cristian Maglie
56572fa0de
Added SERIAL metadata into variant files.
2013-11-11 13:41:04 +01:00
Cristian Maglie
8e3da56624
Added LED_BUILTIN definition to Arduino Due
2013-11-03 18:29:34 +01:00
Cristian Maglie
8f1e3fd703
Using NOT_AN_INTERRUPT defined constant
2013-10-31 12:44:24 +01:00
Cristian Maglie
35d477297d
Added pinToInterrupt() variant macro (Paul Stoffregen)
2013-10-31 12:43:41 +01:00
Cristian Maglie
1fc54f5003
[sam] Improved analogRead speed.
...
See #1418
2013-10-21 12:38:37 +02:00
Fede85
02550de1e9
Merge remote-tracking branch 'origin/ide-1.5.x' into ide-1.5.x
2013-10-10 20:59:01 +02:00
Cristian Maglie
40dce96f11
Fixed adc_init() function.
...
See #1418
2013-10-09 15:54:47 +02:00
Cristian Maglie
a21d92e5c8
[sam] Added empty Serial::begin() with options for CDC-ACM
...
See #1563
2013-09-30 16:27:07 +02:00
Cristian Maglie
f03093332b
[sam] Fixed initialization of ADC timings (improves analogRead speed by a factor x10)
...
Discussion:
http://www.djerickson.com/arduino/
http://forum.arduino.cc/index.php?topic=156849
http://forum.arduino.cc/index.php?topic=187693
Fixes #1418
2013-09-26 01:22:01 +02:00
Fede85
a31857688b
Wire library to the 1.5 format
2013-09-10 18:50:42 +02:00
Cristian Maglie
421fa18c3c
Updated revision log, and upped version to 1.5.4
2013-09-09 19:47:25 +02:00
Federico Fissore
effb59da4b
Merge remote-tracking branch 'arduino/ide-1.5.x' into dev-ide-1.5.x-discovery
2013-09-06 12:59:24 +02:00
Cristian Maglie
c86eed942d
Fixed String class regression after f80c6c5f35
...
This should make explicit String-from-integer constructor working again:
int a = 10;
String(a, 4);
2013-09-03 18:40:30 +02:00
Cristian Maglie
690eac4047
Moved arm-gcc upgrade to specific development branch
2013-08-30 10:58:16 +02:00
Cristian Maglie
ea8c14421a
Merge branch 'ide-1.5.x' into dev-ide-1.5.x-discovery
...
Conflicts:
app/src/processing/app/Preferences.java
app/src/processing/app/debug/Uploader.java
2013-08-23 15:59:24 +02:00
Cristian Maglie
00210189fe
Removed unused flags from String (free 1 byte of SRAM)
2013-08-20 15:15:47 +02:00
Cristian Maglie
e4e2a47e68
Merge branch 'ide-1.5.x-library-to-new-format' into ide-1.5.x
2013-08-08 16:43:19 +02:00
Cristian Maglie
32a5a300b9
Merge branch 'update-arm-gcc' into ide-1.5.x
2013-08-08 15:00:14 +02:00
Cristian Maglie
1e8e20a66b
Added quoting to usb_producer key to preserve double quotes.
...
See #1422 .
2013-08-01 15:20:24 +02:00
Cristian Maglie
0b632dba47
Merge branch 'ide-1.5.x' into dev-ide-1.5.x-discovery
...
Conflicts:
hardware/arduino/avr/cores/arduino/USBCore.cpp
2013-07-30 10:45:44 +02:00
Cristian Maglie
ea804023ef
Updated ARM gcc to 4.7.4. Added native 64 bit version for linux (no more ia32-libs needed).
...
Fixes #1474
2013-07-28 14:14:04 +02:00
Cristian Maglie
f8d32a0659
Parametric USB configuration for Arduino Due (experimental)
2013-07-22 12:29:02 +02:00
Fede85
fd7e9c6d90
WiFi library to the new format
2013-07-19 16:20:34 +02:00
Fede85
ef1cfce024
Scheduler library for Arduino Due to the new format
2013-07-04 14:28:58 +02:00
Fede85
0608c9f83f
USBHost library to new format
2013-07-04 14:10:26 +02:00
Fede85
2371e2ce0d
SPI library to the new format and moved Robot_Motor and Robot_Control libraries
2013-07-03 22:00:02 +02:00
Federico Fissore
94547ebd9e
Merge remote-tracking branch 'arduino/ide-1.5.x' into dev-ide-1.5.x-discovery
2013-06-28 15:36:50 +02:00
Fede85
b6e4c59ab3
Merge remote-tracking branch 'upstream/ide-1.5.x' into ide-1.5.x-library-to-new-format
2013-06-28 15:10:09 +02:00
Cristian Maglie
8e20bc7b43
String: fixed number of whitespaces in concat() methods
2013-06-28 09:53:25 +02:00
Fede85
b28104b795
Audio library to the new format
2013-06-27 19:15:53 +02:00
Fede85
c13779daae
removed the CAN library for the Due
2013-06-27 13:52:50 +02:00
Fede85
3b54dfed67
Servo library to the new format
2013-06-27 13:12:07 +02:00
Fede85
9454816162
Ethernet, SD and LiquidCrystal to the new library format
2013-06-26 19:13:04 +02:00
Federico Fissore
d469dc9d90
Merge remote-tracking branch 'arduino/ide-1.5.x' into ide-1.5.x-discovery
2013-06-25 16:13:56 +02:00
Cristian Maglie
f57a00ea6c
String: changed default to 2 decimal digits
2013-06-21 21:23:12 +02:00
Cristian Maglie
d101bf51a2
[sam] 2 bugfix to SPI library.
...
- begin() after end() now works.
- unconnected SPI pin is selected as CS when old (non extended) API is used.
2013-06-21 19:58:08 +02:00
Cristian Maglie
3e4419d6be
Merge branch 'ide-1.5.x' into ide-1.5.x-discovery
2013-06-07 00:38:42 +02:00
Cristian Maglie
a2e7413d22
More efficient dtostrf() emulation on ARM
2013-06-06 23:11:43 +02:00
Cristian Maglie
ba7fb5518f
Fixed buffer overflow on String class (Paul Stoffregen)
2013-06-06 20:04:43 +02:00
Cristian Maglie
f80c6c5f35
Merged various bugfix / improvements to String class.
...
Merge branch 'master' into ide-1.5.x
2013-06-06 19:54:58 +02:00
Cristian Maglie
1130fede3a
Added support for Flash string on String class.
2013-06-06 16:33:20 +02:00
Cristian Maglie
b341a7c751
String class: removed deep copy on substring method.
...
Small code cleanup.
2013-06-06 16:33:20 +02:00
Federico Fissore
f3abbf60a8
Merge remote-tracking branch 'arduino/ide-1.5.x' into ide-1.5.x-discovery
2013-05-21 09:18:04 +02:00
Fede85
4486a922fc
UOTGVBOF is now active high
2013-05-20 19:21:23 +02:00
Federico Fissore
2d6af8264b
Merge remote-tracking branch 'arduino/ide-1.5.x' into ide-1.5.x-discovery
2013-05-13 16:58:10 +02:00
Cristian Maglie
a46259a0cf
Merged 1.0.5
...
Still missing:
- updates to WiFi lib for sam.
- updates to examples of Ehternet and WiFi for sam.
Merge remote-tracking branch 'arduino/master' into ide-1.5.x
Conflicts:
app/src/processing/app/Base.java
app/src/processing/app/Editor.java
app/src/processing/app/helpers/FileUtils.java
app/src/processing/app/i18n/Resources_fr.po
app/src/processing/app/i18n/Resources_fr.properties
build/shared/revisions.txt
hardware/arduino/avr/libraries/Ethernet/examples/DnsWebClient/DnsWebClient.ino
hardware/arduino/avr/libraries/WiFi/examples/WifiChatServer/WifiChatServer.ino
hardware/arduino/avr/libraries/WiFi/examples/WifiPachubeClient/WifiPachubeClient.ino
hardware/arduino/avr/libraries/WiFi/examples/WifiPachubeClientString/WifiPachubeClientString.ino
hardware/arduino/avr/libraries/WiFi/examples/WifiTwitterClient/WifiTwitterClient.ino
hardware/arduino/avr/libraries/WiFi/examples/WifiUdpSendReceiveString/WifiUdpSendReceiveString.ino
hardware/arduino/avr/libraries/WiFi/examples/WifiWebClient/WifiWebClient.ino
hardware/arduino/avr/libraries/WiFi/examples/WifiWebClientRepeating/WifiWebClientRepeating.ino
hardware/arduino/avr/libraries/WiFi/examples/WifiWebServer/WifiWebServer.ino
libraries/WiFi/examples/WiFiChatServer/WiFiChatServer.ino
libraries/WiFi/examples/WiFiPachubeClient/WiFiPachubeClient.ino
libraries/WiFi/examples/WiFiPachubeClientString/WiFiPachubeClientString.ino
libraries/WiFi/examples/WiFiTwitterClient/WiFiTwitterClient.ino
libraries/WiFi/examples/WiFiUdpSendReceiveString/WiFiUdpSendReceiveString.ino
libraries/WiFi/examples/WiFiWebClient/WiFiWebClient.ino
libraries/WiFi/examples/WiFiWebClientRepeating/WiFiWebClientRepeating.ino
libraries/WiFi/examples/WiFiWebServer/WiFiWebServer.ino
libraries/WiFi/examples/WifiChatServer/WifiChatServer.ino
libraries/WiFi/examples/WifiPachubeClient/WifiPachubeClient.ino
libraries/WiFi/examples/WifiPachubeClientString/WifiPachubeClientString.ino
libraries/WiFi/examples/WifiTwitterClient/WifiTwitterClient.ino
libraries/WiFi/examples/WifiUdpSendReceiveString/WifiUdpSendReceiveString.ino
libraries/WiFi/examples/WifiWebClient/WifiWebClient.ino
libraries/WiFi/examples/WifiWebClientRepeating/WifiWebClientRepeating.ino
libraries/WiFi/examples/WifiWebServer/WifiWebServer.ino
2013-05-11 14:37:25 +02:00
Federico Fissore
b7a177d89b
adding 0x to PID/VID values
2013-05-06 12:31:03 +02:00
Federico Fissore
01cf414175
new boards.txt with indexed vid and pid
2013-05-06 12:31:01 +02:00
Federico Fissore
776952762f
working on #223 : Auto-detection of serial ports. Linux version ready
2013-05-06 12:31:01 +02:00
stimmer
00bc1639c4
Changed micros() to work in interrupts
2013-05-03 13:38:48 +02:00
Cristian Maglie
443d0e1f26
Updated libaries and core handling.
...
https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification
https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
Merge branch 'lib-1.5-cores' into ide-1.5.x
2013-04-17 17:53:03 +02:00
Cristian Maglie
f1221c8ebf
Reverted to old board ids
2013-04-17 17:45:57 +02:00
Cristian Maglie
03a7529cc0
[sam] Added serialEvent*() support
2013-03-25 01:29:42 +01:00
Cristian Maglie
ee0c76f063
Removed unused file
2013-03-25 00:42:45 +01:00
Cristian Maglie
f772be9032
Added version field to platform.txt
2013-03-21 09:20:29 +01:00
Cristian Maglie
cad69358b4
Changed the way ARDUINO is defined inside platform.txt
2013-03-18 13:14:30 +01:00
Cristian Maglie
0f5a5259ec
Added avr/pgmspace.h compatibility layer for Due Boards
...
Fixes #1317
2013-03-15 12:39:04 +01:00
Cristian Maglie
bed305a556
Added auto-generation for 'build.board' value in boards.txt.
...
See #1305 .
2013-03-06 12:49:41 +01:00