|
Post by markemark on Dec 23, 2016 18:17:14 GMT
Hi all,
I've just bought 3 ShieldBuddys on a whim.
I'm mostly into LED lighting, and use FastLED a lot (https://github.com/FastLED/FastLED/releases)
I understand that it may not be possible, but would this library port to ShieldBuddy? If not, what would be required to convert it?
Thanks
|
|
|
Post by mjb on Dec 23, 2016 18:36:30 GMT
We'll take a look!
|
|
|
Post by Admin on Dec 23, 2016 20:44:01 GMT
It should be possible to support this library but unfortunately at the moment it will not build with the ShieldBuddy. It looks like there is a lot effort put into providing fast port pin and spi access on AVR and Cortex boards. In fact the standard arduino functions should be OK on a very fast CPU like the TC275. The pin toggle time is 40ns and the spi driver runs to 50MB/s.
Nothing will happen though until after Christmas!
|
|
|
Post by markemark on Dec 29, 2016 9:52:08 GMT
It would be great to have this ported in time for October 2017 in time for Halloween/Xmas development. Thanks!
|
|
|
Post by mjb on Dec 29, 2016 12:33:48 GMT
We will try it next month. Others have asked about it.
|
|
|
Post by Admin on Apr 1, 2017 11:26:39 GMT
We have now ported the FastLED library!
|
|
|
Post by Admin on Apr 25, 2017 12:17:34 GMT
|
|
|
Post by arthur on Feb 18, 2019 9:05:08 GMT
Have you tried to use power limitation or brightness? I have impression that it's not working. With 5V power supply all leds turns White and when I decrease the power to 2.5V it starts to work as expected. Strange !!!
FastLED.setMaxPowerInVoltsAndMilliamps(5,1000); FastLED.setBrightness(32);
|
|
|
Post by arthur on Feb 18, 2019 9:20:49 GMT
The same sketch with original FastLED library works perfectly on Arduino Due.
#include "FastLED.h"
#define NUM_STRIPS 2
#define NUM_LEDS_PER_STRIP 16
CRGB leds[NUM_STRIPS][NUM_LEDS_PER_STRIP];
void setup() {
FastLED.addLeds<WS2812, 7>(leds[0], NUM_LEDS_PER_STRIP);
FastLED.addLeds<WS2812B, 6>(leds[1], NUM_LEDS_PER_STRIP);
FastLED.setMaxPowerInVoltsAndMilliamps(5,1000);
FastLED.setBrightness(32);
}
void loop() {
for(int x = 0; x < NUM_STRIPS; x++) {
for(int i = 0; i < NUM_LEDS_PER_STRIP; i++) {
leds[x][i] = CRGB::Red;
FastLED.show();
leds[x][i] = CRGB::Black;
delay(100);
}
}
}
|
|
|
Post by arthur on Feb 18, 2019 9:26:09 GMT
Everything is compiling for ShieldBuddy with FastLED-3.1.3_TC275 library, but I'm getting all this warnings
|
|
|
Post by arthur on Feb 26, 2019 9:39:55 GMT
Can you try at your side please FastLED.setMaxPowerInVoltsAndMilliamps(5,1000); FastLED.setBrightness(32);
|
|
|
Post by Admin on Mar 1, 2019 14:13:47 GMT
We have no idea how FastLED works out the power! You could try editing power_mgt.cpp and altering:
// Power consumed by the MCU static const uint8_t gMCU_mW = 25 * 5; // 25mA @ 5v = 125 mW
To:
// Power consumed by the MCU static const uint8_t gMCU_mW = 180 * 5; // 180mA @ 5v = 900 mW
|
|