gr::limesdr::sink Class Referenceabstract

`#include <sink.h>`

Inheritance diagram for gr::limesdr::sink:

## Public Types

typedef std::shared_ptr< sink > | sptr

## Public Member Functions

virtual double | set_center_freq (double freq, size_t chan=0)=0
virtual void | set_antenna (int antenna, int channel=0)=0
virtual void | set_nco (float nco_freq, int channel)=0
virtual double | set_bandwidth (double analog_bandw, int channel=0)=0
virtual void | set_digital_filter (double digital_bandw, int channel)=0
virtual unsigned | set_gain (unsigned gain_dB, int channel=0)=0
virtual double | set_sample_rate (double rate)=0
virtual void | set_oversampling (int oversample)=0
virtual void | calibrate (double bandw, int channel=0)=0
virtual void | set_buffer_size (uint32_t size)=0
virtual void | set_tcxo_dac (uint16_t dacVal=125)=0
virtual void | write_lms_reg (uint32_t address, uint16_t val)=0
virtual void | set_gpio_dir (uint8_t dir)=0
virtual void | write_gpio (uint8_t out)=0
virtual uint8_t | read_gpio ()=0

## Static Public Member Functions

static sptr | make (std::string serial, int channel_mode, const std::string &filename, const std::string &length_tag_name)
| Return a shared_ptr to a new instance of sink.

## Member Typedef Documentation

## sptr

typedef std::shared_ptr<sink> gr::limesdr::sink::sptr

## Member Function Documentation

## calibrate()

virtual void gr::limesdr::sink::calibrate | ( | double | bandw,
|  | int | channel = `0`
| ) |  |

pure virtual

Perform device calibration.

Parameters

  bandw | Set calibration bandwidth in Hz.
  channel | Channel selection: A(LMS_CH_0),B(LMS_CH_1).

Implemented in gr::limesdr::sink_impl.

## make()

static sptr gr::limesdr::sink::make | ( | std::string | serial,
|  | int | channel_mode,
|  | const std::string & | filename,
|  | const std::string & | length_tag_name
| ) |  |

static

Return a shared_ptr to a new instance of sink.

To avoid accidental use of raw pointers, sink's constructor is private. limesdr::sink::make is the public interface for creating new instances.

Parameters

  serial | Device serial number. Cannot be left blank.
  channel_mode | Channel and mode selection A(1), B(2), (A+B)MIMO(3).
  filename | Path to file if file switch is turned on.
  length_tag_name | Name of stream burst length tag

Returns
  a new limesdr sink block object

## read_gpio()

virtual uint8_t gr::limesdr::sink::read_gpio | ( |  | ) |

pure virtual

Read GPIO inputs

Read GPIO inputs by calling LMS_GPIORead()

Returns
  input level bitmap (eight bits, one for each pin)

Implemented in gr::limesdr::sink_impl.

## set_antenna()

virtual void gr::limesdr::sink::set_antenna | ( | int | antenna,
|  | int | channel = `0`
| ) |  |

pure virtual

Set which antenna is used

Note
  setting antenna to BAND1 or BAND2 will enable PA path and because of that Lime boards will transmit CW signal, even when stream is stopped.

Parameters

  antenna | Antenna to set: None(0), BAND1(1), BAND(2), NONE(3), AUTO(255)
  channel | Channel selection: A(LMS_CH_0),B(LMS_CH_1).

Implemented in gr::limesdr::sink_impl.

## set_bandwidth()

virtual double gr::limesdr::sink::set_bandwidth | ( | double | analog_bandw,
|  | int | channel = `0`
| ) |  |

pure virtual

Set analog filters.

Parameters

  analog_bandw | Channel filter bandwidth in Hz.
  channel | Channel selection: A(LMS_CH_0),B(LMS_CH_1).

Returns
  actual filter bandwidth in Hz

Implemented in gr::limesdr::sink_impl.

## set_buffer_size()

virtual void gr::limesdr::sink::set_buffer_size | ( | uint32_t | size | ) |

pure virtual

Set stream buffer size

Parameters

  size | FIFO buffer size in samples

Implemented in gr::limesdr::sink_impl.

## set_center_freq()

virtual double gr::limesdr::sink::set_center_freq | ( | double | freq,
|  | size_t | chan = `0`
| ) |  |

pure virtual

Set center frequency

Parameters

  freq | Frequency to set in Hz
  chan | Channel (not used)

Returns
  actual center frequency

Implemented in gr::limesdr::sink_impl.

## set_digital_filter()

virtual void gr::limesdr::sink::set_digital_filter | ( | double | digital_bandw,
|  | int | channel
| ) |  |

pure virtual

Set digital filters (GFIR).

Parameters

  digital_bandw | Channel filter bandwidth in Hz.
  channel | Channel selection: A(LMS_CH_0),B(LMS_CH_1).

Implemented in gr::limesdr::sink_impl.

## set_gain()

virtual unsigned gr::limesdr::sink::set_gain | ( | unsigned | gain_dB,
|  | int | channel = `0`
| ) |  |

pure virtual

Set the combined gain value in dB

Note
  actual gain depends on LO frequency and analog LPF configuration and resulting output signal level may be different when those values are changed

Parameters

  gain_dB | Desired gain: [0,73] dB
  channel | Channel selection: A(LMS_CH_0),B(LMS_CH_1).

Returns
  actual gain in dB

Implemented in gr::limesdr::sink_impl.

## set_gpio_dir()

virtual void gr::limesdr::sink::set_gpio_dir | ( | uint8_t | dir | ) |

pure virtual

Set GPIO direction

Set GPIO direction by calling LMS_GPIODirWrite()

Parameters

  dir | Direction bitmap (eight bits, one for each pin, 1 = output, 0 = input)

Implemented in gr::limesdr::sink_impl.

## set_nco()

virtual void gr::limesdr::sink::set_nco | ( | float | nco_freq,
|  | int | channel
| ) |  |

pure virtual

Set NCO (numerically controlled oscillator). By selecting NCO frequency configure NCO. When NCO frequency is 0, NCO is off.

Parameters

  nco_freq | NCO frequency in Hz.
  channel | Channel index.

Implemented in gr::limesdr::sink_impl.

## set_oversampling()

virtual void gr::limesdr::sink::set_oversampling | ( | int | oversample | ) |

pure virtual

Set oversampling for both channels.

Parameters

  oversample | Oversampling value (0 (default),1,2,4,8,16,32).

Implemented in gr::limesdr::sink_impl.

## set_sample_rate()

virtual double gr::limesdr::sink::set_sample_rate | ( | double | rate | ) |

pure virtual

Set the same sample rate for both channels.

Parameters

  rate | Sample rate in S/s.

Returns
  actual sample rate in S/s

Implemented in gr::limesdr::sink_impl.

## set_tcxo_dac()

virtual void gr::limesdr::sink::set_tcxo_dac | ( | uint16_t | dacVal = `125` | ) |

pure virtual

Set TCXO DAC.

Note
  Care must be taken as this parameter is returned to default value only after power off.
  LimeSDR-Mini default value is 180 range is [0,255] LimeSDR-USB default value is 125 range is [0,255] LimeSDR-PCIe default value is 134 range is [0,255] LimeNET-Micro default value is 30714 range is [0,65535]

Parameters

  dacVal | DAC value (0-65535)

Implemented in gr::limesdr::sink_impl.

## write_gpio()

virtual void gr::limesdr::sink::write_gpio | ( | uint8_t | out | ) |

pure virtual

Write GPIO outputs

Write GPIO outputs by calling LMS_GPIOWrite()

Parameters

  out | Level bitmap (eight bits, one for each pin)

Implemented in gr::limesdr::sink_impl.

## write_lms_reg()

virtual void gr::limesdr::sink::write_lms_reg | ( | uint32_t | address,
|  | uint16_t | val
| ) |  |

pure virtual

Write LMS register

Writes a parameter by calling LMS_WriteLMSReg()

Parameters

  address | Address
  val | Value

Implemented in gr::limesdr::sink_impl.

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

- sink.h