gr-baz Package
RTL2832_NAMESPACE::demod Class Reference

#include <rtl2832.h>

Inheritance diagram for RTL2832_NAMESPACE::demod:
RTL2832_NAMESPACE::i2c_interface RTL2832_NAMESPACE::named_interface

List of all members.

Classes

struct  params

Public Types

typedef struct
RTL2832_NAMESPACE::demod::params 
PARAMS
typedef struct
RTL2832_NAMESPACE::demod::params * 
PPARAMS

Public Member Functions

 demod ()
virtual ~demod ()
int initialise (PPARAMS params=NULL)
const char * name () const
void destroy ()
int reset ()
int set_sample_rate (uint32_t samp_rate, double *real_rate=NULL)
int set_if (double frequency)
int read_samples (unsigned char *buffer, uint32_t buffer_size, int *bytes_read, int timeout=-1)
int check_libusb_result (int res, bool zero_okay, const char *function_name=NULL, int line_number=-1, const char *line=NULL)
void log (const char *message,...)
int set_i2c_repeater (bool on=true, const char *function_name=NULL, int line_number=-1, const char *line=NULL)
int i2c_read (uint8_t i2c_addr, uint8_t *buffer, int len)
int i2c_write (uint8_t i2c_addr, uint8_t *buffer, int len)
int i2c_write_reg (uint8_t i2c_addr, uint8_t reg, uint8_t val)
int i2c_read_reg (uint8_t i2c_addr, uint8_t reg, uint8_t &data)
int set_gpio_output (uint8_t gpio)
int set_gpio_bit (uint8_t gpio, int val)
tuner * active_tuner () const
double sample_rate () const
uint32_t crystal_frequency () const
range_t sample_rate_range () const

Protected Types

enum  usb_reg {
  USB_SYSCTL = 0x2000, USB_CTRL = 0x2010, USB_STAT = 0x2014, USB_EPA_CFG = 0x2144,
  USB_EPA_CTL = 0x2148, USB_EPA_MAXPKT = 0x2158, USB_EPA_MAXPKT_2 = 0x215a, USB_EPA_FIFO_CFG = 0x2160
}
enum  sys_reg {
  DEMOD_CTL = 0x3000, GPO = 0x3001, GPI = 0x3002, GPOE = 0x3003,
  GPD = 0x3004, SYSINTE = 0x3005, SYSINTS = 0x3006, GP_CFG0 = 0x3007,
  GP_CFG1 = 0x3008, SYSINTE_1 = 0x3009, SYSINTS_1 = 0x300a, DEMOD_CTL_1 = 0x300b,
  IR_SUSPEND = 0x300c
}
enum  blocks {
  DEMODB = 0, USBB = 1, SYSB = 2, TUNB = 3,
  ROMB = 4, IRB = 5, IICB = 6
}

Protected Member Functions

int find_device ()
int init_demod ()
int demod_write_reg (uint8_t page, uint16_t addr, uint16_t val, uint8_t len)
int demod_read_reg (uint8_t page, uint8_t addr, uint8_t len, uint16_t &reg)
int write_reg (uint8_t block, uint16_t addr, uint16_t val, uint8_t len)
int read_reg (uint8_t block, uint16_t addr, uint8_t len, uint16_t &reg)
int write_array (uint8_t block, uint16_t addr, uint8_t *array, uint8_t len)
int read_array (uint8_t block, uint16_t addr, uint8_t *array, uint8_t len)

Protected Attributes

struct libusb_device_handle * m_devh
PDEVICE_INFO m_current_info
tuner * m_tuner
tuner * m_dummy_tuner
bool m_libusb_init_done
PARAMS m_params
range_t m_sample_rate_range
double m_sample_rate
uint32_t m_crystal_frequency
bool m_tuner_was_active

Member Typedef Documentation


Member Enumeration Documentation

Enumerator:
DEMODB 
USBB 
SYSB 
TUNB 
ROMB 
IRB 
IICB 
Enumerator:
DEMOD_CTL 
GPO 
GPI 
GPOE 
GPD 
SYSINTE 
SYSINTS 
GP_CFG0 
GP_CFG1 
SYSINTE_1 
SYSINTS_1 
DEMOD_CTL_1 
IR_SUSPEND 
Enumerator:
USB_SYSCTL 
USB_CTRL 
USB_STAT 
USB_EPA_CFG 
USB_EPA_CTL 
USB_EPA_MAXPKT 
USB_EPA_MAXPKT_2 
USB_EPA_FIFO_CFG 

Constructor & Destructor Documentation

virtual RTL2832_NAMESPACE::demod::~demod ( ) [virtual]

Member Function Documentation

int RTL2832_NAMESPACE::demod::check_libusb_result ( int  res,
bool  zero_okay,
const char *  function_name = NULL,
int  line_number = -1,
const char *  line = NULL 
)
uint32_t RTL2832_NAMESPACE::demod::crystal_frequency ( ) const [inline]
int RTL2832_NAMESPACE::demod::demod_read_reg ( uint8_t  page,
uint8_t  addr,
uint8_t  len,
uint16_t &  reg 
) [protected]
int RTL2832_NAMESPACE::demod::demod_write_reg ( uint8_t  page,
uint16_t  addr,
uint16_t  val,
uint8_t  len 
) [protected]
int RTL2832_NAMESPACE::demod::i2c_read ( uint8_t  i2c_addr,
uint8_t *  buffer,
int  len 
) [virtual]
int RTL2832_NAMESPACE::demod::i2c_read_reg ( uint8_t  i2c_addr,
uint8_t  reg,
uint8_t &  data 
) [virtual]
int RTL2832_NAMESPACE::demod::i2c_write ( uint8_t  i2c_addr,
uint8_t *  buffer,
int  len 
) [virtual]
int RTL2832_NAMESPACE::demod::i2c_write_reg ( uint8_t  i2c_addr,
uint8_t  reg,
uint8_t  val 
) [virtual]
void RTL2832_NAMESPACE::demod::log ( const char *  message,
  ... 
)
const char* RTL2832_NAMESPACE::demod::name ( ) const [virtual]
int RTL2832_NAMESPACE::demod::read_array ( uint8_t  block,
uint16_t  addr,
uint8_t *  array,
uint8_t  len 
) [protected]
int RTL2832_NAMESPACE::demod::read_reg ( uint8_t  block,
uint16_t  addr,
uint8_t  len,
uint16_t &  reg 
) [protected]
int RTL2832_NAMESPACE::demod::read_samples ( unsigned char *  buffer,
uint32_t  buffer_size,
int *  bytes_read,
int  timeout = -1 
)
double RTL2832_NAMESPACE::demod::sample_rate ( ) const [inline]
range_t RTL2832_NAMESPACE::demod::sample_rate_range ( ) const [inline]
int RTL2832_NAMESPACE::demod::set_gpio_bit ( uint8_t  gpio,
int  val 
)
int RTL2832_NAMESPACE::demod::set_i2c_repeater ( bool  on = true,
const char *  function_name = NULL,
int  line_number = -1,
const char *  line = NULL 
) [virtual]
int RTL2832_NAMESPACE::demod::set_if ( double  frequency)
int RTL2832_NAMESPACE::demod::set_sample_rate ( uint32_t  samp_rate,
double *  real_rate = NULL 
)
int RTL2832_NAMESPACE::demod::write_array ( uint8_t  block,
uint16_t  addr,
uint8_t *  array,
uint8_t  len 
) [protected]
int RTL2832_NAMESPACE::demod::write_reg ( uint8_t  block,
uint16_t  addr,
uint16_t  val,
uint8_t  len 
) [protected]

Member Data Documentation

struct libusb_device_handle* RTL2832_NAMESPACE::demod::m_devh [protected]

The documentation for this class was generated from the following file: