hackrf: correct gcc6 warnings

This commit is contained in:
Dimitri Stolnikov 2017-02-27 23:01:51 +01:00
parent 6a0cac6609
commit 20a5fd1a68
2 changed files with 34 additions and 20 deletions

View File

@ -56,17 +56,18 @@ using namespace boost::assign;
#define BYTES_PER_SAMPLE 2 /* HackRF device consumes 8 bit unsigned IQ data */ #define BYTES_PER_SAMPLE 2 /* HackRF device consumes 8 bit unsigned IQ data */
#define HACKRF_FORMAT_ERROR(ret) \ #define HACKRF_FORMAT_ERROR(ret, msg) \
boost::str( boost::format("(%d) %s") \ boost::str( boost::format(msg " (%1%) %2%") \
% ret % hackrf_error_name((enum hackrf_error)ret) ) \ % ret % hackrf_error_name((enum hackrf_error)ret) )
#define HACKRF_THROW_ON_ERROR(ret, msg) \ #define HACKRF_THROW_ON_ERROR(ret, msg) \
if ( ret != HACKRF_SUCCESS ) \ if ( ret != HACKRF_SUCCESS ) \
throw std::runtime_error( boost::str( boost::format(msg " (%d) %s") \ { \
% ret % hackrf_error_name((enum hackrf_error)ret) ) ); throw std::runtime_error( HACKRF_FORMAT_ERROR(ret, msg) ); \
}
#define HACKRF_FUNC_STR(func, arg) \ #define HACKRF_FUNC_STR(func, arg) \
boost::str(boost::format(func "(%d)") % arg) + " has failed" boost::str(boost::format(func "(%1%)") % arg) + " has failed"
static inline bool cb_init(circular_buffer_t *cb, size_t capacity, size_t sz) static inline bool cb_init(circular_buffer_t *cb, size_t capacity, size_t sz)
{ {
@ -235,7 +236,7 @@ hackrf_sink_c::hackrf_sink_c (const std::string &args)
ret = hackrf_set_antenna_enable(_dev, static_cast<uint8_t>(bias)); ret = hackrf_set_antenna_enable(_dev, static_cast<uint8_t>(bias));
if ( ret != HACKRF_SUCCESS ) if ( ret != HACKRF_SUCCESS )
{ {
std::cerr << "Failed to apply antenna bias voltage state: " << bias << " " << HACKRF_FORMAT_ERROR(ret) << std::endl; std::cerr << "Failed to apply antenna bias voltage state: " << bias << HACKRF_FORMAT_ERROR(ret, "") << std::endl;
} }
else else
{ {
@ -261,9 +262,15 @@ hackrf_sink_c::~hackrf_sink_c ()
if (_dev) { if (_dev) {
// _thread.join(); // _thread.join();
int ret = hackrf_stop_tx( _dev ); int ret = hackrf_stop_tx( _dev );
HACKRF_THROW_ON_ERROR(ret, "Failed to stop TX streaming") if ( ret != HACKRF_SUCCESS )
{
std::cerr << HACKRF_FORMAT_ERROR(ret, "Failed to stop TX streaming") << std::endl;
}
ret = hackrf_close( _dev ); ret = hackrf_close( _dev );
HACKRF_THROW_ON_ERROR(ret, "Failed to close HackRF") if ( ret != HACKRF_SUCCESS )
{
std::cerr << HACKRF_FORMAT_ERROR(ret, "Failed to close HackRF") << std::endl;
}
_dev = NULL; _dev = NULL;
{ {

View File

@ -49,17 +49,18 @@ using namespace boost::assign;
#define BYTES_PER_SAMPLE 2 /* HackRF device produces 8 bit unsigned IQ data */ #define BYTES_PER_SAMPLE 2 /* HackRF device produces 8 bit unsigned IQ data */
#define HACKRF_FORMAT_ERROR(ret) \ #define HACKRF_FORMAT_ERROR(ret, msg) \
boost::str( boost::format("(%d) %s") \ boost::str( boost::format(msg " (%1%) %2%") \
% ret % hackrf_error_name((enum hackrf_error)ret) ) \ % ret % hackrf_error_name((enum hackrf_error)ret) )
#define HACKRF_THROW_ON_ERROR(ret, msg) \ #define HACKRF_THROW_ON_ERROR(ret, msg) \
if ( ret != HACKRF_SUCCESS ) \ if ( ret != HACKRF_SUCCESS ) \
throw std::runtime_error( boost::str( boost::format(msg " (%d) %s") \ { \
% ret % hackrf_error_name((enum hackrf_error)ret) ) ); throw std::runtime_error( HACKRF_FORMAT_ERROR(ret, msg) ); \
}
#define HACKRF_FUNC_STR(func, arg) \ #define HACKRF_FUNC_STR(func, arg) \
boost::str(boost::format(func "(%d)") % arg) + " has failed" boost::str(boost::format(func "(%1%)") % arg) + " has failed"
int hackrf_source_c::_usage = 0; int hackrf_source_c::_usage = 0;
boost::mutex hackrf_source_c::_usage_mutex; boost::mutex hackrf_source_c::_usage_mutex;
@ -214,7 +215,7 @@ hackrf_source_c::hackrf_source_c (const std::string &args)
ret = hackrf_set_antenna_enable(_dev, static_cast<uint8_t>(bias)); ret = hackrf_set_antenna_enable(_dev, static_cast<uint8_t>(bias));
if ( ret != HACKRF_SUCCESS ) if ( ret != HACKRF_SUCCESS )
{ {
std::cerr << "Failed to apply antenna bias voltage state: " << bias << " " << HACKRF_FORMAT_ERROR(ret) << std::endl; std::cerr << "Failed to apply antenna bias voltage state: " << bias << HACKRF_FORMAT_ERROR(ret, "") << std::endl;
} }
else else
{ {
@ -243,9 +244,15 @@ hackrf_source_c::~hackrf_source_c ()
if (_dev) { if (_dev) {
// _thread.join(); // _thread.join();
int ret = hackrf_stop_rx( _dev ); int ret = hackrf_stop_rx( _dev );
HACKRF_THROW_ON_ERROR(ret, "Failed to stop RX streaming") if ( ret != HACKRF_SUCCESS )
{
std::cerr << HACKRF_FORMAT_ERROR(ret, "Failed to stop RX streaming") << std::endl;
}
ret = hackrf_close( _dev ); ret = hackrf_close( _dev );
HACKRF_THROW_ON_ERROR(ret, "Failed to close HackRF") if ( ret != HACKRF_SUCCESS )
{
std::cerr << HACKRF_FORMAT_ERROR(ret, "Failed to close HackRF") << std::endl;
}
_dev = NULL; _dev = NULL;
{ {