Merge pull request #467 from dominicgs/windows_build_warnings
Remove Windows build warnings
This commit is contained in:
@ -35,7 +35,7 @@ typedef int bool;
|
|||||||
#define CLOCK_UNDEFINED 0xFF
|
#define CLOCK_UNDEFINED 0xFF
|
||||||
#define REGISTER_INVALID 32767
|
#define REGISTER_INVALID 32767
|
||||||
|
|
||||||
int parse_int(char* s, uint16_t* const value) {
|
int parse_int(char* s, uint8_t* const value) {
|
||||||
uint_fast8_t base = 10;
|
uint_fast8_t base = 10;
|
||||||
char* s_end;
|
char* s_end;
|
||||||
long long_value;
|
long long_value;
|
||||||
@ -55,7 +55,7 @@ int parse_int(char* s, uint16_t* const value) {
|
|||||||
s_end = s;
|
s_end = s;
|
||||||
long_value = strtol(s, &s_end, base);
|
long_value = strtol(s, &s_end, base);
|
||||||
if( (s != s_end) && (*s_end == 0) ) {
|
if( (s != s_end) && (*s_end == 0) ) {
|
||||||
*value = (uint16_t)long_value;
|
*value = (uint8_t)long_value;
|
||||||
return HACKRF_SUCCESS;
|
return HACKRF_SUCCESS;
|
||||||
} else {
|
} else {
|
||||||
return HACKRF_ERROR_INVALID_PARAM;
|
return HACKRF_ERROR_INVALID_PARAM;
|
||||||
@ -101,7 +101,7 @@ int si5351c_write_register(
|
|||||||
#define SI5351C_CLK_SRC_MULTISYNTH_0_4 2
|
#define SI5351C_CLK_SRC_MULTISYNTH_0_4 2
|
||||||
#define SI5351C_CLK_SRC_MULTISYNTH_SELF 3
|
#define SI5351C_CLK_SRC_MULTISYNTH_SELF 3
|
||||||
|
|
||||||
void print_clk_control(uint8_t clk_ctrl) {
|
void print_clk_control(uint16_t clk_ctrl) {
|
||||||
uint8_t clk_src, clk_pwr;
|
uint8_t clk_src, clk_pwr;
|
||||||
printf("\tclock control = ");
|
printf("\tclock control = ");
|
||||||
if(clk_ctrl & SI5351C_CLK_POWERDOWN)
|
if(clk_ctrl & SI5351C_CLK_POWERDOWN)
|
||||||
@ -249,9 +249,9 @@ int main(int argc, char** argv) {
|
|||||||
hackrf_device* device = NULL;
|
hackrf_device* device = NULL;
|
||||||
int opt, option_index = 0;
|
int opt, option_index = 0;
|
||||||
bool read = false;
|
bool read = false;
|
||||||
uint16_t clock = CLOCK_UNDEFINED;
|
uint8_t clock = CLOCK_UNDEFINED;
|
||||||
bool clkout = false;
|
bool clkout = false;
|
||||||
uint16_t clkout_enable;
|
uint8_t clkout_enable;
|
||||||
const char* serial_number = NULL;
|
const char* serial_number = NULL;
|
||||||
|
|
||||||
int result = hackrf_init();
|
int result = hackrf_init();
|
||||||
|
@ -157,7 +157,7 @@ int si5351c_write_register(
|
|||||||
#define SI5351C_CLK_SRC_MULTISYNTH_0_4 2
|
#define SI5351C_CLK_SRC_MULTISYNTH_0_4 2
|
||||||
#define SI5351C_CLK_SRC_MULTISYNTH_SELF 3
|
#define SI5351C_CLK_SRC_MULTISYNTH_SELF 3
|
||||||
|
|
||||||
void print_clk_control(uint8_t clk_ctrl) {
|
void print_clk_control(uint16_t clk_ctrl) {
|
||||||
uint8_t clk_src, clk_pwr;
|
uint8_t clk_src, clk_pwr;
|
||||||
printf("\tclock control = \n");
|
printf("\tclock control = \n");
|
||||||
if(clk_ctrl & SI5351C_CLK_POWERDOWN)
|
if(clk_ctrl & SI5351C_CLK_POWERDOWN)
|
||||||
|
@ -74,7 +74,7 @@ int parse_uint16(char* const s, uint16_t* const value) {
|
|||||||
|
|
||||||
int parse_u16_range(char* s, hackrf_oc_range* range) {
|
int parse_u16_range(char* s, hackrf_oc_range* range) {
|
||||||
int result = 0;
|
int result = 0;
|
||||||
uint16_t port = 0;
|
uint16_t tmp_port, port = 0;
|
||||||
|
|
||||||
char *sep = strchr(s, ':');
|
char *sep = strchr(s, ':');
|
||||||
if (!sep)
|
if (!sep)
|
||||||
@ -97,7 +97,7 @@ int parse_u16_range(char* s, hackrf_oc_range* range) {
|
|||||||
if(sep2[0] == 'A' || sep2[0] == 'B') {
|
if(sep2[0] == 'A' || sep2[0] == 'B') {
|
||||||
// The port was specified as a side and number eg. A1 or B3
|
// The port was specified as a side and number eg. A1 or B3
|
||||||
if(sep2[1] > 0x30 && sep2[1] < 0x35) {
|
if(sep2[1] > 0x30 && sep2[1] < 0x35) {
|
||||||
uint16_t tmp_port = sep2[1] - 0x30;
|
tmp_port = sep2[1] - 0x30;
|
||||||
if(tmp_port >= 5 || tmp_port <= 0)
|
if(tmp_port >= 5 || tmp_port <= 0)
|
||||||
return HACKRF_ERROR_INVALID_PARAM;
|
return HACKRF_ERROR_INVALID_PARAM;
|
||||||
|
|
||||||
@ -108,7 +108,7 @@ int parse_u16_range(char* s, hackrf_oc_range* range) {
|
|||||||
} else {
|
} else {
|
||||||
// If B was specfied just add 4-1 ports
|
// If B was specfied just add 4-1 ports
|
||||||
// B1=4, B2=5, B3=6, B4=7
|
// B1=4, B2=5, B3=6, B4=7
|
||||||
port = (uint16_t) tmp_port+3;
|
port = (uint16_t) tmp_port+3;
|
||||||
}
|
}
|
||||||
//printf("Setting port %c%c to port %d\n", sep2[0], sep2[1], (uint16_t)port);
|
//printf("Setting port %c%c to port %d\n", sep2[0], sep2[1], (uint16_t)port);
|
||||||
}
|
}
|
||||||
@ -117,7 +117,7 @@ int parse_u16_range(char* s, hackrf_oc_range* range) {
|
|||||||
if (result != HACKRF_SUCCESS)
|
if (result != HACKRF_SUCCESS)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
range->port = port;
|
range->port = port & 0xFF;
|
||||||
|
|
||||||
return HACKRF_SUCCESS;
|
return HACKRF_SUCCESS;
|
||||||
}
|
}
|
||||||
@ -248,9 +248,9 @@ int main(int argc, char** argv) {
|
|||||||
for(i=0; i<range_idx; i++) {
|
for(i=0; i<range_idx; i++) {
|
||||||
ptr = 5*i;
|
ptr = 5*i;
|
||||||
range_bytes[ptr] = ranges[i].freq_min >> 8;
|
range_bytes[ptr] = ranges[i].freq_min >> 8;
|
||||||
range_bytes[ptr+1] = ranges[i].freq_min;
|
range_bytes[ptr+1] = ranges[i].freq_min & 0xFF;
|
||||||
range_bytes[ptr+2] = ranges[i].freq_max >> 8;
|
range_bytes[ptr+2] = ranges[i].freq_max >> 8;
|
||||||
range_bytes[ptr+3] = ranges[i].freq_max;
|
range_bytes[ptr+3] = ranges[i].freq_max & 0xFF;
|
||||||
range_bytes[ptr+4] = ranges[i].port;
|
range_bytes[ptr+4] = ranges[i].port;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -198,7 +198,7 @@ float logPower(fftwf_complex in, float scale)
|
|||||||
float re = in[0] * scale;
|
float re = in[0] * scale;
|
||||||
float im = in[1] * scale;
|
float im = in[1] * scale;
|
||||||
float magsq = re * re + im * im;
|
float magsq = re * re + im * im;
|
||||||
return log2f(magsq) * 10.0f / log2(10.0f);
|
return (float) (log2(magsq) * 10.0f / log2(10.0f));
|
||||||
}
|
}
|
||||||
|
|
||||||
int rx_callback(hackrf_transfer* transfer) {
|
int rx_callback(hackrf_transfer* transfer) {
|
||||||
@ -296,7 +296,7 @@ int rx_callback(hackrf_transfer* transfer) {
|
|||||||
fwrite(&band_edge, sizeof(band_edge), 1, fd);
|
fwrite(&band_edge, sizeof(band_edge), 1, fd);
|
||||||
fwrite(&pwr[1+fftSize/8], sizeof(float), fftSize/4, fd);
|
fwrite(&pwr[1+fftSize/8], sizeof(float), fftSize/4, fd);
|
||||||
} else if(ifft_output) {
|
} else if(ifft_output) {
|
||||||
ifft_idx = round((frequency - (uint64_t)(FREQ_ONE_MHZ*frequencies[0]))
|
ifft_idx = (uint32_t) round((frequency - (uint64_t)(FREQ_ONE_MHZ*frequencies[0]))
|
||||||
/ fft_bin_width);
|
/ fft_bin_width);
|
||||||
ifft_idx = (ifft_idx + ifft_bins/2) % ifft_bins;
|
ifft_idx = (ifft_idx + ifft_bins/2) % ifft_bins;
|
||||||
for(i = 0; (fftSize / 4) > i; i++) {
|
for(i = 0; (fftSize / 4) > i; i++) {
|
||||||
@ -564,7 +564,7 @@ int main(int argc, char** argv) {
|
|||||||
pwr = (float*)fftwf_malloc(sizeof(float) * fftSize);
|
pwr = (float*)fftwf_malloc(sizeof(float) * fftSize);
|
||||||
window = (float*)fftwf_malloc(sizeof(float) * fftSize);
|
window = (float*)fftwf_malloc(sizeof(float) * fftSize);
|
||||||
for (i = 0; i < fftSize; i++) {
|
for (i = 0; i < fftSize; i++) {
|
||||||
window[i] = 0.5f * (1.0f - cos(2 * M_PI * i / (fftSize - 1)));
|
window[i] = (float) (0.5f * (1.0f - cos(2 * M_PI * i / (fftSize - 1))));
|
||||||
}
|
}
|
||||||
|
|
||||||
result = hackrf_init();
|
result = hackrf_init();
|
||||||
@ -640,7 +640,7 @@ int main(int argc, char** argv) {
|
|||||||
for(i = 0; i < num_ranges; i++) {
|
for(i = 0; i < num_ranges; i++) {
|
||||||
step_count = 1 + (frequencies[2*i+1] - frequencies[2*i] - 1)
|
step_count = 1 + (frequencies[2*i+1] - frequencies[2*i] - 1)
|
||||||
/ TUNE_STEP;
|
/ TUNE_STEP;
|
||||||
frequencies[2*i+1] = frequencies[2*i] + step_count * TUNE_STEP;
|
frequencies[2*i+1] = (uint16_t) (frequencies[2*i] + step_count * TUNE_STEP);
|
||||||
fprintf(stderr, "Sweeping from %u MHz to %u MHz\n",
|
fprintf(stderr, "Sweeping from %u MHz to %u MHz\n",
|
||||||
frequencies[2*i], frequencies[2*i+1]);
|
frequencies[2*i], frequencies[2*i+1]);
|
||||||
}
|
}
|
||||||
|
@ -254,6 +254,22 @@ int parse_u32(char* s, uint32_t* const value) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Parse frequencies as doubles to take advantage of notation parsing */
|
||||||
|
int parse_frequency_i64(char* optarg, char* endptr, int64_t* value) {
|
||||||
|
*value = (int64_t) strtod(optarg, &endptr);
|
||||||
|
if (optarg == endptr) {
|
||||||
|
return HACKRF_ERROR_INVALID_PARAM;
|
||||||
|
}
|
||||||
|
return HACKRF_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
int parse_frequency_u32(char* optarg, char* endptr, uint32_t* value) {
|
||||||
|
*value = (uint32_t) strtod(optarg, &endptr);
|
||||||
|
if (optarg == endptr) {
|
||||||
|
return HACKRF_ERROR_INVALID_PARAM;
|
||||||
|
}
|
||||||
|
return HACKRF_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
static char *stringrev(char *str)
|
static char *stringrev(char *str)
|
||||||
{
|
{
|
||||||
@ -537,8 +553,7 @@ int main(int argc, char** argv) {
|
|||||||
char date_time[DATE_TIME_MAX_LEN];
|
char date_time[DATE_TIME_MAX_LEN];
|
||||||
const char* path = NULL;
|
const char* path = NULL;
|
||||||
const char* serial_number = NULL;
|
const char* serial_number = NULL;
|
||||||
char* endptr;
|
char* endptr = NULL;
|
||||||
double f_hz;
|
|
||||||
int result;
|
int result;
|
||||||
time_t rawtime;
|
time_t rawtime;
|
||||||
struct tm * timeinfo;
|
struct tm * timeinfo;
|
||||||
@ -584,32 +599,17 @@ int main(int argc, char** argv) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'f':
|
case 'f':
|
||||||
f_hz = strtod(optarg, &endptr);
|
result = parse_frequency_i64(optarg, endptr, &freq_hz);
|
||||||
if (optarg == endptr) {
|
|
||||||
result = HACKRF_ERROR_INVALID_PARAM;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
freq_hz = f_hz;
|
|
||||||
automatic_tuning = true;
|
automatic_tuning = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'i':
|
case 'i':
|
||||||
f_hz = strtod(optarg, &endptr);
|
result = parse_frequency_i64(optarg, endptr, &if_freq_hz);
|
||||||
if (optarg == endptr) {
|
|
||||||
result = HACKRF_ERROR_INVALID_PARAM;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if_freq_hz = f_hz;
|
|
||||||
if_freq = true;
|
if_freq = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'o':
|
case 'o':
|
||||||
f_hz = strtod(optarg, &endptr);
|
result = parse_frequency_i64(optarg, endptr, &lo_freq_hz);
|
||||||
if (optarg == endptr) {
|
|
||||||
result = HACKRF_ERROR_INVALID_PARAM;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
lo_freq_hz = f_hz;
|
|
||||||
lo_freq = true;
|
lo_freq = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -641,12 +641,7 @@ int main(int argc, char** argv) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 's':
|
case 's':
|
||||||
f_hz = strtod(optarg, &endptr);
|
result = parse_frequency_u32(optarg, endptr, &sample_rate_hz);
|
||||||
if (optarg == endptr) {
|
|
||||||
result = HACKRF_ERROR_INVALID_PARAM;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
sample_rate_hz = f_hz;
|
|
||||||
sample_rate = true;
|
sample_rate = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -657,12 +652,7 @@ int main(int argc, char** argv) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'b':
|
case 'b':
|
||||||
f_hz = strtod(optarg, &endptr);
|
result = parse_frequency_u32(optarg, endptr, &baseband_filter_bw_hz);
|
||||||
if (optarg == endptr) {
|
|
||||||
result = HACKRF_ERROR_INVALID_PARAM;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
baseband_filter_bw_hz = f_hz;
|
|
||||||
baseband_filter_bw = true;
|
baseband_filter_bw = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -758,7 +748,7 @@ int main(int argc, char** argv) {
|
|||||||
freq_hz = if_freq_hz;
|
freq_hz = if_freq_hz;
|
||||||
break;
|
break;
|
||||||
case RF_PATH_FILTER_LOW_PASS:
|
case RF_PATH_FILTER_LOW_PASS:
|
||||||
freq_hz = labs(if_freq_hz - lo_freq_hz);
|
freq_hz = (int64_t) labs((long int) (if_freq_hz - lo_freq_hz));
|
||||||
break;
|
break;
|
||||||
case RF_PATH_FILTER_HIGH_PASS:
|
case RF_PATH_FILTER_HIGH_PASS:
|
||||||
freq_hz = if_freq_hz + lo_freq_hz;
|
freq_hz = if_freq_hz + lo_freq_hz;
|
||||||
|
@ -30,6 +30,7 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSI
|
|||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
/* Avoid redefinition of timespec from time.h (included by libusb.h) */
|
/* Avoid redefinition of timespec from time.h (included by libusb.h) */
|
||||||
#define HAVE_STRUCT_TIMESPEC 1
|
#define HAVE_STRUCT_TIMESPEC 1
|
||||||
|
#define strdup _strdup
|
||||||
#endif
|
#endif
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
|
|
||||||
@ -397,7 +398,7 @@ const char* ADDCALL hackrf_library_release()
|
|||||||
|
|
||||||
hackrf_device_list_t* ADDCALL hackrf_device_list()
|
hackrf_device_list_t* ADDCALL hackrf_device_list()
|
||||||
{
|
{
|
||||||
ssize_t i;
|
int i;
|
||||||
libusb_device_handle* usb_device = NULL;
|
libusb_device_handle* usb_device = NULL;
|
||||||
uint8_t serial_descriptor_index;
|
uint8_t serial_descriptor_index;
|
||||||
char serial_number[64];
|
char serial_number[64];
|
||||||
@ -407,7 +408,7 @@ hackrf_device_list_t* ADDCALL hackrf_device_list()
|
|||||||
if ( list == NULL )
|
if ( list == NULL )
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
list->usb_devicecount = libusb_get_device_list(g_libusb_context, (libusb_device ***)&list->usb_devices);
|
list->usb_devicecount = (int) libusb_get_device_list(g_libusb_context, (libusb_device ***)&list->usb_devices);
|
||||||
|
|
||||||
list->serial_numbers = calloc(list->usb_devicecount, sizeof(void *));
|
list->serial_numbers = calloc(list->usb_devicecount, sizeof(void *));
|
||||||
list->usb_board_ids = calloc(list->usb_devicecount, sizeof(enum hackrf_usb_board_id));
|
list->usb_board_ids = calloc(list->usb_devicecount, sizeof(enum hackrf_usb_board_id));
|
||||||
@ -474,7 +475,7 @@ libusb_device_handle* hackrf_open_usb(const char* const desired_serial_number)
|
|||||||
libusb_device_handle* usb_device = NULL;
|
libusb_device_handle* usb_device = NULL;
|
||||||
libusb_device** devices = NULL;
|
libusb_device** devices = NULL;
|
||||||
const ssize_t list_length = libusb_get_device_list(g_libusb_context, &devices);
|
const ssize_t list_length = libusb_get_device_list(g_libusb_context, &devices);
|
||||||
int match_len = 0;
|
ssize_t match_len = 0;
|
||||||
ssize_t i;
|
ssize_t i;
|
||||||
char serial_number[64];
|
char serial_number[64];
|
||||||
int serial_number_length;
|
int serial_number_length;
|
||||||
@ -1225,7 +1226,8 @@ typedef struct {
|
|||||||
* described below.
|
* described below.
|
||||||
*/
|
*/
|
||||||
int ADDCALL hackrf_set_sample_rate_manual(hackrf_device* device,
|
int ADDCALL hackrf_set_sample_rate_manual(hackrf_device* device,
|
||||||
const uint32_t freq_hz, uint32_t divider)
|
const uint32_t freq_hz,
|
||||||
|
const uint32_t divider)
|
||||||
{
|
{
|
||||||
set_fracrate_params_t set_fracrate_params;
|
set_fracrate_params_t set_fracrate_params;
|
||||||
uint8_t length;
|
uint8_t length;
|
||||||
|
Reference in New Issue
Block a user