aboutsummaryrefslogtreecommitdiff
path: root/cores
AgeCommit message (Collapse)Author
2015-05-29pulseInASM: rework comment styleMartino Facchin
2015-05-29pulseIn: add alternative implementation based on micros()Martino Facchin
pulseInLong is suitable for long pulses in interrupt context
2015-05-29pulseIn: modify function to use ASM implementationMartino Facchin
2015-05-29pulseIn: add ASM implementationMartino Facchin
this assembly code was generated by avr-gcc 4.8.3
2015-05-29Revert "Temporary fix for pulseIn() regression."Martino Facchin
This reverts commit 8ddc5198f6ef8b2816a61b7b0fcce99f927d11a0. To be substituted by ASM generated code
2015-05-28Merge pull request #3202 from Chris--A/randomSeedMartino Facchin
Modified randomSeed, now uses unsigned long.
2015-05-28Merge pull request #3211 from Chris--A/println-optimizeMartino Facchin
Println optimize
2015-05-28Merge pull request #3244 from Lauszus/INT2Cristian Maglie
Check if INT2 is actually defined before issuing warning in detachInterrupt
2015-05-28Merge pull request #3207 from chromhelm/masterMartino Facchin
Fixed bug with HWSerial flushing
2015-05-28Check if INT2 is actually defined before issuing warning in detachInterruptKristian Sloth Lauszus
This was caused after: https://github.com/arduino/Arduino/pull/3221
2015-05-24Add missing case to detachinterruptVictor Aprea
2015-05-22Indent fix.Cristian Maglie
2015-05-22zero delay fix, ADC prescaler fixCano
2015-05-22delayMicroseconds(): added support for 1Mhz, 12Mhz and 24MhzCano
1Mhz is a default clock speed on Atmega328, many users run it on the internal 1Mhz clock to save battery power. Up until now delayMicroseconds() function wasn't taking this frequencies into an account.
2015-05-22Optimize printLn calls.Chris--A
2015-05-21Fixed bug with flushingchromhelm
2015-05-21Modified randomSeed, now uses unsigned long.Chris--A
2015-05-12RX and TX Serial buffer sizes can now be defined independentlyNico
Fixes #2597
2015-04-21Fixed indentation in Stream.cpp, no code changeCristian Maglie
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