Neopixel Cosmic Turtle

General project help for Adafruit customers

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
cw3158
 
Posts: 10
Joined: Tue Apr 21, 2015 6:29 pm

Neopixel Cosmic Turtle

Post by cw3158 »

I made a plastic resin statue of the turtle and loaded the code from the Neopixel Cosmic Turtle and used a Gemma and a neopixel Jewel.
Programed the board and tested prior to pouring the plastic. All worked just fine. The Sketch was like 2.5k.
I finally got the statue complied and powered it up and put it in a darker corner of the display case and noticed the timing was just a bit off. I opened the sketch on a new pc loaded the Adafruit version of Arduino 1.6.3 added in the fastled library and the neopixel library. Now the sketch says it will no longer fit on the Gemma. Thinking I did something wrong I found the code again from the projects and did the compile and now getting other errors. Can someone help me out with this? Or point me the direction I can update the code on the Gemma with this code?

Thank You.

Neopixel Cosmic Turtle
Sketches

Here is my original code.

Code: Select all

#include "FastLED.h"
 
#define LED_PIN     2
#define LED_TYPE    WS2812B
#define COLOR_ORDER GRB
#define NUM_LEDS    7
 
CRGB leds[NUM_LEDS];
CRGBPalette16 currentPalette;
TBlendType    currentBlending;
 
//  Twinkling 'holiday' lights that fade up and down in brightness.
//  Colors are chosen from a palette; a few palettes are provided.
//
//  The basic operation is that all pixels stay black until they
//  are 'seeded' with a relatively dim color.  The dim colors
//  are repeatedly brightened until they reach full brightness, then
//  are darkened repeatedly until they are fully black again.
//
//  A set of 'directionFlags' is used to track whether a given
//  pixel is presently brightening up or darkening down.
//
//  For illustration purposes, two implementations of directionFlags
//  are provided: a simple one-byte-per-pixel flag, and a more
//  complicated, more compact one-BIT-per-pixel flag.
//
//  Darkening colors accurately is relatively easy: scale down the 
//  existing color channel values.  Brightening colors is a bit more
//  error prone, as there's some loss of precision.  If your colors
//  aren't coming our 'right' at full brightness, try increasing the
//  STARTING_BRIGHTNESS value.
//
//  -Mark Kriegsman, December 2014
 
#define MASTER_BRIGHTNESS   255   // change this to change overall brightness
 
#define STARTING_BRIGHTNESS 255  // change this to change maximum brightness
#define FADE_IN_SPEED       10    // lower number fades in slower
#define FADE_OUT_SPEED      100   // higher number hangs around longer
#define DENSITY             255
 
void setup() {
  delay(2000);
  FastLED.addLeds<LED_TYPE,LED_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
  FastLED.setBrightness(MASTER_BRIGHTNESS);
    currentBlending = BLEND;
}
 
CRGBPalette16 gPalette;
 
void loop()
{
 //Un-comment the line with the colors you like best 
  gPalette = OceanColors_p;
  //gPalette = RainbowColors-p;   
  //gPalette = HeatColors-p;
  //gPalette = PartyColors-p;
  //gPalette = CloudColors-p;
  //gPalette = RainbowStripeColors-p;
  colortwinkles();
  FastLED.show();  
  FastLED.delay(1000);       // change this to change overall speed
}
 
enum { GETTING_DARKER = 0, GETTING_BRIGHTER = 1 };
 
void colortwinkles()
{
  // Make each pixel brighter or darker, depending on
  // its 'direction' flag.
  brightenOrDarkenEachPixel( FADE_IN_SPEED, FADE_OUT_SPEED);
  
  // Now consider adding a new random twinkle
  if( random8() < DENSITY ) {
    int pos = random16(NUM_LEDS);
    if( !leds[pos]) {
      leds[pos] = ColorFromPalette( gPalette, random8(), STARTING_BRIGHTNESS, NOBLEND);
      setPixelDirection(pos, GETTING_BRIGHTER);
    }
  }
}
 
void brightenOrDarkenEachPixel( fract8 fadeUpAmount, fract8 fadeDownAmount)
{
 for( uint16_t i = 0; i < NUM_LEDS; i++) {
    if( getPixelDirection(i) == GETTING_DARKER) {
      // This pixel is getting darker
      leds[i] = makeDarker( leds[i], fadeDownAmount);
    } else {
      // This pixel is getting brighter
      leds[i] = makeBrighter( leds[i], fadeUpAmount);
      // now check to see if we've maxxed out the brightness
      if( leds[i].r == 255 || leds[i].g == 255 || leds[i].b == 255) {
        // if so, turn around and start getting darker
        setPixelDirection(i, GETTING_DARKER);
      }
    }
  }
}
 
CRGB makeBrighter( const CRGB& color, fract8 howMuchBrighter) 
{
  CRGB incrementalColor = color;
  incrementalColor.nscale8( howMuchBrighter);
  return color + incrementalColor;
}
 
CRGB makeDarker( const CRGB& color, fract8 howMuchDarker) 
{
  CRGB newcolor = color;
  newcolor.nscale8( 255 - howMuchDarker);
  return newcolor;
}
 
 
// For illustration purposes, there are two separate implementations
// provided here for the array of 'directionFlags': 
// - a simple one, which uses one byte (8 bits) of RAM for each pixel, and
// - a compact one, which uses just one BIT of RAM for each pixel.
 
// Set this to 1 or 8 to select which implementation
// of directionFlags is used.  1=more compact, 8=simpler.
#define BITS_PER_DIRECTION_FLAG 1
 
 
#if BITS_PER_DIRECTION_FLAG == 8
// Simple implementation of the directionFlags array,
// which takes up one byte (eight bits) per pixel.
uint8_t directionFlags[NUM_LEDS];
 
bool getPixelDirection( uint16_t i) {
  return directionFlags[i];
}
 
void setPixelDirection( uint16_t i, bool dir) {
  directionFlags[i] = dir;
}
#endif

 
#if BITS_PER_DIRECTION_FLAG == 1
// Compact (but more complicated) implementation of
// the directionFlags array, using just one BIT of RAM
// per pixel.  This requires a bunch of bit wrangling,
// but conserves precious RAM.  The cost is a few
// cycles and about 100 bytes of flash program memory.
uint8_t  directionFlags[ (NUM_LEDS+7) / 8];
 
bool getPixelDirection( uint16_t i) {
  uint16_t index = i / 8;
  uint8_t  bitNum = i & 0x07;
  // using Arduino 'bitRead' function; expanded code below
  return bitRead( directionFlags[index], bitNum);
  // uint8_t  andMask = 1 << bitNum;
  // return (directionFlags[index] & andMask) != 0;
}
 
void setPixelDirection( uint16_t i, bool dir) {
  uint16_t index = i / 8;
  uint8_t  bitNum = i & 0x07;
  // using Arduino 'bitWrite' function; expanded code below
  bitWrite( directionFlags[index], bitNum, dir);
  //  uint8_t  orMask = 1 << bitNum;
  //  uint8_t andMask = 255 - orMask;
  //  uint8_t value = directionFlags[index] & andMask;
  //  if( dir ) {
  //    value += orMask;
  //  }
  //  directionFlags[index] = value;
}
#endif)

Here is the error I get now.
(Arduino: 1.6.3 (Windows 8.1), Board: "Adafruit Gemma 8MHz"
Build options changed, rebuilding all Sketch uses 5,450 bytes (102%) of program storage space. Maximum is 5,310 bytes. Global variables use 136 bytes of dynamic memory. processing.app.debug.RunnerException: Sketch too big; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing it. 	at processing.app.debug.Compiler.size(Compiler.java:336) 	at processing.app.debug.Compiler.build(Compiler.java:119) 	at processing.app.Sketch.build(Sketch.java:1170) 	at processing.app.Sketch.build(Sketch.java:1143) 	at processing.app.Editor$BuildHandler.run(Editor.java:2016) 	at java.lang.Thread.run(Thread.java:745) Sketch too big; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing it.
  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.)

Here is the sketch as from you’re the project post.
(#include "FastLED.h"
 
#define LED_PIN     9
#define LED_TYPE    WS2812B
#define COLOR_ORDER GRB
#define NUM_LEDS    7
 
CRGB leds[NUM_LEDS];
CRGBPalette16 currentPalette;
TBlendType    currentBlending;
 
//  Twinkling 'holiday' lights that fade up and down in brightness.
//  Colors are chosen from a palette; a few palettes are provided.
//
//  The basic operation is that all pixels stay black until they
//  are 'seeded' with a relatively dim color.  The dim colors
//  are repeatedly brightened until they reach full brightness, then
//  are darkened repeatedly until they are fully black again.
//
//  A set of 'directionFlags' is used to track whether a given
//  pixel is presently brightening up or darkening down.
//
//  For illustration purposes, two implementations of directionFlags
//  are provided: a simple one-byte-per-pixel flag, and a more
//  complicated, more compact one-BIT-per-pixel flag.
//
//  Darkening colors accurately is relatively easy: scale down the 
//  existing color channel values.  Brightening colors is a bit more
//  error prone, as there's some loss of precision.  If your colors
//  aren't coming our 'right' at full brightness, try increasing the
//  STARTING_BRIGHTNESS value.
//
//  -Mark Kriegsman, December 2014
 
#define MASTER_BRIGHTNESS   18   // change this to change overall brightness
 
#define STARTING_BRIGHTNESS 128  // change this to change maximum brightness
#define FADE_IN_SPEED       5    // lower number fades in slower
#define FADE_OUT_SPEED      10   // higher number hangs around longer
#define DENSITY             255
 
void setup() {
  delay(3000);
  FastLED.addLeds<LED_TYPE,LED_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
  FastLED.setBrightness(MASTER_BRIGHTNESS);
    currentBlending = BLEND;
}
 
CRGBPalette16 gPalette;
 
void loop()
{
 //Un-comment the line with the colors you like best 
  gPalette = OceanColors_p;
  //gPalette = RainbowColors_p;   
  //gPalette = HeatColors_p;
  //gPalette = PartyColors_p;
  //gPalette = CloudColors_p;
  //gPalette = RainbowStripeColors_p;
  colortwinkles();
  FastLED.show();  
  FastLED.delay(70);       // change this to change overall speed
}
 
enum { GETTING_DARKER = 0, GETTING_BRIGHTER = 1 };
 
void colortwinkles()
{
  // Make each pixel brighter or darker, depending on
  // its 'direction' flag.
  brightenOrDarkenEachPixel( FADE_IN_SPEED, FADE_OUT_SPEED);
  
  // Now consider adding a new random twinkle
  if( random8() < DENSITY ) {
    int pos = random16(NUM_LEDS);
    if( !leds[pos]) {
      leds[pos] = ColorFromPalette( gPalette, random8(), STARTING_BRIGHTNESS, NOBLEND);
      setPixelDirection(pos, GETTING_BRIGHTER);
    }
  }
}
 
void brightenOrDarkenEachPixel( fract8 fadeUpAmount, fract8 fadeDownAmount)
{
 for( uint16_t i = 0; i < NUM_LEDS; i++) {
    if( getPixelDirection(i) == GETTING_DARKER) {
      // This pixel is getting darker
      leds[i] = makeDarker( leds[i], fadeDownAmount);
    } else {
      // This pixel is getting brighter
      leds[i] = makeBrighter( leds[i], fadeUpAmount);
      // now check to see if we've maxxed out the brightness
      if( leds[i].r == 255 || leds[i].g == 255 || leds[i].b == 255) {
        // if so, turn around and start getting darker
        setPixelDirection(i, GETTING_DARKER);
      }
    }
  }
}
 
CRGB makeBrighter( const CRGB& color, fract8 howMuchBrighter) 
{
  CRGB incrementalColor = color;
  incrementalColor.nscale8( howMuchBrighter);
  return color + incrementalColor;
}
 
CRGB makeDarker( const CRGB& color, fract8 howMuchDarker) 
{
  CRGB newcolor = color;
  newcolor.nscale8( 255 - howMuchDarker);
  return newcolor;
}
 
 
// For illustration purposes, there are two separate implementations
// provided here for the array of 'directionFlags': 
// - a simple one, which uses one byte (8 bits) of RAM for each pixel, and
// - a compact one, which uses just one BIT of RAM for each pixel.
 
// Set this to 1 or 8 to select which implementation
// of directionFlags is used.  1=more compact, 8=simpler.
#define BITS_PER_DIRECTION_FLAG 1
 
 
#if BITS_PER_DIRECTION_FLAG == 8
// Simple implementation of the directionFlags array,
// which takes up one byte (eight bits) per pixel.
uint8_t directionFlags[NUM_LEDS];
 
bool getPixelDirection( uint16_t i) {
  return directionFlags[i];
}
 
void setPixelDirection( uint16_t i, bool dir) {
  directionFlags[i] = dir;
}
#endif
 
 
#if BITS_PER_DIRECTION_FLAG == 1
// Compact (but more complicated) implementation of
// the directionFlags array, using just one BIT of RAM
// per pixel.  This requires a bunch of bit wrangling,
// but conserves precious RAM.  The cost is a few
// cycles and about 100 bytes of flash program memory.
uint8_t  directionFlags[ (NUM_LEDS+7) / 8];
 
bool getPixelDirection( uint16_t i) {
  uint16_t index = i / 8;
  uint8_t  bitNum = i & 0x07;
  // using Arduino 'bitRead' function; expanded code below
  return bitRead( directionFlags[index], bitNum);
  // uint8_t  andMask = 1 << bitNum;
  // return (directionFlags[index] & andMask) != 0;
}

void setPixelDirection( uint16_t i, bool dir) {
  uint16_t index = i / 8;
  uint8_t  bitNum = i & 0x07;
  // using Arduino 'bitWrite' function; expanded code below
  bitWrite( directionFlags[index], bitNum, dir);
  //  uint8_t  orMask = 1 << bitNum;
  //  uint8_t andMask = 255 - orMask;
  //  uint8_t value = directionFlags[index] & andMask;
  //  if( dir ) {
  //    value += orMask;
  //  }
  //  directionFlags[index] = value;
}
#endif
And the error from the sketch.

Code: Select all

Arduino: 1.6.3 (Windows 8.1), Board: "Adafruit Gemma 8MHz"
C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:185:36: note: in expansion of macro 'ROR1'  #define SCROR04(B, N) SCALE02(B,N) ROR1(B) CLC1                                    ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:308:27: note: in expansion of macro 'SCROR04'      HI1 D1(1) QLO2(b2, 4) SCROR04(b0,2)  D2(4) LO1 SCALE02(b0,3) D3(2)                            ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:177:47: error: impossible constraint in 'asm'  #define CLC1 asm __volatile__("clc" ASM_VARS );                                                ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:185:44: note: in expansion of macro 'CLC1'  #define SCROR04(B, N) SCALE02(B,N) ROR1(B) CLC1                                             ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:308:27: note: in expansion of macro 'SCROR04'      HI1 D1(1) QLO2(b2, 4) SCROR04(b0,2)  D2(4) LO1 SCALE02(b0,3) D3(2)                            ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:150:110: error: impossible constraint in 'asm'  #define LO1 if((int)(FastPin<DATA_PIN>::port())-0x20 < 64) { asm __volatile__("out %[PORT], %[lo]" ASM_VARS ); } else { *FastPin<DATA_PIN>::port()=lo; }                                                                                                               ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:308:48: note: in expansion of macro 'LO1'      HI1 D1(1) QLO2(b2, 4) SCROR04(b0,2)  D2(4) LO1 SCALE02(b0,3) D3(2)                                                 ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:158:103: error: impossible constraint in 'asm'  #define SCALE02(B, N) asm __volatile__("sbrc %[s0], " #N "\n\tadd %[" #B "], %[scale_base]" ASM_VARS );                                                                                                        ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:308:52: note: in expansion of macro 'SCALE02'      HI1 D1(1) QLO2(b2, 4) SCROR04(b0,2)  D2(4) LO1 SCALE02(b0,3) D3(2)                                                     ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:148:110: error: impossible constraint in 'asm'  #define HI1 if((int)(FastPin<DATA_PIN>::port())-0x20 < 64) { asm __volatile__("out %[PORT], %[hi]" ASM_VARS ); } else { *FastPin<DATA_PIN>::port()=hi; }                                                                                                               ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:309:5: note: in expansion of macro 'HI1'      HI1 D1(1) QLO2(b2, 3) RORSC04(b0,4)  D2(4) LO1 ROR1(b0) CLC1 D3(2)      ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:152:69: error: impossible constraint in 'asm'  #define QLO2(B, N) asm __volatile__("sbrs %[" #B "], " #N ASM_VARS ); LO1;                                                                     ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:309:15: note: in expansion of macro 'QLO2'      HI1 D1(1) QLO2(b2, 3) RORSC04(b0,4)  D2(4) LO1 ROR1(b0) CLC1 D3(2)                ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:150:110: error: impossible constraint in 'asm'  #define LO1 if((int)(FastPin<DATA_PIN>::port())-0x20 < 64) { asm __volatile__("out %[PORT], %[lo]" ASM_VARS ); } else { *FastPin<DATA_PIN>::port()=lo; }                                                                                                              ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:152:71: note: in expansion of macro 'LO1'  #define QLO2(B, N) asm __volatile__("sbrs %[" #B "], " #N ASM_VARS ); LO1;                                                                        ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:309:15: note: in expansion of macro 'QLO2'      HI1 D1(1) QLO2(b2, 3) RORSC04(b0,4)  D2(4) LO1 ROR1(b0) CLC1 D3(2)                ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:175:60: error: impossible constraint in 'asm'   #define ROR1(B) asm __volatile__("ror %[" #B "]" ASM_VARS );                                                             ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:181:23: note: in expansion of macro 'ROR1'  #define RORSC04(B, N) ROR1(B) CLC1 SCALE02(B, N)                        ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:309:27: note: in expansion of macro 'RORSC04'      HI1 D1(1) QLO2(b2, 3) RORSC04(b0,4)  D2(4) LO1 ROR1(b0) CLC1 D3(2)                            ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:177:47: error: impossible constraint in 'asm'  #define CLC1 asm __volatile__("clc" ASM_VARS );                                                ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:181:31: note: in expansion of macro 'CLC1'  #define RORSC04(B, N) ROR1(B) CLC1 SCALE02(B, N)                                ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:309:27: note: in expansion of macro 'RORSC04'      HI1 D1(1) QLO2(b2, 3) RORSC04(b0,4)  D2(4) LO1 ROR1(b0) CLC1 D3(2)                            ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:158:103: error: impossible constraint in 'asm'  #define SCALE02(B, N) asm __volatile__("sbrc %[s0], " #N "\n\tadd %[" #B "], %[scale_base]" ASM_VARS );                                                                                                        ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:181:36: note: in expansion of macro 'SCALE02'  #define RORSC04(B, N) ROR1(B) CLC1 SCALE02(B, N)                                     ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:309:27: note: in expansion of macro 'RORSC04'      HI1 D1(1) QLO2(b2, 3) RORSC04(b0,4)  D2(4) LO1 ROR1(b0) CLC1 D3(2)                            ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:150:110: error: impossible constraint in 'asm'  #define LO1 if((int)(FastPin<DATA_PIN>::port())-0x20 < 64) { asm __volatile__("out %[PORT], %[lo]" ASM_VARS ); } else { *FastPin<DATA_PIN>::port()=lo; }                                                                                                              ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:309:48: note: in expansion of macro 'LO1'      HI1 D1(1) QLO2(b2, 3) RORSC04(b0,4)  D2(4) LO1 ROR1(b0) CLC1 D3(2)                                                ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:175:60: error: impossible constraint in 'asm'  #define ROR1(B) asm __volatile__("ror %[" #B "]" ASM_VARS );                                                             ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:309:52: note: in expansion of macro 'ROR1'      HI1 D1(1) QLO2(b2, 3) RORSC04(b0,4)  D2(4) LO1 ROR1(b0) CLC1 D3(2)                                                     ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:177:47: error: impossible constraint in 'asm'  #define CLC1 asm __volatile__("clc" ASM_VARS );                                                ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:309:61: note: in expansion of macro 'CLC1'      HI1 D1(1) QLO2(b2, 3) RORSC04(b0,4)  D2(4) LO1 ROR1(b0) CLC1 D3(2)                                                              ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:148:110: error: impossible constraint in 'asm'  #define HI1 if((int)(FastPin<DATA_PIN>::port())-0x20 < 64) { asm __volatile__("out %[PORT], %[hi]" ASM_VARS ); } else { *FastPin<DATA_PIN>::port()=hi; }                                                                                                               ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:310:5: note: in expansion of macro 'HI1'      HI1 D1(1) QLO2(b2, 2) SCROR04(b0,5)  D2(4) LO1 SCALE02(b0,6) D3(2)      ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:152:69: error: impossible constraint in 'asm'  #define QLO2(B, N) asm __volatile__("sbrs %[" #B "], " #N ASM_VARS ); LO1;                                                                      ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:310:15: note: in expansion of macro 'QLO2'      HI1 D1(1) QLO2(b2, 2) SCROR04(b0,5)  D2(4) LO1 SCALE02(b0,6) D3(2)                ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:150:110: error: impossible constraint in 'asm'  #define LO1 if((int)(FastPin<DATA_PIN>::port())-0x20 < 64) { asm __volatile__("out %[PORT], %[lo]" ASM_VARS ); } else { *FastPin<DATA_PIN>::port()=lo; }                                                                                                               ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:152:71: note: in expansion of macro 'LO1'  #define QLO2(B, N) asm __volatile__("sbrs %[" #B "], " #N ASM_VARS ); LO1;                                                                        ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:310:15: note: in expansion of macro 'QLO2'      HI1 D1(1) QLO2(b2, 2) SCROR04(b0,5)  D2(4) LO1 SCALE02(b0,6) D3(2)                ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:158:103: error: impossible constraint in 'asm'  #define SCALE02(B, N) asm __volatile__("sbrc %[s0], " #N "\n\tadd %[" #B "], %[scale_base]" ASM_VARS );                                                                                                        ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:185:23: note: in expansion of macro 'SCALE02'  #define SCROR04(B, N) SCALE02(B,N) ROR1(B) CLC1                        ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:310:27: note: in expansion of macro 'SCROR04'      HI1 D1(1) QLO2(b2, 2) SCROR04(b0,5)  D2(4) LO1 SCALE02(b0,6) D3(2)                            ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:175:60: error: impossible constraint in 'asm'  #define ROR1(B) asm __volatile__("ror %[" #B "]" ASM_VARS );                                                             ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:185:36: note: in expansion of macro 'ROR1'  #define SCROR04(B, N) SCALE02(B,N) ROR1(B) CLC1                                     ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:310:27: note: in expansion of macro 'SCROR04'      HI1 D1(1) QLO2(b2, 2) SCROR04(b0,5)  D2(4) LO1 SCALE02(b0,6) D3(2)                            ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:177:47: error: impossible constraint in 'asm'  #define CLC1 asm __volatile__("clc" ASM_VARS );                                                ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:185:44: note: in expansion of macro 'CLC1'  #define SCROR04(B, N) SCALE02(B,N) ROR1(B) CLC1                                             ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:310:27: note: in expansion of macro 'SCROR04'      HI1 D1(1) QLO2(b2, 2) SCROR04(b0,5)  D2(4) LO1 SCALE02(b0,6) D3(2)                            ^ 
C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:150:110: error: impossible constraint in 'asm'  #define LO1 if((int)(FastPin<DATA_PIN>::port())-0x20 < 64) { asm __volatile__("out %[PORT], %[lo]" ASM_VARS ); } else { *FastPin<DATA_PIN>::port()=lo; }                                                                                                             ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:310:48: note: in expansion of macro 'LO1'      HI1 D1(1) QLO2(b2, 2) SCROR04(b0,5)  D2(4) LO1 SCALE02(b0,6) D3(2)                                                 ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:158:103: error: impossible constraint in 'asm'  #define SCALE02(B, N) asm __volatile__("sbrc %[s0], " #N "\n\tadd %[" #B "], %[scale_base]" ASM_VARS );                                                                                                        ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:310:52: note: in expansion of macro 'SCALE02'      HI1 D1(1) QLO2(b2, 2) SCROR04(b0,5)  D2(4) LO1 SCALE02(b0,6) D3(2)                                                     ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:148:110: error: impossible constraint in 'asm'  #define HI1 if((int)(FastPin<DATA_PIN>::port())-0x20 < 64) { asm __volatile__("out %[PORT], %[hi]" ASM_VARS ); } else { *FastPin<DATA_PIN>::port()=hi; }                                                                                                               ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:311:5: note: in expansion of macro 'HI1'      HI1 D1(1) QLO2(b2, 1) RORSC04(b0,7)  D2(4) LO1 ROR1(b0) CLC1 D3(2)      ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:152:69: error: impossible constraint in 'asm'  #define QLO2(B, N) asm __volatile__("sbrs %[" #B "], " #N ASM_VARS ); LO1;                                                                      ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:311:15: note: in expansion of macro 'QLO2'      HI1 D1(1) QLO2(b2, 1) RORSC04(b0,7)  D2(4) LO1 ROR1(b0) CLC1 D3(2)                ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:150:110: error: impossible constraint in 'asm'  #define LO1 if((int)(FastPin<DATA_PIN>::port())-0x20 < 64) { asm __volatile__("out %[PORT], %[lo]" ASM_VARS ); } else { *FastPin<DATA_PIN>::port()=lo; }                                                                                                               ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:152:71: note: in expansion of macro 'LO1'  #define QLO2(B, N) asm __volatile__("sbrs %[" #B "], " #N ASM_VARS ); LO1;                                                                        ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:311:15: note: in expansion of macro 'QLO2'      HI1 D1(1) QLO2(b2, 1) RORSC04(b0,7)  D2(4) LO1 ROR1(b0) CLC1 D3(2)                ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:175:60: error: impossible constraint in 'asm'  #define ROR1(B) asm __volatile__("ror %[" #B "]" ASM_VARS );                                                            ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:181:23: note: in expansion of macro 'ROR1'  #define RORSC04(B, N) ROR1(B) CLC1 SCALE02(B, N)                        ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:311:27: note: in expansion of macro 'RORSC04'      HI1 D1(1) QLO2(b2, 1) RORSC04(b0,7)  D2(4) LO1 ROR1(b0) CLC1 D3(2)                            ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:177:47: error: impossible constraint in 'asm'  #define CLC1 asm __volatile__("clc" ASM_VARS );                                                ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:181:31: note: in expansion of macro 'CLC1'  #define RORSC04(B, N) ROR1(B) CLC1 SCALE02(B, N)                                ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:311:27: note: in expansion of macro 'RORSC04'      HI1 D1(1) QLO2(b2, 1) RORSC04(b0,7)  D2(4) LO1 ROR1(b0) CLC1 D3(2)                            ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:158:103: error: impossible constraint in 'asm'  #define SCALE02(B, N) asm __volatile__("sbrc %[s0], " #N "\n\tadd %[" #B "], %[scale_base]" ASM_VARS );                                                                                                        ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:181:36: note: in expansion of macro 'SCALE02'  #define RORSC04(B, N) ROR1(B) CLC1 SCALE02(B, N)                                    ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:311:27: note: in expansion of macro 'RORSC04'      HI1 D1(1) QLO2(b2, 1) RORSC04(b0,7)  D2(4) LO1 ROR1(b0) CLC1 D3(2)                            ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:150:110: error: impossible constraint in 'asm'  #define LO1 if((int)(FastPin<DATA_PIN>::port())-0x20 < 64) { asm __volatile__("out %[PORT], %[lo]" ASM_VARS ); } else { *FastPin<DATA_PIN>::port()=lo; }                                                                                                               ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:311:48: note: in expansion of macro 'LO1'      HI1 D1(1) QLO2(b2, 1) RORSC04(b0,7)  D2(4) LO1 ROR1(b0) CLC1 D3(2)                                                 ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:175:60: error: impossible constraint in 'asm'  #define ROR1(B) asm __volatile__("ror %[" #B "]" ASM_VARS );                                                             ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:311:52: note: in expansion of macro 'ROR1'      HI1 D1(1) QLO2(b2, 1) RORSC04(b0,7)  D2(4) LO1 ROR1(b0) CLC1 D3(2)                                                     ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:177:47: error: impossible constraint in 'asm'  #define CLC1 asm __volatile__("clc" ASM_VARS );                                                ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:311:61: note: in expansion of macro 'CLC1'      HI1 D1(1) QLO2(b2, 1) RORSC04(b0,7)  D2(4) LO1 ROR1(b0) CLC1 D3(2)                                                              ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:148:110: error: impossible constraint in 'asm'  #define HI1 if((int)(FastPin<DATA_PIN>::port())-0x20 < 64) { asm __volatile__("out %[PORT], %[hi]" ASM_VARS ); } else { *FastPin<DATA_PIN>::port()=hi; }                                                                                                               ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:313:5: note: in expansion of macro 'HI1'      HI1 D1(1) QLO2(b2, 0)      D2(0)  LO1     D3(0)      ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:152:69: error: impossible constraint in 'asm'  #define QLO2(B, N) asm __volatile__("sbrs %[" #B "], " #N ASM_VARS ); LO1;                                                                      ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:313:15: note: in expansion of macro 'QLO2'      HI1 D1(1) QLO2(b2, 0)      D2(0)  LO1     D3(0)                ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:150:110: error: impossible constraint in 'asm'  #define LO1 if((int)(FastPin<DATA_PIN>::port())-0x20 < 64) { asm __volatile__("out %[PORT], %[lo]" ASM_VARS ); } else { *FastPin<DATA_PIN>::port()=lo; }                                                                                                               ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:152:71: note: in expansion of macro 'LO1'  #define QLO2(B, N) asm __volatile__("sbrs %[" #B "], " #N ASM_VARS ); LO1;                                                                       ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:313:15: note: in expansion of macro 'QLO2'      HI1 D1(1) QLO2(b2, 0)      D2(0)  LO1     D3(0)                ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:150:110: error: impossible constraint in 'asm'  #define LO1 if((int)(FastPin<DATA_PIN>::port())-0x20 < 64) { asm __volatile__("out %[PORT], %[lo]" ASM_VARS ); } else { *FastPin<DATA_PIN>::port()=lo; }                                                                                                               ^ C:\Program Files (x86)\arduino\libraries\FastLED/clockless_trinket.h:313:39: note: in expansion of macro 'LO1'      HI1 D1(1) QLO2(b2, 0)      D2(0)  LO1     D3(0)                                       ^ Error compiling.
  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.
Last edited by adafruit_support_rick on Wed Apr 22, 2015 10:17 am, edited 1 time in total.
Reason: please use Code tags when posting code (</> button)

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: Neopixel Cosmic Turtle

Post by adafruit_support_rick »

And this worked before with a Gemma and the FastLED library? Because it looks to me like FastLED is not compatible with Gemma. I'm baffled. I'll have to ask somebody else.

User avatar
adafruit2
 
Posts: 22148
Joined: Fri Mar 11, 2005 7:36 pm

Re: Neopixel Cosmic Turtle

Post by adafruit2 »

are you using IDE 1.0x or 1.6.x? whichever one you have, try the other? :)

User avatar
cw3158
 
Posts: 10
Joined: Tue Apr 21, 2015 6:29 pm

Re: Neopixel Cosmic Turtle

Post by cw3158 »

Yes it did and still does work with Gemma I have not wiped the code from that board yet. it Displays the color changes but is a bit to fast I wanted to slow it down some.

User avatar
cw3158
 
Posts: 10
Joined: Tue Apr 21, 2015 6:29 pm

Re: Neopixel Cosmic Turtle

Post by cw3158 »

I am using IDE 1.6.3 now on my Windows 8.1 laptop. Had 1.0.6 on my old win 7 laptop which I used to program the Gemma when I started this. But that laptop is gone now.

User avatar
tseary
 
Posts: 27
Joined: Sun May 25, 2014 3:53 pm

Re: Neopixel Cosmic Turtle

Post by tseary »

I recently had some trouble programming a Trinket with Arduino 1.6.?, but I eventually got it to work with 1.0.5.

You can get previous releases of Arduino here: http://www.arduino.cc/en/Main/OldSoftwareReleases#1.0.x
And previous Adafruit-flavoured ones here: https://learn.adafruit.com/adafruit-ard ... ot-0-x-ide

Locked
Please be positive and constructive with your questions and comments.

Return to “General Project help”