diff options
author | Daniel Garcia <dgarcia@dgarcia.net> | 2019-01-20 03:41:37 +0300 |
---|---|---|
committer | Daniel Garcia <dgarcia@dgarcia.net> | 2019-01-20 03:41:37 +0300 |
commit | fd2cbea6ebcdde85b8b813c5c331905c1d1081ab (patch) | |
tree | 6fc2fef72af27eac3094e3f66e1aaf9f28efc27c /examples | |
parent | 5c92088b327ccd08a6dad615e2a15704818bbacc (diff) |
Clearing out stale ESP32 code from the demos
Diffstat (limited to 'examples')
-rw-r--r-- | examples/DemoReelESP32/DemoReelESP32.ino | 181 |
1 files changed, 0 insertions, 181 deletions
diff --git a/examples/DemoReelESP32/DemoReelESP32.ino b/examples/DemoReelESP32/DemoReelESP32.ino deleted file mode 100644 index 3a32d4c4..00000000 --- a/examples/DemoReelESP32/DemoReelESP32.ino +++ /dev/null @@ -1,181 +0,0 @@ -#include "FastLED.h" - -FASTLED_USING_NAMESPACE - -// FastLED "100-lines-of-code" demo reel, showing just a few -// of the kinds of animation patterns you can quickly and easily -// compose using FastLED. -// -// This example also shows one easy way to define multiple -// animations patterns and have them automatically rotate. -// -// -Mark Kriegsman, December 2014 - -#if defined(FASTLED_VERSION) && (FASTLED_VERSION < 3001000) -#warning "Requires FastLED 3.1 or later; check github for latest code." -#endif - -#define DATA_PIN 12 -//#define CLK_PIN 4 -#define LED_TYPE WS2811 -#define COLOR_ORDER GRB -#define NUM_LEDS 27 -CRGB leds[NUM_LEDS]; - -#define BRIGHTNESS 60 -#define FRAMES_PER_SECOND 120 - -// -- The core to run FastLED.show() -#define FASTLED_SHOW_CORE 0 - -// -- Task handles for use in the notifications -static TaskHandle_t FastLEDshowTaskHandle = 0; -static TaskHandle_t userTaskHandle = 0; - -/** show() for ESP32 - * Call this function instead of FastLED.show(). It signals core 0 to issue a show, - * then waits for a notification that it is done. - */ -void FastLEDshowESP32() -{ - if (userTaskHandle == 0) { - // -- Store the handle of the current task, so that the show task can - // notify it when it's done - userTaskHandle = xTaskGetCurrentTaskHandle(); - - // -- Trigger the show task - xTaskNotifyGive(FastLEDshowTaskHandle); - - // -- Wait to be notified that it's done - const TickType_t xMaxBlockTime = pdMS_TO_TICKS( 200 ); - ulTaskNotifyTake(pdTRUE, xMaxBlockTime); - userTaskHandle = 0; - } -} - -/** show Task - * This function runs on core 0 and just waits for requests to call FastLED.show() - */ -void FastLEDshowTask(void *pvParameters) -{ - // -- Run forever... - for(;;) { - // -- Wait for the trigger - ulTaskNotifyTake(pdTRUE, portMAX_DELAY); - - // -- Do the show (synchronously) - FastLED.show(); - - // -- Notify the calling task - xTaskNotifyGive(userTaskHandle); - } -} - -void setup() { - delay(3000); // 3 second delay for recovery - Serial.begin(115200); - - // tell FastLED about the LED strip configuration - FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip); - //FastLED.addLeds<LED_TYPE,DATA_PIN,CLK_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip); - - // set master brightness control - FastLED.setBrightness(BRIGHTNESS); - - int core = xPortGetCoreID(); - Serial.print("Main code running on core "); - Serial.println(core); - - // -- Create the FastLED show task - xTaskCreatePinnedToCore(FastLEDshowTask, "FastLEDshowTask", 2048, NULL, 2, &FastLEDshowTaskHandle, FASTLED_SHOW_CORE); -} - - -// List of patterns to cycle through. Each is defined as a separate function below. -typedef void (*SimplePatternList[])(); -SimplePatternList gPatterns = { rainbow, rainbowWithGlitter, confetti, sinelon, juggle, bpm }; - -uint8_t gCurrentPatternNumber = 0; // Index number of which pattern is current -uint8_t gHue = 0; // rotating "base color" used by many of the patterns - -void loop() -{ - // Call the current pattern function once, updating the 'leds' array - gPatterns[gCurrentPatternNumber](); - - // send the 'leds' array out to the actual LED strip - FastLEDshowESP32(); - // FastLED.show(); - // insert a delay to keep the framerate modest - FastLED.delay(1000/FRAMES_PER_SECOND); - - // do some periodic updates - EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the "base color" through the rainbow - EVERY_N_SECONDS( 10 ) { nextPattern(); } // change patterns periodically -} - -#define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0])) - -void nextPattern() -{ - // add one to the current pattern number, and wrap around at the end - gCurrentPatternNumber = (gCurrentPatternNumber + 1) % ARRAY_SIZE( gPatterns); -} - -void rainbow() -{ - // FastLED's built-in rainbow generator - fill_rainbow( leds, NUM_LEDS, gHue, 7); -} - -void rainbowWithGlitter() -{ - // built-in FastLED rainbow, plus some random sparkly glitter - rainbow(); - addGlitter(80); -} - -void addGlitter( fract8 chanceOfGlitter) -{ - if( random8() < chanceOfGlitter) { - leds[ random16(NUM_LEDS) ] += CRGB::White; - } -} - -void confetti() -{ - // random colored speckles that blink in and fade smoothly - fadeToBlackBy( leds, NUM_LEDS, 10); - int pos = random16(NUM_LEDS); - leds[pos] += CHSV( gHue + random8(64), 200, 255); -} - -void sinelon() -{ - // a colored dot sweeping back and forth, with fading trails - fadeToBlackBy( leds, NUM_LEDS, 20); - int pos = beatsin16( 13, 0, NUM_LEDS-1 ); - leds[pos] += CHSV( gHue, 255, 192); -} - -void bpm() -{ - // colored stripes pulsing at a defined Beats-Per-Minute (BPM) - uint8_t BeatsPerMinute = 62; - CRGBPalette16 palette = PartyColors_p; - uint8_t beat = beatsin8( BeatsPerMinute, 64, 255); - for( int i = 0; i < NUM_LEDS; i++) { //9948 - leds[i] = ColorFromPalette(palette, gHue+(i*2), beat-gHue+(i*10)); - } -} - -void juggle() { - // eight colored dots, weaving in and out of sync with each other - fadeToBlackBy( leds, NUM_LEDS, 20); - byte dothue = 0; - for( int i = 0; i < 8; i++) { - leds[beatsin16( i+7, 0, NUM_LEDS-1 )] |= CHSV(dothue, 200, 255); - dothue += 32; - } -} - |