aboutsummaryrefslogtreecommitdiffstats
path: root/lib/freesrp/freesrp_common.h
blob: 8d13c47cef9956a913c1d1dd68aec27c1c985abf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef INCLUDED_FREESRP_COMMON_H
#define INCLUDED_FREESRP_COMMON_H

#include <memory>
#include <vector>
#include <string>

#include "osmosdr/ranges.h"

#include <freesrp.hpp>

class freesrp_common
{
protected:
    freesrp_common(const std::string &args);
public:
    static std::vector<std::string> get_devices();

    size_t get_num_channels( void );
    osmosdr::meta_range_t get_sample_rates( void );
    osmosdr::freq_range_t get_freq_range( size_t chan = 0 );
    osmosdr::freq_range_t get_bandwidth_range( size_t chan = 0 );
    double set_freq_corr( double ppm, size_t chan = 0 );
    double get_freq_corr( size_t chan = 0 );
protected:
    static std::shared_ptr<::FreeSRP::FreeSRP> _srp;
    bool _ignore_overflow = false;
};

#endif