mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-25 17:28:50 -05:00
BladeRF input: communicate Fc Pos change to buddy to align center frequencies
This commit is contained in:
parent
5c09985664
commit
2a1f0a0d0e
@ -35,31 +35,37 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
uint64_t getCenterFrequency() const { return m_centerFrequency; }
|
uint64_t getCenterFrequency() const { return m_centerFrequency; }
|
||||||
|
int getFcPos() const { return m_fcPos; }
|
||||||
int getDevSampleRate() const { return m_devSampleRate; }
|
int getDevSampleRate() const { return m_devSampleRate; }
|
||||||
bool getRxElseTx() const { return m_rxElseTx; }
|
bool getRxElseTx() const { return m_rxElseTx; }
|
||||||
|
|
||||||
static MsgReportBuddyChange* create(
|
static MsgReportBuddyChange* create(
|
||||||
uint64_t centerFrequency,
|
uint64_t centerFrequency,
|
||||||
|
int fcPos,
|
||||||
int devSampleRate,
|
int devSampleRate,
|
||||||
bool rxElseTx)
|
bool rxElseTx)
|
||||||
{
|
{
|
||||||
return new MsgReportBuddyChange(
|
return new MsgReportBuddyChange(
|
||||||
centerFrequency,
|
centerFrequency,
|
||||||
|
fcPos,
|
||||||
devSampleRate,
|
devSampleRate,
|
||||||
rxElseTx);
|
rxElseTx);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint64_t m_centerFrequency; //!< Center frequency
|
uint64_t m_centerFrequency; //!< Center frequency
|
||||||
|
int m_fcPos; //!< Center frequency position
|
||||||
int m_devSampleRate; //!< device/host sample rate
|
int m_devSampleRate; //!< device/host sample rate
|
||||||
bool m_rxElseTx; //!< tells which side initiated the message
|
bool m_rxElseTx; //!< tells which side initiated the message
|
||||||
|
|
||||||
MsgReportBuddyChange(
|
MsgReportBuddyChange(
|
||||||
uint64_t centerFrequency,
|
uint64_t centerFrequency,
|
||||||
|
int fcPos,
|
||||||
int devSampleRate,
|
int devSampleRate,
|
||||||
bool rxElseTx) :
|
bool rxElseTx) :
|
||||||
Message(),
|
Message(),
|
||||||
m_centerFrequency(centerFrequency),
|
m_centerFrequency(centerFrequency),
|
||||||
|
m_fcPos(fcPos),
|
||||||
m_devSampleRate(devSampleRate),
|
m_devSampleRate(devSampleRate),
|
||||||
m_rxElseTx(rxElseTx)
|
m_rxElseTx(rxElseTx)
|
||||||
{ }
|
{ }
|
||||||
|
@ -602,6 +602,13 @@ bool BladeRF2Input::handleMessage(const Message& message)
|
|||||||
{
|
{
|
||||||
settings.m_devSampleRate = report.getDevSampleRate();
|
settings.m_devSampleRate = report.getDevSampleRate();
|
||||||
settings.m_centerFrequency = report.getCenterFrequency();
|
settings.m_centerFrequency = report.getCenterFrequency();
|
||||||
|
settings.m_fcPos = (BladeRF2InputSettings::fcPos_t) report.getFcPos();
|
||||||
|
|
||||||
|
BladeRF2InputThread *inputThread = findThread();
|
||||||
|
|
||||||
|
if (inputThread) {
|
||||||
|
inputThread->setFcPos(requestedChannel, (int) settings.m_fcPos);
|
||||||
|
}
|
||||||
|
|
||||||
status = bladerf_get_bandwidth(dev, BLADERF_CHANNEL_RX(requestedChannel), &tmp_uint);
|
status = bladerf_get_bandwidth(dev, BLADERF_CHANNEL_RX(requestedChannel), &tmp_uint);
|
||||||
|
|
||||||
@ -878,6 +885,7 @@ bool BladeRF2Input::applySettings(const BladeRF2InputSettings& settings, bool fo
|
|||||||
{
|
{
|
||||||
DeviceBladeRF2Shared::MsgReportBuddyChange *report = DeviceBladeRF2Shared::MsgReportBuddyChange::create(
|
DeviceBladeRF2Shared::MsgReportBuddyChange *report = DeviceBladeRF2Shared::MsgReportBuddyChange::create(
|
||||||
settings.m_centerFrequency,
|
settings.m_centerFrequency,
|
||||||
|
(int) settings.m_fcPos,
|
||||||
settings.m_devSampleRate,
|
settings.m_devSampleRate,
|
||||||
true);
|
true);
|
||||||
(*itSource)->getSampleSourceInputMessageQueue()->push(report);
|
(*itSource)->getSampleSourceInputMessageQueue()->push(report);
|
||||||
@ -894,6 +902,7 @@ bool BladeRF2Input::applySettings(const BladeRF2InputSettings& settings, bool fo
|
|||||||
{
|
{
|
||||||
DeviceBladeRF2Shared::MsgReportBuddyChange *report = DeviceBladeRF2Shared::MsgReportBuddyChange::create(
|
DeviceBladeRF2Shared::MsgReportBuddyChange *report = DeviceBladeRF2Shared::MsgReportBuddyChange::create(
|
||||||
settings.m_centerFrequency,
|
settings.m_centerFrequency,
|
||||||
|
(int) settings.m_fcPos,
|
||||||
settings.m_devSampleRate,
|
settings.m_devSampleRate,
|
||||||
true);
|
true);
|
||||||
(*itSink)->getSampleSinkInputMessageQueue()->push(report);
|
(*itSink)->getSampleSinkInputMessageQueue()->push(report);
|
||||||
|
Loading…
Reference in New Issue
Block a user