-
Notifications
You must be signed in to change notification settings - Fork 417
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SimplePTT: bugfix and enhancement #1983
Conversation
mxi-box
commented
Feb 12, 2024
- Fix misuse of device index
- Add "None" option to SimplePTT to disable partial Rx/Tx switching
- Support MIMO device
else if (deviceMIMOEngine) | ||
{ | ||
QString text = QString("M%1").arg(deviceIndex); | ||
ui->rxDevice->addItem(text, deviceIndex); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For MIMO devices you also have to specify a stream index as it handles several I/Q streams simultaneously
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For MIMO devices you also have to specify a stream index as it handles several I/Q streams simultaneously
In SimplePTT's case, it needs only a switch of Rx/Tx.
Seems that specifying stream indexes is unnecessary here, as the MIMO interface is defined without a stream-specified switch.
sdrangel/sdrbase/dsp/devicesamplemimo.h
Lines 60 to 63 in f35ea35
virtual bool startRx() = 0; | |
virtual void stopRx() = 0; | |
virtual bool startTx() = 0; | |
virtual void stopTx() = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have to check. It means all Rx or Tx streams start and stop at once or just the ones with index 0. If this is not a bug it is a limitation but maybe not to be addressed here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I see, the current startRx/startTx implementation is switching all streams at once. Maybe an extension is needed for multi-stream devices.
sdrangel/sdrbase/dsp/dspdevicemimoengine.cpp
Line 713 in f35ea35
if (!m_deviceSampleMIMO->startRx()) { // Start everything |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In fact this is normal as the different streams are supposed to run synchronously.