Add support for P9813 RGB Led MOSFET controller

Add support for P9813 RGB Led MOSFET controller (#10104)
This commit is contained in:
Theo Arends 2020-12-17 16:33:26 +01:00
parent 078a9a258a
commit 0a7d441e65
31 changed files with 74 additions and 6 deletions

View File

@ -6,6 +6,7 @@ All notable changes to this project will be documented in this file.
## [9.2.0.1] ## [9.2.0.1]
### Added ### Added
- Milliseconds to console output (#10152) - Milliseconds to console output (#10152)
- Support for P9813 RGB Led MOSFET controller (#10104)
## [Released] ## [Released]

View File

@ -59,6 +59,7 @@ The attached binaries can also be downloaded from http://ota.tasmota.com/tasmota
## Changelog v9.2.0.1 ## Changelog v9.2.0.1
### Added ### Added
- Milliseconds to console output (#10152) - Milliseconds to console output (#10152)
- Support for P9813 RGB Led MOSFET controller (#10104)
### Breaking Changed ### Breaking Changed

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -642,6 +642,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 - CLK" #define D_SENSOR_SM16716_CLK "SM16716 - CLK"
#define D_SENSOR_SM16716_DAT "SM16716 - DAT" #define D_SENSOR_SM16716_DAT "SM16716 - DAT"
#define D_SENSOR_SM16716_POWER "SM16716 - PWR" #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_DI "MY92x1 - DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 - DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 - DCKI"
#define D_SENSOR_ARIRFRCV "IR ALux - RCV" #define D_SENSOR_ARIRFRCV "IR ALux - RCV"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -646,6 +646,8 @@
#define D_SENSOR_SM16716_CLK "SM16716 CLK" #define D_SENSOR_SM16716_CLK "SM16716 CLK"
#define D_SENSOR_SM16716_DAT "SM16716 DAT" #define D_SENSOR_SM16716_DAT "SM16716 DAT"
#define D_SENSOR_SM16716_POWER "SM16716 PWR" #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_DI "MY92x1 DI"
#define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI" #define D_SENSOR_MY92X1_DCKI "MY92x1 DCKI"
#define D_SENSOR_ARIRFRCV "ALux IrRcv" #define D_SENSOR_ARIRFRCV "ALux IrRcv"

View File

@ -484,7 +484,7 @@
#define USE_WS2812 // WS2812 Led string using library NeoPixelBus (+5k code, +1k mem, 232 iram) - Disable by // #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_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_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_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_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) #define USE_SM16716 // Add support for SM16716 RGB LED controller (+0k7 code)

View File

@ -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_SK6812 2 // NeoPixelBus hardware SK6812
#define NEO_HW_LC8812 2 // NeoPixelBus hardware LC8812 #define NEO_HW_LC8812 2 // NeoPixelBus hardware LC8812
#define NEO_HW_APA106 3 // NeoPixelBus hardware APA106 #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_PUBSUBCLIENT 1 // Mqtt PubSubClient library
#define MQTT_TASMOTAMQTT 2 // Mqtt TasmotaMqtt library based on esp-mqtt-arduino - soon obsolete #define MQTT_TASMOTAMQTT 2 // Mqtt TasmotaMqtt library based on esp-mqtt-arduino - soon obsolete

View File

@ -61,7 +61,7 @@
#define USE_WS2812 // WS2812 Led string using library NeoPixelBus (+5k code, +1k mem, 232 iram) - Disable by // #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_DMA // DMA supports only GPIO03 (= Serial RXD) (+1k mem). When USE_WS2812_DMA is enabled expect Exceptions on Pow
#ifndef USE_WS2812_HARDWARE #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 #endif
#ifndef USE_WS2812_CTYPE #ifndef USE_WS2812_CTYPE
#define USE_WS2812_CTYPE NEO_GRB // Color type (NEO_RGB, NEO_GRB, NEO_BRG, NEO_RBG, NEO_RGBW, NEO_GRBW) #define USE_WS2812_CTYPE NEO_GRB // Color type (NEO_RGB, NEO_GRB, NEO_BRG, NEO_RBG, NEO_RGBW, NEO_GRBW)

View File

@ -129,6 +129,7 @@ enum UserSelectablePins {
GPIO_AS608_TX, GPIO_AS608_RX, // Serial interface AS608 / R503 GPIO_AS608_TX, GPIO_AS608_RX, // Serial interface AS608 / R503
GPIO_SHELLY_DIMMER_BOOT0, GPIO_SHELLY_DIMMER_RST_INV, GPIO_SHELLY_DIMMER_BOOT0, GPIO_SHELLY_DIMMER_RST_INV,
GPIO_RC522_RST, // RC522 reset GPIO_RC522_RST, // RC522 reset
GPIO_P9813_CLK, GPIO_P9813_DAT, // P9813 Clock and Data
GPIO_SENSOR_END }; GPIO_SENSOR_END };
enum ProgramSelectablePins { enum ProgramSelectablePins {
@ -237,7 +238,8 @@ const char kSensorNames[] PROGMEM =
D_SENSOR_WE517_TX "|" D_SENSOR_WE517_RX "|" D_SENSOR_WE517_TX "|" D_SENSOR_WE517_RX "|"
D_SENSOR_AS608_TX "|" D_SENSOR_AS608_RX "|" D_SENSOR_AS608_TX "|" D_SENSOR_AS608_RX "|"
D_SENSOR_SHELLY_DIMMER_BOOT0 "|" D_SENSOR_SHELLY_DIMMER_RST_INV "|" 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 = const char kSensorNamesFixed[] PROGMEM =
@ -337,7 +339,12 @@ const uint16_t kGpioNiceList[] PROGMEM = {
#ifdef USE_LIGHT #ifdef USE_LIGHT
#ifdef USE_WS2812 #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 AGPIO(GPIO_WS2812), // WS2812 Led string
#endif // NEO_HW_P9813
#endif #endif
#ifdef USE_ARILUX_RF #ifdef USE_ARILUX_RF
AGPIO(GPIO_ARIRFRCV), // AriLux RF Receive input AGPIO(GPIO_ARIRFRCV), // AriLux RF Receive input

View File

@ -47,7 +47,11 @@ void (* const Ws2812Command[])(void) PROGMEM = {
#include <NeoPixelBus.h> #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; typedef NeoGrbFeature selectedNeoFeatureType;
#elif (USE_WS2812_CTYPE == NEO_BRG) #elif (USE_WS2812_CTYPE == NEO_BRG)
typedef NeoBrgFeature selectedNeoFeatureType; typedef NeoBrgFeature selectedNeoFeatureType;
@ -105,7 +109,9 @@ void (* const Ws2812Command[])(void) PROGMEM = {
#else // No USE_WS2812_INVERTED #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; typedef NeoEsp8266BitBangWs2812xMethod selectedNeoSpeedType;
#elif (USE_WS2812_HARDWARE == NEO_HW_SK6812) #elif (USE_WS2812_HARDWARE == NEO_HW_SK6812)
typedef NeoEsp8266BitBangSk6812Method selectedNeoSpeedType; typedef NeoEsp8266BitBangSk6812Method selectedNeoSpeedType;
@ -472,10 +478,14 @@ void Ws2812ShowScheme(void)
void Ws2812ModuleSelected(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 if (PinUsed(GPIO_WS2812)) { // RGB led
// For DMA, the Pin is ignored as it uses GPIO3 due to DMA hardware use. // 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)); strip = new NeoPixelBus<selectedNeoFeatureType, selectedNeoSpeedType>(WS2812_MAX_LEDS, Pin(GPIO_WS2812));
#endif // NEO_HW_P9813
strip->Begin(); strip->Begin();
Ws2812Clear(); Ws2812Clear();