diff --git a/.gitmodules b/.gitmodules index 764640ce..a9b2e1ba 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,4 +4,4 @@ [submodule "dependencies/external/rpi_ws281x"] path = dependencies/external/rpi_ws281x url = https://github.com/hyperion-project/rpi_ws281x.git - branch = sk6812 + branch = master diff --git a/assets/webconfig/i18n/de.json b/assets/webconfig/i18n/de.json index 70d40c46..3f5efefd 100644 --- a/assets/webconfig/i18n/de.json +++ b/assets/webconfig/i18n/de.json @@ -385,6 +385,7 @@ "edt_dev_spec_useRgbwProtocol_title" : "Nutze RGBW Protokoll", "edt_dev_spec_maximumLedCount_title" : "Maximale Anzahl LEDs", "edt_dev_spec_gpioNumber_title" : "GPIO Nummer", + "edt_dev_spec_dmaNumber_title" : "DMA Kanal", "edt_dev_spec_gpioMap_title" : "GPIO Zuweisung", "edt_dev_spec_PBFiFo_title" : "Pi-Blaster FiFo", "edt_dev_spec_gpioBcm_title" : "GPIO Pin", diff --git a/assets/webconfig/i18n/en.json b/assets/webconfig/i18n/en.json index 4f8eb2be..08e68713 100644 --- a/assets/webconfig/i18n/en.json +++ b/assets/webconfig/i18n/en.json @@ -387,6 +387,7 @@ "edt_dev_spec_useRgbwProtocol_title" : "Use RGBW protocol", "edt_dev_spec_maximumLedCount_title" : "Maximum LED count", "edt_dev_spec_gpioNumber_title" : "GPIO number", + "edt_dev_spec_dmaNumber_title" : "DMA channel", "edt_dev_spec_gpioMap_title" : "GPIO mapping", "edt_dev_spec_PBFiFo_title" : "Pi-Blaster FiFo", "edt_dev_spec_gpioBcm_title" : "GPIO Pin", diff --git a/assets/webconfig/i18n/es.json b/assets/webconfig/i18n/es.json index 65042ba8..33254176 100644 --- a/assets/webconfig/i18n/es.json +++ b/assets/webconfig/i18n/es.json @@ -342,6 +342,7 @@ "edt_dev_spec_useRgbwProtocol_title": "Utilizar el protocolo RGBW", "edt_dev_spec_maximumLedCount_title": "Número máximo de LEDs", "edt_dev_spec_gpioNumber_title": "Número GPIO", + "edt_dev_spec_dmaNumber_title" : "Canal DMA", "edt_dev_spec_gpioMap_title": "Mapeo GPIO", "edt_dev_spec_PBFiFo_title": "Pi-Blaster FiFo", "edt_dev_spec_gpioBcm_title": "Pin GPIO", diff --git a/dependencies/CMakeLists.txt b/dependencies/CMakeLists.txt index cfaaefc4..e0443059 100644 --- a/dependencies/CMakeLists.txt +++ b/dependencies/CMakeLists.txt @@ -5,6 +5,7 @@ if(ENABLE_WS281XPWM) add_library(ws281x external/rpi_ws281x/mailbox.c external/rpi_ws281x/ws2811.c external/rpi_ws281x/pwm.c external/rpi_ws281x/dma.c + external/rpi_ws281x/pcm.c external/rpi_ws281x/rpihw.c) endif() diff --git a/dependencies/external/rpi_ws281x b/dependencies/external/rpi_ws281x index 4f5d7272..f5807772 160000 --- a/dependencies/external/rpi_ws281x +++ b/dependencies/external/rpi_ws281x @@ -1 +1 @@ -Subproject commit 4f5d727222ef4e48608d43c51b3b932c0840813d +Subproject commit f580777219062568d2e43e998ecb0950deff9e99 diff --git a/libsrc/leddevice/LedDeviceWS281x.cpp b/libsrc/leddevice/LedDeviceWS281x.cpp index 47d80465..4ba31511 100644 --- a/libsrc/leddevice/LedDeviceWS281x.cpp +++ b/libsrc/leddevice/LedDeviceWS281x.cpp @@ -36,7 +36,7 @@ bool LedDeviceWS281x::init(const QJsonObject &deviceConfig) } _led_string.freq = deviceConfig["freq"].toInt(800000ul); - _led_string.dmanum = deviceConfig["dmanum"].toInt(5); + _led_string.dmanum = deviceConfig["dma"].toInt(5); _led_string.channel[_channel].gpionum = deviceConfig["gpio"].toInt(18); _led_string.channel[_channel].count = deviceConfig["leds"].toInt(256); _led_string.channel[_channel].invert = deviceConfig["invert"].toInt(0); diff --git a/libsrc/leddevice/schemas/schema-ws281x.json b/libsrc/leddevice/schemas/schema-ws281x.json index 64fd55d3..bbf9206b 100644 --- a/libsrc/leddevice/schemas/schema-ws281x.json +++ b/libsrc/leddevice/schemas/schema-ws281x.json @@ -14,17 +14,23 @@ "default": 18, "propertyOrder" : 2 }, + "dma": { + "type": "integer", + "title":"edt_dev_spec_dmaNumber_title", + "default": 5, + "propertyOrder" : 3 + }, "invert": { "type": "boolean", "title":"edt_dev_spec_invert_title", "default": false, - "propertyOrder" : 3 + "propertyOrder" : 4 }, "rgbw": { "type": "boolean", "title":"edt_dev_spec_useRgbwProtocol_title", "default": false, - "propertyOrder" : 3 + "propertyOrder" : 5 }, "whiteAlgorithm": { "type": "string", @@ -34,7 +40,7 @@ "options" : { "enum_titles" : ["edt_dev_enum_subtract_minimum", "edt_dev_enum_sub_min_warm_adjust", "edt_dev_enum_white_off"] }, - "propertyOrder" : 4 + "propertyOrder" : 6 }, "latchTime": { "type": "integer", @@ -44,7 +50,7 @@ "minimum": 1, "maximum": 1000, "access" : "expert", - "propertyOrder" : 5 + "propertyOrder" : 7 } }, "additionalProperties": true