Is there a line length limitation for the Adafruit_NeoPixal ?
Built this color organ with 300 lights and only half will light with daisy chaining the strips data line.
If I split the 300 leds into two lines and connect the data lines to the output of your color organ most of them will light except the last 10.
I used ws2812B and power supply is 5 volts at 60amp also run the power lines to two points on each strip which are seven and put a 1000mfd cap on each strip.
Bought a controller and all LEDs light and am able to change which color I want. Power draw with white LEDs is about 10 amps and color is around 4-5.
Color organ seems to work with 150 LEDs but any more one or two strips will not light.
Check the output of color organ (scope) and is some ringing before 100 resistor, after much less. Output is around 5 volts. Have tried powering the color organ with a separate power supply and using the power supply which I am using for the LEDs thinking I may have a ground loop problem, no different.
Below is location of article and plans for color organ
http://www.craigandheather.net/docs/Tee ... rticle.pdf
Line Length Limitations
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- adafruit_support_bill
- Posts: 88091
- Joined: Sat Feb 07, 2009 10:11 am
Re: Line Length Limitations
Please post the code that you are using.
- janbo
- Posts: 7
- Joined: Wed May 03, 2017 10:56 am
Re: Line Length Limitations
Copy of code
Code: Select all
/*
Teensy Color Organ FFT
File: TeensyColorOrgan-FFT.ino - Purpose: Main program for 8 band digital color organ
based on 1024 point FFT
The hardware and software detailed within implements a digital color organ
Features include:
Input from a built-in microphone or line level inputs
Automatic volume control
Programmable density of LEDs / band
The ability to store/load current color organ configuration to/from files on the SD memory card
Special color dynamics mode where LED assigned to a band can change position periodicly
Hardware
The following hardware items are used in this project
1. Teensy 3.1/3.2 Micro Controller - pjrc.com
2. Teensy Audio Adapter Board - pjrc.com
3. Color 320x240 Touchscreen, 2.8 inch, ILI9341 Controller - pjrc.com
4. 1 MB (or larger) micro SD card
5. 74AHCT125 quad level shifter
6. (2) 100 ohm resistors
7. Minature SPST pushbutton switch
8. 5 volts DC power supply capable of at least 3 AMPs of continuous current
9. 5 volt WS2812B LED strip with density of 30 LEDs/meter. One length of 120 LEDs
Software
The following software was used to compile this code
1. Arduino IDE Version: 1.6.9 - https://www.arduino.cc/en/Main/Software
2. Teensyduino Version: 1.29 - https://www.pjrc.com/teensy/td_download.html
3. ILI9341_t3 LCD driver - https://github.com/PaulStoffregen/ILI9341_t3
4. XPT2046 touch screen driver - https://github.com/PaulStoffregen/XPT2046_Touchscreen
5. The Audio library - https://github.com/PaulStoffregen/Audio
6. Adafruit Neopixel library - https://github.com/adafruit/Adafruit_NeoPixel
Color Organ Concept, Design and Implementation by: Craig A. Lindley
Version: 0.5
Last Update: 09/12/2016
Copyright (c) 2016, Craig A. Lindley - [email protected]
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice, development funding notice, and this permission
notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
#include <Arduino.h>
#include <Audio.h>
#include <SD.h>
#include <SPI.h>
#include <SerialFlash.h>
#include <ILI9341_t3.h>
#include <XPT2046_Touchscreen.h>
#include <Adafruit_NeoPixel.h>
#include "PrintExtensions.h"
#include "GUI_Elements.h"
// Thresholds
#define VU_THRESHOLD 0.1
#define BAND_THRESHOLD 0.09
// Mic preamp gain in dB
#define DEFAULT_MIC_GAIN_DB 0
#define USE_GAMMA_CORRECTION false
#define NUMBER_OF_BANDS 8
#define LEDS_PER_BAND 15
#define NUMBER_OF_LEDS (NUMBER_OF_BANDS * LEDS_PER_BAND)
#define SCREEN_ROTATION 3
// Describes the 1024 point FFT bin range for a octave based band
typedef struct {
int lowBinNumber, highBinNumber;
} BIN_CONFIG;
// 8 band array of Bin Configs
BIN_CONFIG bins[NUMBER_OF_BANDS] = {
1, 2, // Band: 0, LF: 43, HF: 86
2, 4, // Band: 1, LF: 86, HF: 172
4, 8, // Band: 2, LF: 172, HF: 344
8, 16, // Band: 3, LF: 344, HF: 689
16, 32, // Band: 4, LF: 689, HF: 1378
32, 64, // Band: 5, LF: 1378, HF: 2756
64, 128, // Band: 6, LF: 2756, HF: 5512
128, 256 // Band: 7, LF: 5512, HF: 11025
};
// Color Organ Audio Components and Interconnectivity
AudioInputI2S BANNED;
AudioMixer4 mixer;
AudioControlSGTL5000 audioController;
// Define the peak detectors
AudioAnalyzePeak leftInputDetector;
AudioAnalyzePeak rightInputDetector;
// FFT device
AudioAnalyzeFFT1024 fft;
// Define the interconnects
AudioConnection patchCord1(BANNED, 0, mixer, 0);
AudioConnection patchCord2(BANNED, 0, leftInputDetector, 0);
AudioConnection patchCord3(BANNED, 1, mixer, 1);
AudioConnection patchCord4(BANNED, 1, rightInputDetector, 0);
AudioConnection patchCord5(mixer, fft);
// States of the color organ Finite State Machine (FSM)
// States must be defined before the screens that use them are defined
enum STATES {
INITIALIZATION_STATE,
// Screen Initialization Screen Execution
MAIN_SCR_INIT_STATE, MAIN_SCR_STATE,
CONFIG_SCR_INIT_STATE, CONFIG_SCR_STATE,
DENSITY_SCR_INIT_STATE, DENSITY_SCR_STATE,
MISC_SCR_INIT_STATE, MISC_SCR_STATE,
FILES_SCR_INIT_STATE, FILES_SCR_STATE,
// Data acquisition state
ACQUIRE_DATA_STATE,
// Check dynamics state
CHECK_DYNAMICS_STATE,
};
// Current operational configuration of the color organ
typedef struct {
// Global parameters
bool micInput;
bool avcOn;
unsigned long dynamicsIntervalMins;
int ledDensity;
} ConfigurationData;
#define CONFIG_DATA_SIZE sizeof(ConfigurationData)
// Create the configuration data record
ConfigurationData configurationData;
#include "Colors.h"
#include "LEDOutputControl.h"
LEDOutputControl ledOutputControl;
// Now include all of the screen definitions
#include "BaseScreen.h"
#include "Screen_Main.h"
MainScreen mainScreen;
#include "Screen_Config.h"
ConfigScreen configScreen;
#include "Screen_Density.h"
DensityScreen densityScreen;
#include "Screen_Misc.h"
MiscScreen miscScreen;
#include "Screen_Files.h"
FilesScreen filesScreen;
// State machine state variables
STATES currentState;
STATES savedState;
/************************************************************************/
/* Library Object Instantiations */
/************************************************************************/
// LCD parameters
#define LCD_DC_PIN 20
#define LCD_CS_PIN 21
#define LCD_RST_PIN 255 // 255 = unused, connected to 3.3V
#define LCD_MOSI_PIN 7
#define LCD_SCLK_PIN 14
#define LCD_MISO_PIN 12
ILI9341_t3 lcd(LCD_CS_PIN, LCD_DC_PIN, LCD_RST_PIN, LCD_MOSI_PIN, LCD_SCLK_PIN, LCD_MISO_PIN);
// Touch controller parameters
#define T_CS_PIN 8
#define T_IRQ_PIN 2
XPT2046_Touchscreen touch(T_CS_PIN, T_IRQ_PIN);
// SD memory card parameters
#define SDCARD_CS_PIN 10
#define SDCARD_MOSI_PIN 7
#define SDCARD_SCK_PIN 14
// LED strip parameters
#define LED_STRIP_PIN 3
Adafruit_NeoPixel ledStrip(NUMBER_OF_LEDS, LED_STRIP_PIN, NEO_GRB + NEO_KHZ800);
// Configure the color organ hardware to match the configuration data
void configureColorOrgan(void) {
// Enable the audio controller and configure it
audioController.enable();
delay(200);
audioController.audioPreProcessorEnable();
audioController.surroundSoundDisable();
audioController.enhanceBassDisable();
audioController.eqSelect(0);
audioController.micGain(DEFAULT_MIC_GAIN_DB); // Mic gain
audioController.volume(0); // Turn off headphone output
audioController.muteHeadphone();
audioController.muteLineout();
// Auto Volume Control settings
audioController.autoVolumeControl(1, 1, 0, -10, 0.5, 0.5);
configurationData.avcOn ? audioController.autoVolumeEnable() : audioController.autoVolumeDisable();
audioController.inputSelect(configurationData.micInput ? AUDIO_INPUT_MIC : AUDIO_INPUT_LINEIN);
// Setup mixer so stereo to mono conversion doesn't clip
// Gains on channels 2 and 3 set to zero to turn them off
mixer.gain(0, 0.4);
mixer.gain(1, 0.4);
mixer.gain(2, 0.0);
mixer.gain(3, 0.0);
// Setup LED densities
ledOutputControl.assignLEDsBasedOnDensity();
// Setup LED colors for each band
ledOutputControl.calculateBandColors();
}
// Used to map a floating point value in range 0.0 .. 1.0 to int in range 0 .. 255
int mapFloat(float x, float in_min, float in_max, int out_min, int out_max) {
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
/************************************************************************/
/* Program Setup */
/************************************************************************/
void setup() {
// Configure audio memory
AudioMemory(30);
// Setup serial communication for debugging
Serial.begin(115200);
delay(2000);
// Setup SD card SPI interface
SPI.setMOSI(SDCARD_MOSI_PIN);
SPI.setSCK(SDCARD_SCK_PIN);
// Test that the SD card is working
if (! SD.begin(SDCARD_CS_PIN)) {
// Stop here, but print a message repetitively
while (1) {
Serial.println("Unable to access the SD card");
delay(500);
}
}
// Initialize and configure LCD screen
lcd.begin();
// Clear screen
lcd.fillScreen(ILI9341_BLACK);
// Rotate the display into correct orientation
lcd.setRotation(SCREEN_ROTATION);
// Don't allow text wrapping
lcd.setTextWrap(false);
// Initialize the touch screen controller
touch.begin();
// Initialize the LED strip driver and turn all LEDs off
ledStrip.begin();
ledStrip.show();
// Set initial state of FSM
currentState = INITIALIZATION_STATE;
}
/************************************************************************/
/* Main Program */
/************************************************************************/
// Dynamics timer
elapsedMillis dynamicsTimer;
// Loop runs the color organ's FSM
void loop() {
float data;
bool leftVUReset, rightVUReset;
switch (currentState) {
case INITIALIZATION_STATE:
// Initialize timer
dynamicsTimer = 0;
leftVUReset = rightVUReset = false;
// Install operational defaults
configurationData.micInput = true;
configurationData.avcOn = true;
configurationData.dynamicsIntervalMins = 2;
configurationData.ledDensity = 25;
// Make color organ match configuration data
configureColorOrgan();
// Setup for next state
savedState = MAIN_SCR_INIT_STATE;
currentState = ACQUIRE_DATA_STATE;
break;
case MAIN_SCR_INIT_STATE:
mainScreen.init();
savedState = MAIN_SCR_STATE;
currentState = ACQUIRE_DATA_STATE;
break;
case MAIN_SCR_STATE:
savedState = mainScreen.run();
currentState = ACQUIRE_DATA_STATE;
break;
case CONFIG_SCR_INIT_STATE:
configScreen.init();
savedState = CONFIG_SCR_STATE;
currentState = ACQUIRE_DATA_STATE;
break;
case CONFIG_SCR_STATE:
savedState = configScreen.run();
currentState = ACQUIRE_DATA_STATE;
break;
case DENSITY_SCR_INIT_STATE:
densityScreen.init();
savedState = DENSITY_SCR_STATE;
currentState = ACQUIRE_DATA_STATE;
break;
case DENSITY_SCR_STATE:
savedState = densityScreen.run();
currentState = ACQUIRE_DATA_STATE;
break;
case MISC_SCR_INIT_STATE:
miscScreen.init();
savedState = MISC_SCR_STATE;
currentState = ACQUIRE_DATA_STATE;
break;
case MISC_SCR_STATE:
savedState = miscScreen.run();
currentState = ACQUIRE_DATA_STATE;
break;
case FILES_SCR_INIT_STATE:
filesScreen.init();
savedState = FILES_SCR_STATE;
currentState = ACQUIRE_DATA_STATE;
break;
case FILES_SCR_STATE:
savedState = filesScreen.run();
currentState = ACQUIRE_DATA_STATE;
break;
case ACQUIRE_DATA_STATE:
if (fft.available()) {
for (int band = 0; band < NUMBER_OF_BANDS; band++) {
int lowBinNumber = bins[band].lowBinNumber;
int highBinNumber = bins[band].highBinNumber;
data = fft.read(lowBinNumber, highBinNumber);
data = (data > 1.0) ? 1.0 : data;
if (data > BAND_THRESHOLD) {
ledOutputControl.setBandLEDsToColorValue(band, mapFloat(data, 0.0, 1.0, 0, 255));
} else {
ledOutputControl.setBandLEDsToColorValue(band, 0);
}
}
}
// Display the VU meters when on the main screen
if (savedState == MAIN_SCR_STATE) {
if (leftInputDetector.available()) {
data = leftInputDetector.read();
if (data > VU_THRESHOLD) {
leftVUMeter.setValue(data);
leftVUReset = false;
} else {
if (! leftVUReset) {
leftVUMeter.clearVUMeter();
leftVUReset = true;
}
}
}
if (rightInputDetector.available()) {
data = rightInputDetector.read();
if (data > VU_THRESHOLD) {
rightVUMeter.setValue(data);
rightVUReset = false;
} else {
if (! rightVUReset) {
rightVUMeter.clearVUMeter();
rightVUReset = true;
}
}
}
}
// Setup next state
currentState = CHECK_DYNAMICS_STATE;
break;
case CHECK_DYNAMICS_STATE:
// Is dynamics on ?
if (configurationData.dynamicsIntervalMins != 0) {
// Is it time to dynamically update LED placement ?
if (dynamicsTimer > (((unsigned long) configurationData.dynamicsIntervalMins) * 60 * 1000)) {
// Yes it is so reset the dynamics timer
dynamicsTimer = 0;
// Update LED placements
ledOutputControl.assignLEDsBasedOnDensity();
}
}
// Return to the active state
currentState = savedState;
break;
}
}
Last edited by adafruit_support_bill on Wed May 03, 2017 2:02 pm, edited 1 time in total.
Reason: Please use [code] tags when submitting code to the forums
Reason: Please use [code] tags when submitting code to the forums
- adafruit_support_bill
- Posts: 88091
- Joined: Sat Feb 07, 2009 10:11 am
Re: Line Length Limitations
Code: Select all
#define USE_GAMMA_CORRECTION false
#define NUMBER_OF_BANDS 8
#define LEDS_PER_BAND 15
#define NUMBER_OF_LEDS (NUMBER_OF_BANDS * LEDS_PER_BAND)
Code: Select all
// LED strip parameters
#define LED_STRIP_PIN 3
Adafruit_NeoPixel ledStrip(NUMBER_OF_LEDS, LED_STRIP_PIN, NEO_GRB + NEO_KHZ800);
- janbo
- Posts: 7
- Joined: Wed May 03, 2017 10:56 am
Re: Line Length Limitations
So I would change it to this?
#define USE_GAMMA_CORRECTION false
#define NUMBER_OF_BANDS 7
#define LEDS_PER_BAND 34
#define NUMBER_OF_LEDS 238 (NUMBER_OF_BANDS * LEDS_PER_BAND)
Not sure what this means.
/ LED strip parameters
#define LED_STRIP_PIN 3
Adafruit_NeoPixel ledStrip(NUMBER_OF_LEDS, LED_STRIP_PIN, NEO_GRB + NEO_KHZ800);
#define USE_GAMMA_CORRECTION false
#define NUMBER_OF_BANDS 7
#define LEDS_PER_BAND 34
#define NUMBER_OF_LEDS 238 (NUMBER_OF_BANDS * LEDS_PER_BAND)
Not sure what this means.
/ LED strip parameters
#define LED_STRIP_PIN 3
Adafruit_NeoPixel ledStrip(NUMBER_OF_LEDS, LED_STRIP_PIN, NEO_GRB + NEO_KHZ800);
- adafruit_support_bill
- Posts: 88091
- Joined: Sat Feb 07, 2009 10:11 am
Re: Line Length Limitations
That is the code that defines your LED strip.Not sure what this means.
- Franklin97355
- Posts: 23910
- Joined: Mon Apr 21, 2008 2:33 pm
Re: Line Length Limitations
Check out the NeoPixel Uberguide.
- janbo
- Posts: 7
- Joined: Wed May 03, 2017 10:56 am
Re: Line Length Limitations
#define NUMBER_OF_LEDS 277
When I put in the number of LEDs the file will not compile, remove it and then it will.
Any ideas as to why?
When I put in the number of LEDs the file will not compile, remove it and then it will.
Any ideas as to why?
- adafruit_support_bill
- Posts: 88091
- Joined: Sat Feb 07, 2009 10:11 am
Re: Line Length Limitations
Please post your code. And also the error messages you are seeing.
- janbo
- Posts: 7
- Joined: Wed May 03, 2017 10:56 am
Re: Line Length Limitations
Code was posted May 3.. above.
- Franklin97355
- Posts: 23910
- Joined: Mon Apr 21, 2008 2:33 pm
Re: Line Length Limitations
And what are the errors when you try to compile? Set verbose mode in the file preferences and post the output.
- janbo
- Posts: 7
- Joined: Wed May 03, 2017 10:56 am
Re: Line Length Limitations
Arduino: 1.8.1 (Windows 10), TD: 1.35, Board: "Teensy 3.2 / 3.1, Serial, 96 MHz (overclock), Fast, US English"(x86)\Arduino\hardware\teensy\avr\libraries\Adafruit_NeoPixel" "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Wire" "C:\Users\Ron\AppData\Local\Temp\arduino_build_5393\sketch\TeensyColorOrgan-FFT.ino.cpp" -o "C:\Users\Ron\AppData\Local\Temp\arduino_build_5393\sketch\TeensyColorOrgan-FFT.ino.cpp.o"
C:\Users\Ron\AppData\Local\Temp\arduino_build_5393\sketch\LEDOutputControl.h: In member function 'void LEDOutputControl::assignBandLEDs()':
C:\Users\Ron\AppData\Local\Temp\arduino_modified_sketch_42815\TeensyColorOrgan-FFT.ino:83:65: error: expression cannot be used as a function
#define NUMBER_OF_LEDS 272 (NUMBER_OF_BANDS * LEDS_PER_BAND)
^
C:\Users\Ron\AppData\Local\Temp\arduino_build_5393\sketch\LEDOutputControl.h:68:30: note: in expansion of macro 'NUMBER_OF_LEDS'
ledPick = random(NUMBER_OF_LEDS);
^
C:\Users\Ron\AppData\Local\Temp\arduino_modified_sketch_42815\TeensyColorOrgan-FFT.ino: At global scope:
C:\Users\Ron\AppData\Local\Temp\arduino_modified_sketch_42815\TeensyColorOrgan-FFT.ino:83:65: error: expression cannot be used as a function
#define NUMBER_OF_LEDS 272 (NUMBER_OF_BANDS * LEDS_PER_BAND)
^
C:\Users\Ron\AppData\Local\Temp\arduino_modified_sketch_42815\TeensyColorOrgan-FFT.ino:210:28: note: in expansion of macro 'NUMBER_OF_LEDS'
Adafruit_NeoPixel ledStrip(NUMBER_OF_LEDS, LED_STRIP_PIN, NEO_GRB + NEO_KHZ800);
^
Multiple libraries were found for "SD.h"
Used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SD
Not used: C:\Program Files (x86)\Arduino\libraries\SD
Using library Audio at version 1.3 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Audio
Using library SPI at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI
Using library SD at version 1.0.8 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SD
Using library SerialFlash at version 0.4 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SerialFlash
Using library ILI9341_t3 at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\ILI9341_t3
Using library XPT2046_Touchscreen at version 1.2 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\XPT2046_Touchscreen
Using library Adafruit_NeoPixel at version 1.0.4 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Adafruit_NeoPixel
Using library Wire at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Wire
Error compiling for board Teensy 3.2 / 3.1.
C:\Users\Ron\AppData\Local\Temp\arduino_build_5393\sketch\LEDOutputControl.h: In member function 'void LEDOutputControl::assignBandLEDs()':
C:\Users\Ron\AppData\Local\Temp\arduino_modified_sketch_42815\TeensyColorOrgan-FFT.ino:83:65: error: expression cannot be used as a function
#define NUMBER_OF_LEDS 272 (NUMBER_OF_BANDS * LEDS_PER_BAND)
^
C:\Users\Ron\AppData\Local\Temp\arduino_build_5393\sketch\LEDOutputControl.h:68:30: note: in expansion of macro 'NUMBER_OF_LEDS'
ledPick = random(NUMBER_OF_LEDS);
^
C:\Users\Ron\AppData\Local\Temp\arduino_modified_sketch_42815\TeensyColorOrgan-FFT.ino: At global scope:
C:\Users\Ron\AppData\Local\Temp\arduino_modified_sketch_42815\TeensyColorOrgan-FFT.ino:83:65: error: expression cannot be used as a function
#define NUMBER_OF_LEDS 272 (NUMBER_OF_BANDS * LEDS_PER_BAND)
^
C:\Users\Ron\AppData\Local\Temp\arduino_modified_sketch_42815\TeensyColorOrgan-FFT.ino:210:28: note: in expansion of macro 'NUMBER_OF_LEDS'
Adafruit_NeoPixel ledStrip(NUMBER_OF_LEDS, LED_STRIP_PIN, NEO_GRB + NEO_KHZ800);
^
Multiple libraries were found for "SD.h"
Used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SD
Not used: C:\Program Files (x86)\Arduino\libraries\SD
Using library Audio at version 1.3 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Audio
Using library SPI at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI
Using library SD at version 1.0.8 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SD
Using library SerialFlash at version 0.4 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SerialFlash
Using library ILI9341_t3 at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\ILI9341_t3
Using library XPT2046_Touchscreen at version 1.2 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\XPT2046_Touchscreen
Using library Adafruit_NeoPixel at version 1.0.4 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Adafruit_NeoPixel
Using library Wire at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Wire
Error compiling for board Teensy 3.2 / 3.1.
- adafruit_support_bill
- Posts: 88091
- Joined: Sat Feb 07, 2009 10:11 am
Re: Line Length Limitations
You are defining NUMBER_OF_LEDS as "272 (NUMBER_OF_BANDS * LEDS_PER_BAND)" which makes no sense, since "272" is not a valid name for a function.C:\Users\Ron\AppData\Local\Temp\arduino_modified_sketch_42815\TeensyColorOrgan-FFT.ino:83:65: error: expression cannot be used as a function
#define NUMBER_OF_LEDS 272 (NUMBER_OF_BANDS * LEDS_PER_BAND)
If you want it to be 272, then define it so:
Code: Select all
#define NUMBER_OF_LEDS 272
- janbo
- Posts: 7
- Joined: Wed May 03, 2017 10:56 am
Re: Line Length Limitations
Have 8 bands with 34 LEDs in each band this comes to a total of 272 LEDs. I don't understand what a valid name should be.
- adafruit_support_bill
- Posts: 88091
- Joined: Sat Feb 07, 2009 10:11 am
Re: Line Length Limitations
If you want to define it that way, then just change your definition of LEDS_PER_BAND
Code: Select all
#define USE_GAMMA_CORRECTION false
#define NUMBER_OF_BANDS 8
#define LEDS_PER_BAND 34
#define NUMBER_OF_LEDS (NUMBER_OF_BANDS * LEDS_PER_BAND)
Please be positive and constructive with your questions and comments.