mirror of
https://github.com/arendst/Tasmota.git
synced 2025-04-24 23:07:17 +00:00
Add support for P9813 RGB Led MOSFET controller
Add support for P9813 RGB Led MOSFET controller (#10104)
This commit is contained in:
parent
078a9a258a
commit
0a7d441e65
@ -6,6 +6,7 @@ All notable changes to this project will be documented in this file.
|
||||
## [9.2.0.1]
|
||||
### Added
|
||||
- Milliseconds to console output (#10152)
|
||||
- Support for P9813 RGB Led MOSFET controller (#10104)
|
||||
|
||||
## [Released]
|
||||
|
||||
|
@ -59,6 +59,7 @@ The attached binaries can also be downloaded from http://ota.tasmota.com/tasmota
|
||||
## Changelog v9.2.0.1
|
||||
### Added
|
||||
- Milliseconds to console output (#10152)
|
||||
- Support for P9813 RGB Led MOSFET controller (#10104)
|
||||
|
||||
### Breaking Changed
|
||||
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -642,6 +642,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 - CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 - DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 - PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 - CLK"
|
||||
#define D_SENSOR_P9813_DAT "P9813 - DAT"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 - DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 - DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "IR ALux - RCV"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -646,6 +646,8 @@
|
||||
#define D_SENSOR_SM16716_CLK "SM16716 CLK"
|
||||
#define D_SENSOR_SM16716_DAT "SM16716 DAT"
|
||||
#define D_SENSOR_SM16716_POWER "SM16716 PWR"
|
||||
#define D_SENSOR_P9813_CLK "P9813 Clk"
|
||||
#define D_SENSOR_P9813_DAT "P9813 Dat"
|
||||
#define D_SENSOR_MY92X1_DI "MY92x1 DI"
|
||||
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
|
||||
#define D_SENSOR_ARIRFRCV "ALux IrRcv"
|
||||
|
@ -484,7 +484,7 @@
|
||||
#define USE_WS2812 // WS2812 Led string using library NeoPixelBus (+5k code, +1k mem, 232 iram) - Disable by //
|
||||
// #define USE_WS2812_DMA // DMA supports only GPIO03 (= Serial RXD) (+1k mem). When USE_WS2812_DMA is enabled expect Exceptions on Pow
|
||||
// #define USE_WS2812_INVERTED // Use inverted data signal
|
||||
#define USE_WS2812_HARDWARE NEO_HW_WS2812 // Hardware type (NEO_HW_WS2812, NEO_HW_WS2812X, NEO_HW_WS2813, NEO_HW_SK6812, NEO_HW_LC8812, NEO_HW_APA106)
|
||||
#define USE_WS2812_HARDWARE NEO_HW_WS2812 // Hardware type (NEO_HW_WS2812, NEO_HW_WS2812X, NEO_HW_WS2813, NEO_HW_SK6812, NEO_HW_LC8812, NEO_HW_APA106, NEO_HW_P9813)
|
||||
#define USE_WS2812_CTYPE NEO_GRB // Color type (NEO_RGB, NEO_GRB, NEO_BRG, NEO_RBG, NEO_RGBW, NEO_GRBW)
|
||||
#define USE_MY92X1 // Add support for MY92X1 RGBCW led controller as used in Sonoff B1, Ailight and Lohas
|
||||
#define USE_SM16716 // Add support for SM16716 RGB LED controller (+0k7 code)
|
||||
|
@ -183,6 +183,7 @@ const uint32_t LOOP_SLEEP_DELAY = 50; // Lowest number of milliseconds to
|
||||
#define NEO_HW_SK6812 2 // NeoPixelBus hardware SK6812
|
||||
#define NEO_HW_LC8812 2 // NeoPixelBus hardware LC8812
|
||||
#define NEO_HW_APA106 3 // NeoPixelBus hardware APA106
|
||||
#define NEO_HW_P9813 4 // NeoPixelBus hardware P9813
|
||||
|
||||
#define MQTT_PUBSUBCLIENT 1 // Mqtt PubSubClient library
|
||||
#define MQTT_TASMOTAMQTT 2 // Mqtt TasmotaMqtt library based on esp-mqtt-arduino - soon obsolete
|
||||
|
@ -61,7 +61,7 @@
|
||||
#define USE_WS2812 // WS2812 Led string using library NeoPixelBus (+5k code, +1k mem, 232 iram) - Disable by //
|
||||
// #define USE_WS2812_DMA // DMA supports only GPIO03 (= Serial RXD) (+1k mem). When USE_WS2812_DMA is enabled expect Exceptions on Pow
|
||||
#ifndef USE_WS2812_HARDWARE
|
||||
#define USE_WS2812_HARDWARE NEO_HW_WS2812 // Hardware type (NEO_HW_WS2812, NEO_HW_WS2812X, NEO_HW_WS2813, NEO_HW_SK6812, NEO_HW_LC8812, NEO_HW_APA106)
|
||||
#define USE_WS2812_HARDWARE NEO_HW_WS2812 // Hardware type (NEO_HW_WS2812, NEO_HW_WS2812X, NEO_HW_WS2813, NEO_HW_SK6812, NEO_HW_LC8812, NEO_HW_APA106, NEO_HW_P9813)
|
||||
#endif
|
||||
#ifndef USE_WS2812_CTYPE
|
||||
#define USE_WS2812_CTYPE NEO_GRB // Color type (NEO_RGB, NEO_GRB, NEO_BRG, NEO_RBG, NEO_RGBW, NEO_GRBW)
|
||||
|
@ -129,6 +129,7 @@ enum UserSelectablePins {
|
||||
GPIO_AS608_TX, GPIO_AS608_RX, // Serial interface AS608 / R503
|
||||
GPIO_SHELLY_DIMMER_BOOT0, GPIO_SHELLY_DIMMER_RST_INV,
|
||||
GPIO_RC522_RST, // RC522 reset
|
||||
GPIO_P9813_CLK, GPIO_P9813_DAT, // P9813 Clock and Data
|
||||
GPIO_SENSOR_END };
|
||||
|
||||
enum ProgramSelectablePins {
|
||||
@ -237,7 +238,8 @@ const char kSensorNames[] PROGMEM =
|
||||
D_SENSOR_WE517_TX "|" D_SENSOR_WE517_RX "|"
|
||||
D_SENSOR_AS608_TX "|" D_SENSOR_AS608_RX "|"
|
||||
D_SENSOR_SHELLY_DIMMER_BOOT0 "|" D_SENSOR_SHELLY_DIMMER_RST_INV "|"
|
||||
D_SENSOR_RC522_RST
|
||||
D_SENSOR_RC522_RST "|"
|
||||
D_SENSOR_P9813_CLK "|" D_SENSOR_P9813_DAT
|
||||
;
|
||||
|
||||
const char kSensorNamesFixed[] PROGMEM =
|
||||
@ -337,7 +339,12 @@ const uint16_t kGpioNiceList[] PROGMEM = {
|
||||
|
||||
#ifdef USE_LIGHT
|
||||
#ifdef USE_WS2812
|
||||
#if (USE_WS2812_HARDWARE == NEO_HW_P9813)
|
||||
AGPIO(GPIO_P9813_CLK), // P9813 CLOCK
|
||||
AGPIO(GPIO_P9813_DAT), // P9813 DATA
|
||||
#else
|
||||
AGPIO(GPIO_WS2812), // WS2812 Led string
|
||||
#endif // NEO_HW_P9813
|
||||
#endif
|
||||
#ifdef USE_ARILUX_RF
|
||||
AGPIO(GPIO_ARIRFRCV), // AriLux RF Receive input
|
||||
|
@ -47,7 +47,11 @@ void (* const Ws2812Command[])(void) PROGMEM = {
|
||||
|
||||
#include <NeoPixelBus.h>
|
||||
|
||||
#if (USE_WS2812_CTYPE == NEO_GRB)
|
||||
#if (USE_WS2812_HARDWARE == NEO_HW_P9813)
|
||||
typedef P9813BgrFeature selectedNeoFeatureType;
|
||||
#undef USE_WS2812_DMA
|
||||
#undef USE_WS2812_INVERTED
|
||||
#elif (USE_WS2812_CTYPE == NEO_GRB)
|
||||
typedef NeoGrbFeature selectedNeoFeatureType;
|
||||
#elif (USE_WS2812_CTYPE == NEO_BRG)
|
||||
typedef NeoBrgFeature selectedNeoFeatureType;
|
||||
@ -105,7 +109,9 @@ void (* const Ws2812Command[])(void) PROGMEM = {
|
||||
|
||||
#else // No USE_WS2812_INVERTED
|
||||
|
||||
#if (USE_WS2812_HARDWARE == NEO_HW_WS2812X)
|
||||
#if (USE_WS2812_HARDWARE == NEO_HW_P9813)
|
||||
typedef P9813Method selectedNeoSpeedType;
|
||||
#elif (USE_WS2812_HARDWARE == NEO_HW_WS2812X)
|
||||
typedef NeoEsp8266BitBangWs2812xMethod selectedNeoSpeedType;
|
||||
#elif (USE_WS2812_HARDWARE == NEO_HW_SK6812)
|
||||
typedef NeoEsp8266BitBangSk6812Method selectedNeoSpeedType;
|
||||
@ -472,10 +478,14 @@ void Ws2812ShowScheme(void)
|
||||
|
||||
void Ws2812ModuleSelected(void)
|
||||
{
|
||||
#if (USE_WS2812_HARDWARE == NEO_HW_P9813)
|
||||
if (PinUsed(GPIO_P9813_CLK) && PinUsed(GPIO_P9813_DAT)) { // RGB led
|
||||
strip = new NeoPixelBus<selectedNeoFeatureType, selectedNeoSpeedType>(WS2812_MAX_LEDS, Pin(GPIO_P9813_CLK), Pin(GPIO_P9813_DAT));
|
||||
#else
|
||||
if (PinUsed(GPIO_WS2812)) { // RGB led
|
||||
|
||||
// For DMA, the Pin is ignored as it uses GPIO3 due to DMA hardware use.
|
||||
strip = new NeoPixelBus<selectedNeoFeatureType, selectedNeoSpeedType>(WS2812_MAX_LEDS, Pin(GPIO_WS2812));
|
||||
#endif // NEO_HW_P9813
|
||||
strip->Begin();
|
||||
|
||||
Ws2812Clear();
|
||||
|
Loading…
x
Reference in New Issue
Block a user