kopia lustrzana https://github.com/cariboulabs/cariboulite
Merge branch 'main' of https://github.com/cariboulabs/cariboulite
commit
b16d470fe4
|
@ -83,13 +83,14 @@ public:
|
|||
int &flags,
|
||||
long long &timeNs,
|
||||
const long timeoutUs = 100000);
|
||||
|
||||
|
||||
// writeStream signature is different from readStream!!
|
||||
int writeStream(SoapySDR::Stream *stream,
|
||||
void * const *buffs,
|
||||
const void * const *buffs, // const first!
|
||||
const size_t numElems,
|
||||
int &flags,
|
||||
long long &timeNs,
|
||||
const long timeoutUs);
|
||||
const long long timeNs = 0, // const first, don't pass as reference !
|
||||
const long timeoutUs = 100000); // default value ?
|
||||
|
||||
/*******************************************************************
|
||||
* Antenna API
|
||||
|
|
|
@ -7,7 +7,8 @@
|
|||
#define NUM_BYTES_PER_CPLX_ELEM ( sizeof(cariboulite_sample_complex_int16) )
|
||||
#define NUM_NATIVE_MTUS_PER_QUEUE ( 10 )
|
||||
|
||||
#define USE_ASYNC ( 1 )
|
||||
// Undefine to also use TX
|
||||
//#define USE_ASYNC ( 1 )
|
||||
#define USE_ASYNC_OVERRIDE_WRITES ( true )
|
||||
#define USE_ASYNC_BLOCK_READS ( true )
|
||||
|
||||
|
@ -260,8 +261,8 @@ int SoapySDR::Stream::Read(cariboulite_sample_complex_int16 *buffer, size_t num_
|
|||
{
|
||||
#if USE_ASYNC
|
||||
return rx_queue->get(buffer, num_samples, timeout_us);
|
||||
#else
|
||||
int ret = cariboulite_radio_read_samples(radio, buffer, (caribou_smi_sample_meta*)meta, num_samples);
|
||||
#else // caribou_smi_sample_meta not defined...
|
||||
int ret = cariboulite_radio_read_samples(radio, buffer, (cariboulite_sample_meta*)meta, num_samples);
|
||||
if (ret < 0)
|
||||
{
|
||||
if (ret == -1)
|
||||
|
|
|
@ -116,7 +116,24 @@ SoapySDR::Stream *Cariboulite::setupStream(const int direction,
|
|||
|
||||
stream->setInnerStreamType(direction == SOAPY_SDR_TX ? cariboulite_channel_dir_tx : cariboulite_channel_dir_rx);
|
||||
|
||||
// Default: CW Output -> OFF
|
||||
cariboulite_radio_set_cw_outputs(radio, false, false);
|
||||
|
||||
// Check if args has CW Output -> ON/OFF
|
||||
for(auto it = args.cbegin(); it != args.cend(); ++it)
|
||||
{
|
||||
if(!it->first.compare("CW") && !it->second.compare("1")) // "CW=1"
|
||||
{ // SET CW ON
|
||||
SoapySDR_logf(SOAPY_SDR_INFO, "CW Output: ON\n");
|
||||
cariboulite_radio_set_cw_outputs(radio, false, true);
|
||||
}
|
||||
else if(!it->first.compare("CW") && !it->second.compare("0")) // "CW=0"
|
||||
{ // SET CW OFF
|
||||
SoapySDR_logf(SOAPY_SDR_INFO, "CW Output: OFF\n");
|
||||
cariboulite_radio_set_cw_outputs(radio, false, false);
|
||||
}
|
||||
}
|
||||
|
||||
cariboulite_radio_activate_channel(radio, stream->getInnerStreamType(), false);
|
||||
return stream;
|
||||
}
|
||||
|
@ -258,10 +275,10 @@ int Cariboulite::readStream(
|
|||
*/
|
||||
int Cariboulite::writeStream(
|
||||
SoapySDR::Stream *stream,
|
||||
void * const *buffs,
|
||||
const void * const *buffs, // const void* !!
|
||||
const size_t numElems,
|
||||
int &flags,
|
||||
long long &timeNs,
|
||||
const long long timeNs, // const long long !!
|
||||
const long timeoutUs)
|
||||
{
|
||||
// Verify that it is an TX stream
|
||||
|
|
Ładowanie…
Reference in New Issue