Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions conf/template/bblayers.conf.sample
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ BBLAYERS =+ " \
${@d.getVar('MANIFEST_PATH_RDK_CPC_HALIF_HEADERS') if d.getVar('MANIFEST_PATH_RDK_CPC_HALIF_HEADERS') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_RDK_CPC_HALIF_HEADERS') + '/conf/layer.conf') else ''} \
${@d.getVar('MANIFEST_PATH_RDK_TOOLS') if d.getVar('MANIFEST_PATH_RDK_TOOLS') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_RDK_TOOLS') + '/conf/layer.conf') else ''} \
${@d.getVar('MANIFEST_PATH_MIDDLEWARE_BRINGUP') if d.getVar('MANIFEST_PATH_MIDDLEWARE_BRINGUP') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_MIDDLEWARE_BRINGUP') + '/conf/layer.conf') else ''} \
${@d.getVar('MANIFEST_PATH_RDK_IMAGES') if d.getVar('MANIFEST_PATH_RDK_IMAGES') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_RDK_IMAGES') + '/conf/layer.conf') else ''} \
${@d.getVar('MANIFEST_PATH_CSPC_IMAGES') if d.getVar('MANIFEST_PATH_CSPC_IMAGES') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_CSPC_IMAGES') + '/conf/layer.conf') else ''} \
"

# Config layers: generic
Expand Down
40 changes: 0 additions & 40 deletions recipes-common/rbus/files/gtest_libraries_check.patch

This file was deleted.

14 changes: 6 additions & 8 deletions recipes-common/rbus/rbus.bb
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,12 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ed63516ecab9f06e324238dd2b259549"

SRC_URI = "git://github.com/rdkcentral/rbus.git;branch=release"
SRC_URI:append = " file://gtest_libraries_check.patch"

SRCREV = "ce10ff2246632f232aa91d6723cfae123972ebe1"
SRCREV = "b193ae44c976fe8dd31d48a91f45ac7791a292f0"
SRCREV_FORMAT = "base"

PV ?= "2.5.0"
PR ?= "r1"
PV ?= "2.6.0"
PR ?= "r0"

PACKAGE_ARCH = "${MIDDLEWARE_ARCH}"

Expand All @@ -31,10 +30,9 @@ EXTRA_OECMAKE += " -DCMAKE_BUILD_TYPE=Release "
EXTRA_OECMAKE += " -DMSG_ROUNDTRIP_TIME=ON -DENABLE_RDKLOGGER=ON"

#Gtest Specific Enablements
EXTRA_OECMAKE += " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', '-DENABLE_UNIT_TESTING=ON', '', d)}"
DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', ' gtest ', ' ', d)}"
DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'RBUS_ENABLE_TESTAPPS', ' benchmark ', ' ', d)}"
EXTRA_OECMAKE += " ${@bb.utils.contains('DISTRO_FEATURES', 'RBUS_ENABLE_TESTAPPS', '-DBUILD_RBUS_SAMPLE_APPS=ON -DBUILD_RBUS_TEST_APPS=ON -DBUILD_RBUS_BENCHMARK_TEST=ON', '-DBUILD_RBUS_SAMPLE_APPS=OFF -DBUILD_RBUS_TEST_APPS=OFF -DBUILD_RBUS_BENCHMARK_TEST=OFF', d)}"
EXTRA_OECMAKE += " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', '-DENABLE_UNIT_TESTING=ON -DBUILD_RBUS_BENCHMARK_TEST=ON', '', d)}"
EXTRA_OECMAKE += " ${@bb.utils.contains('DISTRO_FEATURES', 'RBUS_ENABLE_TESTAPPS', '-DBUILD_RBUS_SAMPLE_APPS=ON -DBUILD_RBUS_TEST_APPS=ON ', '-DBUILD_RBUS_SAMPLE_APPS=OFF -DBUILD_RBUS_TEST_APPS=OFF', d)}"
DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', ' gtest benchmark ', ' ', d)}"

#Dunfell Specific CFlags
CFLAGS:append = " -Wno-format-truncation "
Expand Down
1 change: 0 additions & 1 deletion recipes-common/rfc/rfc_git.bb
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ do_install:append () {
install -d ${D}${base_libdir}/rdk
install -d ${D}${sysconfdir}

install -m 0755 ${S}/rfcInit.sh ${D}${base_libdir}/rdk
install -m 0644 ${S}/rfc.properties ${D}${sysconfdir}/rfc.properties
}

Expand Down
4 changes: 4 additions & 0 deletions recipes-connectivity/bluetooth/bluetooth-mgr_git.bb
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,10 @@ CFLAGS:append =" ${@bb.utils.contains('RDEPENDS:${PN}', 'virtual/${MLPREFIX}medi
ENABLE_RDK_LOGGER = "--enable-rdk-logger=${@bb.utils.contains('RDEPENDS:${PN}', '${MLPREFIX}rdk-logger', 'yes', 'no', d)}"
EXTRA_OECONF += " ${ENABLE_RDK_LOGGER}"

# Autoconnect feature enabled
ENABLE_AUTO_CONNECT = "--enable-autoconnectfeature=${@bb.utils.contains('DISTRO_FEATURES', 'btr_enable_auto_connect','yes','no',d)}"
EXTRA_OECONF += " ${ENABLE_AUTO_CONNECT} "

EXTRA_OECONF:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-systemd-notify', '', d)}"
EXTRA_OECONF:append:client = " --enable-sys-diag"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://../LICENSE;md5=16cf2209d4e903e4d5dcd75089d7dfe2"

# keep PV/PR in sync with meta-middleware-generic-support/conf/include/generic-pkgrev.inc
PV ?= "1.1.27"
PV ?= "1.1.30"
PR ?= "r0"
PATCHTOOL = "git"

Expand All @@ -20,8 +20,8 @@ SRC_URI = "git://github.com/rdkcentral/rdkservices.git;protocol=git;branch=main
file://0008-Thunder-upgrade-quirks.patch;patchdir=../ \
"

# Tip of the main at Dec 18, 2024
SRCREV = "d6d87d24468970fe94d692a7b0efbb77e8fe1547"
# Tip of the main at June 27, 2025
SRCREV = "857eff8cdcf0a3506683043d0676d541e48dfaa3"

inherit cmake pkgconfig python3native

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
Date: Fri, Aug 30 20:30:21 2024 +0000
From: Manoj Bhatta <[email protected]>
Subject: [PATCH] Add support for Analog buton values
Source: COMCAST
Signed-off-by: Ganesh Sahu <[email protected]>

diff --git a/src/manettegamepad/manette_gamepad.cpp b/src/manettegamepad/manette_gamepad.cpp
index 71ee82a..c4f1a04 100644
--- a/src/manettegamepad/manette_gamepad.cpp
+++ b/src/manettegamepad/manette_gamepad.cpp
@@ -166,17 +166,29 @@ struct GamepadProvider
static void onButtonPressEvent(ManetteDevice* device, ManetteEvent* event, GamepadProvider* provider)
{
uint16_t button;
+ double value = 1.0;
if (!manette_event_get_button(event, &button))
return;
- provider->buttonPressedOrReleased(device, toStandardGamepadButton(button), true);
+ if (button == BTN_TL2 || button == BTN_TR2) {
+ manette_event_get_button_value(event, &value);
+ provider->analogButtonChanged(device, toStandardGamepadButton(button), value);
+ }
+ else
+ provider->buttonPressedOrReleased(device, toStandardGamepadButton(button), true);
}

static void onButtonReleaseEvent(ManetteDevice* device, ManetteEvent* event, GamepadProvider* provider)
{
uint16_t button;
+ double value = 0.0;
if (!manette_event_get_button(event, &button))
return;
- provider->buttonPressedOrReleased(device, toStandardGamepadButton(button), false);
+ if (button == BTN_TL2 || button == BTN_TR2) {
+ manette_event_get_button_value(event, &value);
+ provider->analogButtonChanged(device, toStandardGamepadButton(button), value);
+ }
+ else
+ provider->buttonPressedOrReleased(device, toStandardGamepadButton(button), false);
}

void listentoManetteDevice(ManetteDevice * device)
@@ -186,6 +198,16 @@ struct GamepadProvider
g_signal_connect(device, "absolute-axis-event", G_CALLBACK(onAbsoluteAxisEvent), this);
g_signal_connect(device, "hat-axis-event", G_CALLBACK(onHatAxisEvent), this);
}
+
+ void analogButtonChanged(ManetteDevice* device, enum wpe_gamepad_button button, double value)
+ {
+ if (button == WPE_GAMEPAD_BUTTON_COUNT)
+ return;
+ auto it = manetteDevices.find(device);
+ if (it != manetteDevices.end()) {
+ updateGamepadAnalogButton(it->second,button,value);
+ }
+ }

void buttonPressedOrReleased(ManetteDevice* device, enum wpe_gamepad_button button, bool pressed)
{
@@ -317,6 +339,7 @@ struct GamepadProvider
gamepadsInfo.erase(it);
wpe_gamepad_provider_dispatch_gamepad_disconnected(provider, gamepadId);
}
+ void updateGamepadAnalogButton(uint32_t gamepadId, enum wpe_gamepad_button button, double value);
void updateGamepadButton(uint32_t gamepadId, enum wpe_gamepad_button button, bool pressed);
void updateGamepadAxis(uint32_t gamepadId, enum wpe_gamepad_axis axis, double value);
};
@@ -354,6 +377,12 @@ struct GamepadProxy
return result ? result: "Unknown";
}

+ void dispatchAnalogButtonChanged(enum wpe_gamepad_button button, double value)
+ {
+ if (gamepad)
+ wpe_gamepad_dispatch_analog_button_changed(gamepad, button, value);
+ }
+
void dispatchButtonChanged(enum wpe_gamepad_button button, bool pressed)
{
if (gamepad)
@@ -378,6 +407,15 @@ GamepadProvider::~GamepadProvider()
kv.second->cleanUp();
}

+void GamepadProvider::updateGamepadAnalogButton( uint32_t gamepadId, enum wpe_gamepad_button button, double value )
+{
+ auto iter = gamepadProxies.find(gamepadId);
+ if (iter != gamepadProxies.end()) {
+ auto *proxy = iter->second;
+ proxy->dispatchAnalogButtonChanged(button,value);
+ }
+}
+
void GamepadProvider::updateGamepadButton( uint32_t gamepadId, enum wpe_gamepad_button button, bool pressed )
{
auto iter = gamepadProxies.find(gamepadId);
59 changes: 59 additions & 0 deletions recipes-extended/wpe-backend-rdk/wpe-backend-rdk_0.5.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
SUMMARY = "WPE WebKit RDK backend"
HOMEPAGE = "https://github.com/WebPlatformForEmbedded"
SECTION = "wpe"
LICENSE = "BSD-2-Clause & Apache-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=ab5b52d145a58f5fcc0e2a531e7a2370"

DEPENDS += "libwpe glib-2.0"

PV ?= "0.5.0"
PR ?= "r0"

PACKAGE_ARCH = "${MIDDLEWARE_ARCH}"
PATCHTOOL = "git"

# Revision date: March 15, 2024
SRCREV = "6f53fce68d8e6895fd25a2b18c781bfbccdcf3b0"
BASE_URI ?= "git://github.com/WebPlatformForEmbedded/WPEBackend-rdk.git;protocol=https;branch=master"
SRC_URI = "${BASE_URI}"

SRC_URI += "file://comcast-Naive-gamepad-support.patch"
SRC_URI += "file://0001-Fix-browser-crash-when-the-compositor-is-not-created.patch"
SRC_URI += "file://0001-Send-SIGHUP-if-compositor-is-terminated.patch"
SRC_URI += "file://comcast-manette-gamepad-support.patch"
SRC_URI += "file://comcast-manette-gamepad-analog-button.patch"

S = "${WORKDIR}/git"

inherit cmake pkgconfig

WPE_BACKEND ?= "essos headless"
RDEPENDS:${PN}-platform-plugin:append = " essos"

PACKAGECONFIG ?= "${WPE_BACKEND}"
PACKAGECONFIG:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'gamepad-using-libmanette', ' manettegamepad', ' gamepad', d)}"

PACKAGECONFIG[westeros] = "-DUSE_BACKEND_WESTEROS=ON -DUSE_KEY_INPUT_HANDLING_LINUX_INPUT=OFF,,wayland westeros libxkbcommon"
PACKAGECONFIG[essos] = "-DUSE_BACKEND_ESSOS=ON -DUSE_INPUT_LIBINPUT=OFF,-DUSE_BACKEND_ESSOS=OFF,essos libxkbcommon wayland"
PACKAGECONFIG[gamepad] = "-DUSE_GENERIC_GAMEPAD=ON,-DUSE_GENERIC_GAMEPAD=OFF,"
PACKAGECONFIG[headless] = "-DUSE_BACKEND_HEADLESS=ON -DUSE_INPUT_LIBINPUT=OFF,-DUSE_BACKEND_HEADLESS=OFF,"
PACKAGECONFIG[manettegamepad] = "-DUSE_LIBMANETTE_GAMEPAD=ON, -DUSE_LIBMANETTE_GAMEPAD=OFF, libmanette"


EXTRA_OECMAKE += " \
-DCMAKE_BUILD_TYPE=Release \
"

PROVIDES = "wpe-backend-rdk"
RPROVIDES:${PN} = "wpe-backend-rdk"

PACKAGES =+ "${PN}-platform-plugin"
FILES:${PN}-platform-plugin += "${libdir}/*.so ${bindir}/*"
INSANE_SKIP:${PN}-platform-plugin = "dev-so"

FILES_SOLIBSDEV = ""
SOLIBS = ".so"
INSANE_SKIP:${PN} += "dev-so"
FILES:${PN} += "${libdir}/*.so"
#We need the default package, even if empty for SDK
ALLOW_EMPTY:${PN}="1"