Skip to content

Commit

Permalink
Merge pull request #57 from Aircoookie/development
Browse files Browse the repository at this point in the history
Release of v0.8.0
  • Loading branch information
Aircoookie authored Oct 15, 2018
2 parents e3b9b34 + 377e4fa commit 1e69cc7
Show file tree
Hide file tree
Showing 35 changed files with 5,200 additions and 3,148 deletions.
60 changes: 31 additions & 29 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,49 @@
## Welcome to my project WLED!
![WLED logo](https://raw.githubusercontent.com/Aircoookie/WLED/development/wled_logo.png)

WLED is a fast and (relatively) secure implementation of an ESP8266/ESP32 webserver to control NeoPixel (WS2812B) LEDs!
## Welcome to my project WLED! (v0.8.0)

### Features: (V0.7.1)
- RGB, HSB, and brightness sliders
- All new, mobile-friendly web UI!
A fast and feature-rich implementation of an ESP8266/ESP32 webserver to control NeoPixel (WS2812B) LEDs!

### Features:
- WS2812FX library integrated for over 70 special effects
- FastLED noise effects and palettes
- Customizable Mobile and desktop UI with color and effect controls
- Settings page - configuration over network
- Access Point and station mode - automatic failsafe AP
- Support of Blynk IoT cloud
- WS2812FX library integrated for over 50 special effects (+Custom Theater Chase)!
- Secondary color support lets you use even more effect combinations
- Alexa smart home device server (including dimming)
- Beta syncronization to Philips hue lights
- Support for RGBW strips
- 25 user presets! Save colors and effects and apply them easily! Supports cycling through them.
- HTTP request API for simple integration
- 25 user presets to save and load colors/effects easily, supports cycling through them.
- Macro functions to automatically execute API calls
- Nightlight function (gradually dims down)
- Notifier function (multiple ESPs sync color via UDP broadcast)
- Support for power pushbutton
- Support for the Adalight serial ambilight protocol!
- Full OTA software update capability (HTTP and ArduinoOTA)
- Password protected OTA page for added security (OTA lock)
- NTP and configurable analog clock function
- Support for the Cronixie Clock kit by Diamex
- Realtime UDP Packet Control (E1.31, Hyperion, WARLS, DRGB, DRGBW)
- Full OTA software updatability (HTTP + ArduinoOTA), password protectable
- Configurable analog clock + support for the Cronixie kit by Diamex

### Supported light control interfaces:
- HTTP request API
- Blynk IoT
- MQTT
- E1.31
- Hyperion
- UDP realtime
- Alexa smart device (including dimming)
- Sync to Philips hue lights
- Adalight (PC ambilight via serial)
- Sync color of multiple WLED devices (UDP notifier)
- Simple timers/schedules (time from NTP, timezones/DST supported)

### Quick start guide and documentation:

See the [wiki](https://github.com/Aircoookie/WLED/wiki)!

### Other

Licensed under the MIT license
Uses libraries:
ESP8266/ESP32 Arduino Core
NeoPixelBus by Makuna
[WS2812FX](https://github.com/kitesurfer1404/WS2812FX) by kitesurfer1404 (Aircoookie fork)
Time library
Timezone library by JChristensen
Alexa code based on arduino-esp8266-alexa-multiple-wemo-switch by kakopappa
Licensed under the MIT license
Credits in About page!

Uses Linearicons by Perxis!

Uses Linearicons by Perxis! (link in settings page)
Join the Discord [server](https://discord.gg/KuqP7NE) to discuss everything about WLED!
You can also send me mails to [dev.aircoookie@gmail.com](mailto:dev.aircoookie@gmail.com).
If you insist that you just love WLED too much, you can [send me a gift](https://paypal.me/aircoookie)!



Expand Down
18 changes: 13 additions & 5 deletions wled00/NpbWrapper.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
//this code is a modified version of https://github.com/Makuna/NeoPixelBus/issues/103
#ifndef NpbWrapper_h
#define NpbWrapper_h

//#define WORKAROUND_ESP32_BITBANG
//see https://github.com/Aircoookie/WLED/issues/2 for flicker free ESP32 support

#define LEDPIN 2 //strip pin. Only effective for ESP32, ESP8266 must use gpio2

//uncomment this if red and green are swapped
//#define SWAPRG

Expand All @@ -13,9 +17,12 @@
#else
#define PIXELMETHOD NeoEsp32RmtWS2813_V3Method
#endif
#else
#else //esp8266
//you may change to DMA method on pin GPIO3 here
#define PIXELMETHOD NeoEsp8266Uart800KbpsMethod
//#define PIXELMETHOD NeoEsp8266Dma800KbpsMethod
#endif

//handle swapping Red and Green automatically
#ifdef SWAPRG
#define PIXELFEATURE3 NeoRgbFeature
Expand Down Expand Up @@ -52,20 +59,20 @@ class NeoPixelWrapper
cleanup();
}

void Begin(NeoPixelType type, uint16_t countPixels, uint8_t pin)
void Begin(NeoPixelType type, uint16_t countPixels)
{
cleanup();
_type = type;

switch (_type) {

case NeoPixelType_Grb:
_pGrb = new NeoPixelBrightnessBus<PIXELFEATURE3,PIXELMETHOD>(countPixels, pin);
_pGrb = new NeoPixelBrightnessBus<PIXELFEATURE3,PIXELMETHOD>(countPixels, LEDPIN);
_pGrb->Begin();
break;

case NeoPixelType_Grbw:
_pGrbw = new NeoPixelBrightnessBus<PIXELFEATURE4,PIXELMETHOD>(countPixels, pin);
_pGrbw = new NeoPixelBrightnessBus<PIXELFEATURE4,PIXELMETHOD>(countPixels, LEDPIN);
_pGrbw->Begin();
break;
}
Expand Down Expand Up @@ -110,7 +117,7 @@ class NeoPixelWrapper
void SetPixelColor(uint16_t indexPixel, RgbwColor color)
{
switch (_type) {
case NeoPixelType_Grb: _pGrbw->SetPixelColor(indexPixel, color); break;
case NeoPixelType_Grb: _pGrb->SetPixelColor(indexPixel, RgbColor(color.R,color.G,color.B)); break;
case NeoPixelType_Grbw: _pGrbw->SetPixelColor(indexPixel, color); break;
}
}
Expand Down Expand Up @@ -174,3 +181,4 @@ class NeoPixelWrapper
}
}
};
#endif
Loading

0 comments on commit 1e69cc7

Please sign in to comment.