kopia lustrzana https://github.com/ogre/habdec
airspy USB bitpacking
rodzic
fd4caeb9a0
commit
c0fe342a40
|
@ -349,6 +349,20 @@ bool IQSource_SoapySDR::setOption(const std::string& option, const void* p_data)
|
|||
}
|
||||
return true;
|
||||
}
|
||||
else if(option == "usb_pack_double")
|
||||
{
|
||||
double value = *reinterpret_cast<double*>(p_data_nonconst);
|
||||
if(p_device_)
|
||||
{
|
||||
if(b_verbose)
|
||||
cout<<"Set "<<option<<" = "<<setprecision(12)<<value<<endl;
|
||||
if(value)
|
||||
p_device_->writeSetting("bitpack", "true");
|
||||
else
|
||||
p_device_->writeSetting("bitpack", "false");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
cout<<"IQSource_SoapySDR::setOption error. Unknown option: "<<option<<endl;
|
||||
|
@ -423,6 +437,19 @@ bool IQSource_SoapySDR::getOption(const std::string& option, void* p_data)
|
|||
}
|
||||
return false;
|
||||
}
|
||||
else if(option == "usb_pack_double")
|
||||
{
|
||||
if(p_device_)
|
||||
{
|
||||
double biastee_val =
|
||||
p_device_->readSetting("bitpack") == string("true");
|
||||
*reinterpret_cast<double*>(p_data) = biastee_val;
|
||||
if(b_verbose)
|
||||
cout<<"getOption "<<option<<" "<<biastee_val<<endl;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
cout<<"IQSource_SoapySDR::getOption error. Unknown option: "<<option<<endl;
|
||||
|
|
|
@ -85,6 +85,7 @@ public:
|
|||
bool live_print_ = true;
|
||||
bool afc_ = false;
|
||||
double ppm_ = 0;
|
||||
bool usb_pack_ = false; // airspy usb bitpack
|
||||
std::string sentence_cmd_ = "";
|
||||
std::string habitat_payload_ = "";
|
||||
|
||||
|
@ -110,6 +111,7 @@ public:
|
|||
oFile<<"rtty = "<<GLOBALS::get().rtty_ascii_bits_<<endl;
|
||||
oFile<<"rtty = "<<GLOBALS::get().rtty_ascii_stops_<<endl;
|
||||
oFile<<"afc = "<<GLOBALS::get().afc_<<endl;
|
||||
oFile<<"usb_pack = "<<GLOBALS::get().usb_pack_<<endl;
|
||||
oFile<<"sentence_cmd = "<<GLOBALS::get().sentence_cmd_<<endl;
|
||||
oFile<<"payload = "<<GLOBALS::get().habitat_payload_<<endl;
|
||||
}
|
||||
|
@ -140,6 +142,7 @@ public:
|
|||
cout<<"\trtty_ascii_bits: "<<GLOBALS::get().rtty_ascii_bits_<<endl;
|
||||
cout<<"\trtty_ascii_stops: "<<GLOBALS::get().rtty_ascii_stops_<<endl;
|
||||
cout<<"\tbiast: "<<GLOBALS::get().biast_<<endl;
|
||||
cout<<"\tusb_pack: "<<GLOBALS::get().usb_pack_<<endl;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -146,6 +146,8 @@ bool SetupDevice(SoapySDR::Kwargs& o_device)
|
|||
double biastee = GLOBALS::get().biast_;
|
||||
GLOBALS::get().p_iq_source_->setOption("biastee_double", &biastee);
|
||||
GLOBALS::get().p_iq_source_->setOption("sampling_rate_double", &GLOBALS::get().sampling_rate_);
|
||||
double usb_pack = GLOBALS::get().usb_pack_;
|
||||
GLOBALS::get().p_iq_source_->setOption("usb_pack_double", &usb_pack);
|
||||
|
||||
// this works only if device is running. not yet here
|
||||
// GLOBALS::get().p_iq_source_->setOption("ppm_double", &GLOBALS::get().ppm_);
|
||||
|
|
|
@ -93,6 +93,7 @@ void prog_opts(int ac, char* av[])
|
|||
("biast", po::value<bool>(), "biasT, values: 0, 1")
|
||||
("bias_t", po::value<bool>(), "biasT, values: 0, 1")
|
||||
("afc", po::value<bool>(), "Auto Frequency Correction, values: 0, 1")
|
||||
("usb_pack", po::value<bool>(), "AirSpy USB bit packing")
|
||||
|
||||
("sentence_cmd", po::value<string>(), "Call external command with sentence as parameter")
|
||||
|
||||
|
@ -204,6 +205,10 @@ void prog_opts(int ac, char* av[])
|
|||
{
|
||||
GLOBALS::get().afc_ = vm["afc"].as<bool>();
|
||||
}
|
||||
if (vm.count("usb_pack"))
|
||||
{
|
||||
GLOBALS::get().usb_pack_ = vm["usb_pack"].as<bool>();
|
||||
}
|
||||
if (vm.count("rtty"))
|
||||
{
|
||||
vector<float> rtty_tokens = vm["rtty"].as< vector<float> >();
|
||||
|
|
Ładowanie…
Reference in New Issue