diff --git a/doc/img/PlutoSDRMIMO_plugin.png b/doc/img/PlutoSDRMIMO_plugin.png
index d1b3176cd..9f6d82150 100644
Binary files a/doc/img/PlutoSDRMIMO_plugin.png and b/doc/img/PlutoSDRMIMO_plugin.png differ
diff --git a/doc/img/PlutoSDRMIMO_plugin.xcf b/doc/img/PlutoSDRMIMO_plugin.xcf
index 937bba52a..3ae57073c 100644
Binary files a/doc/img/PlutoSDRMIMO_plugin.xcf and b/doc/img/PlutoSDRMIMO_plugin.xcf differ
diff --git a/plugins/samplemimo/plutosdrmimo/plutosdrmimogui.cpp b/plugins/samplemimo/plutosdrmimo/plutosdrmimogui.cpp
index 8537333d4..95f750f94 100644
--- a/plugins/samplemimo/plutosdrmimo/plutosdrmimogui.cpp
+++ b/plugins/samplemimo/plutosdrmimo/plutosdrmimogui.cpp
@@ -758,6 +758,22 @@ void PlutoSDRMIMOGUI::on_lpFIRGain_currentIndexChanged(int index)
sendSettings();
}
+void PlutoSDRMIMOGUI::on_gainLock_toggled(bool checked)
+{
+ if (!m_gainLock && checked)
+ {
+ m_settings.m_rx1GainMode = m_settings.m_rx0GainMode;
+ m_settings.m_rx1Gain = m_settings.m_rx0Gain;
+ m_settings.m_tx1Att = m_settings.m_rx0Gain;
+ blockApplySettings(true);
+ displaySettings();
+ blockApplySettings(false);
+ sendSettings();
+ }
+
+ m_gainLock = checked;
+}
+
void PlutoSDRMIMOGUI::on_gainMode_currentIndexChanged(int index)
{
if (m_streamIndex == 0)
diff --git a/plugins/samplemimo/plutosdrmimo/plutosdrmimogui.ui b/plugins/samplemimo/plutosdrmimo/plutosdrmimogui.ui
index 2000eebfa..5434ff697 100644
--- a/plugins/samplemimo/plutosdrmimo/plutosdrmimogui.ui
+++ b/plugins/samplemimo/plutosdrmimo/plutosdrmimogui.ui
@@ -6,8 +6,8 @@
0
0
- 382
- 344
+ 344
+ 320
@@ -18,8 +18,8 @@
- 350
- 260
+ 344
+ 320
@@ -1006,6 +1006,25 @@
+ -
+
+
+
+ 24
+ 0
+
+
+
+ Board temperature (degrees C)
+
+
+ 00C
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
-
@@ -1016,6 +1035,24 @@
2
+
-
+
+
+ Lock both channels gain
+
+
+
+
+
+
+ :/unlocked.png
+ :/locked.png:/unlocked.png
+
+
+ true
+
+
+
-
@@ -1218,25 +1255,6 @@
- -
-
-
-
- 24
- 0
-
-
-
- Board temperature (degrees C)
-
-
- 00C
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
diff --git a/plugins/samplemimo/plutosdrmimo/readme.md b/plugins/samplemimo/plutosdrmimo/readme.md
index 4ed6862e9..e571f1151 100644
--- a/plugins/samplemimo/plutosdrmimo/readme.md
+++ b/plugins/samplemimo/plutosdrmimo/readme.md
@@ -197,7 +197,15 @@ The FIR filter block can provide a decimation or interpolation by 1 (no decimati
The FIR filter can introduce a gain that can be set to -12, -6, 0 or 6 dB. The FIR has a fixed gain of 6 dB so to maximize dynamic range one would set the gain at -6 dB so that the overall gain is set at 0 dB.
-
20: Rx gain mode
+20: Board temperature
+
+This is the board temperature in degrees Celsius updated every ~5s.
+
+21. Lock both streams gains
+
+When engaged this applies the same gain controls (22, 23, 25) to both streams (Rx or Tx)
+
+22: Rx gain mode
Use this combo to select between gain options:
@@ -208,22 +216,18 @@ Use this combo to select between gain options:
See AD9363 documentation for details on AGC options.
-21: Rx global manual gain
+23: Rx global manual gain
Use this button to adjust the global gain manually in manual gain mode. This button is disabled when AGC modes are selected with combo (15).
-22: Actual Rx gain fetched from device
+24: Actual Rx gain fetched from device
This is the actual gain in dB set in the device.
-23: Tx attenuation
+25: Tx attenuation
Use this button to adjust the attenuation. It can be varied from -89.75 to 0 dB in 0.25 dB steps.
-24: Indicative RSSI
+26: Indicative RSSI
This is the indicative RSSI of the receiver.
-
-25: Board temperature
-
-This is the board temperature in degrees Celsius updated every ~5s.