From 3a4e3666c1aaa6bd849ca74b9d262378af80245a Mon Sep 17 00:00:00 2001
From: puddly <32534428+puddly@users.noreply.github.com>
Date: Fri, 8 Dec 2023 19:27:43 -0500
Subject: [PATCH] Disable fast channel switching
---
.../0003-disable-fast-channel-switching.patch | 39 +++++++++++++++++++
.../0003-disable-fast-channel-switching.patch | 39 +++++++++++++++++++
2 files changed, 78 insertions(+)
create mode 100644 RCPMultiPAN/SkyConnect/0003-disable-fast-channel-switching.patch
create mode 100644 RCPMultiPAN/Yellow/0003-disable-fast-channel-switching.patch
diff --git a/RCPMultiPAN/SkyConnect/0003-disable-fast-channel-switching.patch b/RCPMultiPAN/SkyConnect/0003-disable-fast-channel-switching.patch
new file mode 100644
index 00000000..2e9b01cf
--- /dev/null
+++ b/RCPMultiPAN/SkyConnect/0003-disable-fast-channel-switching.patch
@@ -0,0 +1,39 @@
+From e80278afbd3b594ad4dea0037c30b2bbdc3b9ff9 Mon Sep 17 00:00:00 2001
+From: puddly <32534428+puddly@users.noreply.github.com>
+Date: Fri, 8 Dec 2023 19:14:32 -0500
+Subject: [PATCH] Disable fast channel switching
+
+---
+ .../sl_rail_util_ieee802154_fast_channel_switching_config.h | 2 +-
+ protocol/openthread/platform-abstraction/efr32/radio.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/platform/radio/rail_lib/plugin/rail_util_ieee802154/config/sl_rail_util_ieee802154_fast_channel_switching_config.h b/platform/radio/rail_lib/plugin/rail_util_ieee802154/config/sl_rail_util_ieee802154_fast_channel_switching_config.h
+index a44700695..36373d7fc 100644
+--- a/platform/radio/rail_lib/plugin/rail_util_ieee802154/config/sl_rail_util_ieee802154_fast_channel_switching_config.h
++++ b/platform/radio/rail_lib/plugin/rail_util_ieee802154/config/sl_rail_util_ieee802154_fast_channel_switching_config.h
+@@ -43,7 +43,7 @@
+ // IEEE802.15.4 Fast Channel Switching Configuration
+ // Enable fast channel switching
+ // Default: 1
+-#define SL_RAIL_UTIL_IEEE802154_FAST_CHANNEL_SWITCHING_ENABLED 1
++#define SL_RAIL_UTIL_IEEE802154_FAST_CHANNEL_SWITCHING_ENABLED 0
+ //
+ // <<< end of configuration section >>>
+ #endif //SL_RAIL_UITL_IEEE802154_FAST_CHANNEL_SWITCHING_CONFIG_H
+diff --git a/protocol/openthread/platform-abstraction/efr32/radio.c b/protocol/openthread/platform-abstraction/efr32/radio.c
+index 04ecef2ae..a2b899d91 100644
+--- a/protocol/openthread/platform-abstraction/efr32/radio.c
++++ b/protocol/openthread/platform-abstraction/efr32/radio.c
+@@ -321,7 +321,7 @@ static bool isMultiChannel(void)
+ {
+ firstChannel = sChannelSwitchingCfg.channels[i];
+ }
+- else
++ else if (firstChannel != sChannelSwitchingCfg.channels[i])
+ {
+ return true;
+ }
+--
+2.43.0
+
diff --git a/RCPMultiPAN/Yellow/0003-disable-fast-channel-switching.patch b/RCPMultiPAN/Yellow/0003-disable-fast-channel-switching.patch
new file mode 100644
index 00000000..2e9b01cf
--- /dev/null
+++ b/RCPMultiPAN/Yellow/0003-disable-fast-channel-switching.patch
@@ -0,0 +1,39 @@
+From e80278afbd3b594ad4dea0037c30b2bbdc3b9ff9 Mon Sep 17 00:00:00 2001
+From: puddly <32534428+puddly@users.noreply.github.com>
+Date: Fri, 8 Dec 2023 19:14:32 -0500
+Subject: [PATCH] Disable fast channel switching
+
+---
+ .../sl_rail_util_ieee802154_fast_channel_switching_config.h | 2 +-
+ protocol/openthread/platform-abstraction/efr32/radio.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/platform/radio/rail_lib/plugin/rail_util_ieee802154/config/sl_rail_util_ieee802154_fast_channel_switching_config.h b/platform/radio/rail_lib/plugin/rail_util_ieee802154/config/sl_rail_util_ieee802154_fast_channel_switching_config.h
+index a44700695..36373d7fc 100644
+--- a/platform/radio/rail_lib/plugin/rail_util_ieee802154/config/sl_rail_util_ieee802154_fast_channel_switching_config.h
++++ b/platform/radio/rail_lib/plugin/rail_util_ieee802154/config/sl_rail_util_ieee802154_fast_channel_switching_config.h
+@@ -43,7 +43,7 @@
+ // IEEE802.15.4 Fast Channel Switching Configuration
+ // Enable fast channel switching
+ // Default: 1
+-#define SL_RAIL_UTIL_IEEE802154_FAST_CHANNEL_SWITCHING_ENABLED 1
++#define SL_RAIL_UTIL_IEEE802154_FAST_CHANNEL_SWITCHING_ENABLED 0
+ //
+ // <<< end of configuration section >>>
+ #endif //SL_RAIL_UITL_IEEE802154_FAST_CHANNEL_SWITCHING_CONFIG_H
+diff --git a/protocol/openthread/platform-abstraction/efr32/radio.c b/protocol/openthread/platform-abstraction/efr32/radio.c
+index 04ecef2ae..a2b899d91 100644
+--- a/protocol/openthread/platform-abstraction/efr32/radio.c
++++ b/protocol/openthread/platform-abstraction/efr32/radio.c
+@@ -321,7 +321,7 @@ static bool isMultiChannel(void)
+ {
+ firstChannel = sChannelSwitchingCfg.channels[i];
+ }
+- else
++ else if (firstChannel != sChannelSwitchingCfg.channels[i])
+ {
+ return true;
+ }
+--
+2.43.0
+