diff options
author | Daniel Garcia <danielgarcia@gmail.com> | 2014-11-08 04:15:19 +0300 |
---|---|---|
committer | Daniel Garcia <danielgarcia@gmail.com> | 2014-11-08 04:15:19 +0300 |
commit | c996c8a56502651bbf509cf8f787e1a8843d0e12 (patch) | |
tree | a860236884354ac24180329d4d3f713eaa65d4cd | |
parent | 3a22155aabf76463e6692363fc534c88485ded65 (diff) |
Block compiling with gcc 4.8 and higher on AVR for the time being, until we can fix the asm issues with that version of the compiler.
-rw-r--r-- | FastLED.h | 2 | ||||
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | led_sysdefs.h | 4 |
3 files changed, 7 insertions, 1 deletions
@@ -10,7 +10,9 @@ #define FASTLED_VERSION 3000001 #warning FastLED version 3.000.001 (Not really a warning, just telling you here.) +#ifndef __PROG_TYPES_COMPAT__ #define __PROG_TYPES_COMPAT__ +#endif #ifdef SmartMatrix_h #include<SmartMatrix.h> @@ -1,4 +1,4 @@ -IMPORTANT NOTE: If you are building for AVR based systems, please do not use any version of the arduino IDE 1.5.7 or greater yet. It messes with some of the asm output which will cause you problems. +IMPORTANT NOTE: If you are building for AVR based systems, please do not use any version of the arduino IDE 1.5.7 or greater yet. It messes with some of the asm output which will cause you problems. The real issue is the compiler version, GCC 4.8.x introduces incompatabilities with the assembly code FastLED uses on the avr platfrom. Note that some versions of Arduino 1.0.5, notably some linux versions, use gcc 4.8.x. FastLED 3.0 diff --git a/led_sysdefs.h b/led_sysdefs.h index c49410d0..57dc605d 100644 --- a/led_sysdefs.h +++ b/led_sysdefs.h @@ -38,6 +38,10 @@ typedef volatile uint8_t RwReg; /**< Read-Write 8-bit register (volatile u #error Arduion versions 1.5.7 and later not yet supported by FastLED for AVR #endif +#if defined(ARDUINO) && defined (FASTLED_AVR) && (__GNUC__ == 4) && (__GNUC_MINOR__ > 7) +#error gcc versions 4.8 and above are not yet supported by FastLED for AVR +#endif + // Arduino.h needed for convinience functions digitalPinToPort/BitMask/portOutputRegister and the pinMode methods. #include<Arduino.h> |