aboutsummaryrefslogtreecommitdiff
path: root/cores
AgeCommit message (Collapse)Author
2015-04-21Fixed wrong bracket placement (see #3011)Cristian Maglie
2015-04-21Fixed: warning: comparison between signed and unsigned integer expressionsKristian Sloth Lauszus
2015-04-21Fixed: warning: suggest explicit braces to avoid ambiguous 'else'Kristian Sloth Lauszus
2015-04-14Merge branch 'jipp-master'Martino Facchin
2015-04-13Fix for issue #292Jan
Replaced direct register manipulation with calls to bitWrite(). Fixed TIMSK5 usage on Leonardo (as well as some other preprocessor statements).
2015-04-13Update Tone.cppjipp
Tone.cpp stops compile when TCCR0A/TCCR0B defined and WGM01 not defined #2923
2015-04-11Update Tone.cppJan
Rebased the bugfix from the original Google Code issue #292 to work with Arduino 1.6.x Description of original fix provided by Pete62: The later 8 bit AVR's use two registers (TCCRxA, TCCRxB) whereas the ATmega8 only uses a single register (TCCR2) to house the control bits for Timer 2. Bits were inadvertently being cleared.
2015-03-24Stream: set findMulti function as protectedMartino Facchin
let's not expose it until the API is not accepted widely by the dev mailing list
2015-03-24Fix findUntil in Stream libraryJim Leonard (Xuth)
PR #2696 without timeout-related changes
2015-01-18Temporary fix for pulseIn() regression.Cristian Maglie
Fixes #2538
2015-01-07Arduino custom type boolean is now mapped to bool typeCristian Maglie
Fixes #2151 Fixes #2147
2014-10-21Merge branch 'master' into ide-1.5.xCristian Maglie
Conflicts: hardware/arduino/cores/arduino/HardwareSerial.cpp hardware/arduino/cores/robot/Arduino.h
2014-10-21Revert "Match return value to type in available()"Cristian Maglie
This reverts commit f40e4713542fa862d5b99b256a642e001a796988. Added an hint for the buffer sizes. See #2057 Fixes #2367
2014-10-21Fixed missing NOT_AN_INTERRUPT constant in digitalPinToInterrupt()Cristian Maglie
Fixes #2379
2014-09-26Add #include "Print.h" in Server.hGeorge Chailazopoulos
2014-09-12Fixed trivial include error introduced in previous commit 2e3e539b... oops...Cristian Maglie
2014-09-12Added license to USBAPI.hCristian Maglie
Close #1847
2014-09-12Merge pull request #1937 from matthijskooijman/stringindexCristian Maglie
String index fixes and cleanups
2014-09-10Fix off-by-one in String::substringMatthijs Kooijman
When checking the `left` argument, it previously allowed having left == len. However, this means the substring starts one past the last character in the string and should return the empty string. In practice, this already worked correctly, because buffer[len] contains the trailing nul, so it would (re)assign the empty string to `out`. However, fixing this check makes it a bit more logical, and prevents a fairly unlikely out-of-buffer write (to address 0x0) when calling substring on an invalidated String: String bar = (char*)NULL; bar.substring(0, 0);
2014-09-10Merge pull request #2279 from cmaglie/fix-leo-upload-osx10.9.4Cristian Maglie
Fix for upload problems on Arduino Leonardo (and derivatives) on OSX 10.9
2014-09-10Simplify String::remove(unsigned int)Matthijs Kooijman
Previously, this method calculated the length of the string from the given index onwards. However, the other remove() method called already contains code for this calculation, which is used when the count passed in is too big. This means we can just pass in a very big count that is guaranteed to point past the end of the string, shrinking the remove method by a few bytes.
2014-09-10Fix bounds check in String::remove()Matthijs Kooijman
Previously, if you passed in a very big index and/or count, the `index + count` could overflow, making the count be used as-is instead of being truncated (causing the string to be updated wrongly and potentially writing to arbitrary memory locations). We can rewrite the comparison to use `len - index` instead. Since we know that index < len, we are sure this subtraction does not overflow, regardless of what values of index and count we pass in. As an added bonus, the `len - index` value already needed be calculated inside the if, so this saves a few instructions in the generated code. To illustrate this problem, consider this code: String foo = "foo"; Serial.println(foo.length()); // Prints 3 foo.remove(1, 65535); // Should remove all but first character Serial.println(foo.length()); // Prints 4 without this patch Not shown in this is example is that some arbitrary memory is written as well.
2014-09-10Remove unneeded check in String::remove(unsigned int)Matthijs Kooijman
This check already happens in the remove(unsigned int, unsigned int) method that is caled, so there is no need to also check this here.
2014-09-06Fixed license for new.cpp and small cosmetic changesCristian Maglie
2014-09-06Correct implementation of gcc specific internal functionsCristian Maglie
The following empty stubs has been replaced by the gcc flag -fno-threadsafe-static: int __cxa_guard_acquire(__guard *); void __cxa_guard_release (__guard *); void __cxa_guard_abort (__guard *); The following empty stubs has been moved into their specific module abi.cpp: void __cxa_pure_virtual(void) __attribute ((noreturn)); void __cxa_deleted_virtual(void) __attribute ((noreturn)); Fix #107
2014-09-06Printable.h doesn't need new.h but only stdlib.h for size_t.Cristian Maglie
Probalby new.h may be removed completely.
2014-09-01Fix for upload problems on Arduino Leonardo (and derivatives) with OSX 10.9.4Cristian Maglie
2014-08-08Merge branch 'master' into ide-1.5.xCristian Maglie
2014-08-08Added replacement stub for cstdlib atexit() funciton.Christopher Andrews
This is an empty stub to simply allow use of complex types with a non global static lifetime. For more complex handling the function 'atexit' can be redefined in user code. For more information see: https://github.com/arduino/Arduino/pull/2229 https://github.com/arduino/Arduino/issues/1919
2014-07-24Merge remote-tracking branch 'arduino/master' into ide-1.5.xCristian Maglie
2014-07-24Merge pull request #2206 from amulya349/masterCristian Maglie
Fix of a bug #2199
2014-07-23Fix of a bugAmulya Kumar Sahoo
2014-07-19Merge pull request #2190 from ribbons/compiler-warningsCristian Maglie
Fix two compiler warnings generated by updated toolchain
2014-07-18Add availableForWrite() to HardwareSerialPaulStoffregen
2014-07-17Cast empty string to char* to fix compiler warningMatt Robinson
Stream::find(char *target) passes an empty terminator string to Stream::findUntil(char *target, char *terminator) which caused a compiler warning with the updated toolchain, so cast it to a char*.
2014-07-01Merge branch 'ide-1.5.x-timer-variant' of ↵Cristian Maglie
github.com:matthijskooijman/Arduino into matthijskooijman-ide-1.5.x-timer-variant
2014-06-27initVariant() is now declared as external "C" function.Cristian Maglie
See #2080 for more details.
2014-06-27Merge branch 'ide-1.5.7' into ide-1.5.xCristian Maglie
2014-06-25Support Atmega8 (and similar that define PE instead of UPE) againMatthijs Kooijman
These chips were previously supported, but since parity error checking was added, this support has broken. Most chips define UPE0 (etc.) for the parity error bit. Some chips don't have numbered UARTS so only define UPE and even fewer define PE instead of UPE. This adds support for those chips again. Closes: #2137
2014-06-25Allow variants to define an initVariant() function that is called at startup.Matthijs Kooijman
See #2080 and #2139.
2014-06-25Removed patch for old malloc bug (no more useful with updated toolchain)Cristian Maglie
2014-06-19Allow variants to define an initVariant() function that is called at startup.Cristian Maglie
See #2080
2014-06-19Merge branch 'master' into ide-1.5.xCristian Maglie
2014-06-19Fixed regression in USBAPI and CDC (xaljox)Cristian Maglie
See: https://github.com/arduino/Arduino/commit/9ac7e30252fce5b9dafde3288519b020b73c37bd#commitcomment-6718676
2014-06-13Merge branch 'master' into HEADCristian Maglie
2014-06-10Update USBAPI.hEmbedded Micro
Fixes bug where Serial.read() would always return 0 as the first byte.
2014-06-02Merge pull request #2104 from amulya349/masterCristian Maglie
Fix of a bug in Stream.cpp
2014-05-30Merge branch 'master' into HEADCristian Maglie
2014-05-30USB CDC available() method returns correct number of bytes in buffer.Cristian Maglie
See #1953
2014-05-30Fix of a bugAmulya Kumar Sahoo
Stream::find(char *target) passes NULL as “terminator” to Stream::findUntil(char *target, char *terminator), which immediately dereferences it by passing it on to strlen() : bool Stream::find(char *target) { return findUntil(target, NULL); } // as find but search ends if the terminator string is found bool Stream::findUntil(char *target, char *terminator) { return findUntil(target, strlen(target), terminator, strlen(terminator)); }