37 lines
1.2 KiB
C
37 lines
1.2 KiB
C
#pragma once
|
|
#include <stdint.h>
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
typedef struct rtlsdr_device rtlsdr_device;
|
|
typedef struct rtlsdr_device_info {
|
|
char name[64];
|
|
char tuner[32];
|
|
char serial[32];
|
|
uint64_t freq_min;
|
|
uint64_t freq_max;
|
|
uint32_t sample_rate_min;
|
|
uint32_t sample_rate_max;
|
|
uint32_t num_gains;
|
|
int32_t gains[32];
|
|
} rtlsdr_device_info;
|
|
int rtlsdr_count(void);
|
|
int rtlsdr_get_device_info(int index, rtlsdr_device_info* out);
|
|
int rtlsdr_open(rtlsdr_device** out, int index);
|
|
int rtlsdr_close(rtlsdr_device* dev);
|
|
int rtlsdr_set_center_freq(rtlsdr_device* dev, uint64_t hz);
|
|
uint64_t rtlsdr_get_center_freq(const rtlsdr_device* dev);
|
|
int rtlsdr_set_sample_rate(rtlsdr_device* dev, uint32_t hz);
|
|
uint32_t rtlsdr_get_sample_rate(const rtlsdr_device* dev);
|
|
int rtlsdr_set_tuner_gain_mode(rtlsdr_device* dev, int manual);
|
|
int rtlsdr_set_tuner_gain(rtlsdr_device* dev, int tenths_db);
|
|
int rtlsdr_set_freq_correction(rtlsdr_device* dev, int ppm);
|
|
int rtlsdr_set_agc_mode(rtlsdr_device* dev, int on);
|
|
int rtlsdr_set_direct_sampling(rtlsdr_device* dev, int mode);
|
|
int rtlsdr_start(rtlsdr_device* dev);
|
|
int rtlsdr_stop(rtlsdr_device* dev);
|
|
int rtlsdr_read(rtlsdr_device* dev, void* data, uint32_t length);
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|