aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUtomnia <info@utomnia.com>2015-07-16 11:15:41 +0100
committerDimitri Stolnikov <horiz0n@gmx.net>2015-07-16 19:35:18 +0200
commitac1d8ec02def12a31168a1d06683c027cecdfe0e (patch)
tree6dcd0d222c5a3dbc4d4c887ebaff4d7b044e90a3
parent46e95395e09f952654da30bf575790ad1f7736e1 (diff)
bug fixes
-rw-r--r--lib/sdrplay/sdrplay_source_c.cc19
1 files changed, 15 insertions, 4 deletions
diff --git a/lib/sdrplay/sdrplay_source_c.cc b/lib/sdrplay/sdrplay_source_c.cc
index 654c0c8..81926a3 100644
--- a/lib/sdrplay/sdrplay_source_c.cc
+++ b/lib/sdrplay/sdrplay_source_c.cc
@@ -238,7 +238,7 @@ int sdrplay_source_c::work( int noutput_items,
{
for (int i = _buf_offset; i < _dev->samplesPerPacket; i++)
{
- *out++ = gr_complex( float(_bufi[i]) * (1.0f/4096.0f), float(_bufq[i]) * (1.0f/4096.0f) );
+ *out++ = gr_complex( float(_bufi[i]) * (1.0f/2048.0f), float(_bufq[i]) * (1.0f/2048.0f) );
}
cnt -= (_dev->samplesPerPacket - _buf_offset);
}
@@ -248,7 +248,7 @@ int sdrplay_source_c::work( int noutput_items,
mir_sdr_ReadPacket(_bufi.data(), _bufq.data(), &sampNum, &grChanged, &rfChanged, &fsChanged);
for (int i = 0; i < _dev->samplesPerPacket; i++)
{
- *out++ = gr_complex( float(_bufi[i]) * (1.0f/32768.0f), float(_bufq[i]) * (1.0f/32768.0f) );
+ *out++ = gr_complex( float(_bufi[i]) * (1.0f/2048.0f), float(_bufq[i]) * (1.0f/2048.0f) );
}
cnt -= _dev->samplesPerPacket;
}
@@ -259,7 +259,7 @@ int sdrplay_source_c::work( int noutput_items,
mir_sdr_ReadPacket(_bufi.data(), _bufq.data(), &sampNum, &grChanged, &rfChanged, &fsChanged);
for (int i = 0; i < cnt; i++)
{
- *out++ = gr_complex( float(_bufi[i]) * (1.0f/4096.0f), float(_bufq[i]) * (1.0f/4096.0f) );
+ *out++ = gr_complex( float(_bufi[i]) * (1.0f/2048.0f), float(_bufq[i]) * (1.0f/2048.0f) );
}
_buf_offset = cnt;
}
@@ -441,6 +441,7 @@ bool sdrplay_source_c::set_gain_mode( bool automatic, size_t chan )
if (automatic)
{
/* Start AGC */
+ std::cerr << "AGC not yet implemented" << std::endl;
}
std::cerr << "set_gain_mode end" << std::endl;
@@ -572,7 +573,17 @@ double sdrplay_source_c::set_bandwidth( double bandwidth, size_t chan )
double sdrplay_source_c::get_bandwidth( size_t chan )
{
- return (double)_dev->bwType * 1000.0;
+ double tmpbw=0.0f;
+ if (_dev->bwType == mir_sdr_BW_0_200) tmpbw = 200e3;
+ else if (_dev->bwType == mir_sdr_BW_0_300) tmpbw = 300e3;
+ else if (_dev->bwType == mir_sdr_BW_0_600) tmpbw = 600e3;
+ else if (_dev->bwType == mir_sdr_BW_1_536) tmpbw = 1536e3;
+ else if (_dev->bwType == mir_sdr_BW_5_000) tmpbw = 5000e3;
+ else if (_dev->bwType == mir_sdr_BW_6_000) tmpbw = 6000e3;
+ else if (_dev->bwType == mir_sdr_BW_7_000) tmpbw = 7000e3;
+ else tmpbw = 8000e3;
+
+ return (double)tmpbw;
}
osmosdr::freq_range_t sdrplay_source_c::get_bandwidth_range( size_t chan )