SatNOGS-COMMS  4.1.0
A COMMS subsystem for CubeSats
Loading...
Searching...
No Matches
satnogs::comms::lib::rf_frontend Class Referenceabstract

#include <rf_frontend.hpp>

Inheritance diagram for satnogs::comms::lib::rf_frontend:
satnogs::comms::lib::rf_frontend09 satnogs::comms::lib::rf_frontend24

Classes

class  params
 RF frontend initialization settings. More...
class  io_conf
class  rx_gain_params
 RX gain settings for the two different gain stages. Gain0 stage corresponds to the first stage (closest to the antenna), implemented by the AD8318. The second stage is implemented by the AT86RF215. More...

Public Types

enum class  dir : uint8_t { RX , TX , INVALID }
enum class  gain_mode : uint8_t { AUTO , MANUAL }
enum class  filter : uint8_t { WIDE , NARROW }

Public Member Functions

 rf_frontend (const params &init_params, io_conf &&io, power &pwr)
virtual void enable (bool set=true)=0
virtual bool enabled () const =0
virtual void set_filter (filter f)
virtual filter get_filter () const
virtual void set_direction (dir d, uint64_t lo_freq=0)=0
dir direction () const
void set_rx_gain (const rx_gain_params &gain)
 Sets the RX gain parameters.
bool frequency_valid (dir d, uint32_t freq) const
 Checks if a frequency is within the permissible range.

Protected Attributes

const params m_params
bsp::gpiom_filt_sel
bsp::dacm_dac
powerm_pwr
ad8318 m_agc
dir m_dir

Detailed Description

Definition at line 42 of file rf_frontend.hpp.

Member Enumeration Documentation

◆ dir

enum class satnogs::comms::lib::rf_frontend::dir : uint8_t
strong

Direction / interface

Enumerator
RX 

RX interface

TX 

TX interface

INVALID 

Definition at line 82 of file rf_frontend.hpp.

◆ filter

enum class satnogs::comms::lib::rf_frontend::filter : uint8_t
strong
Enumerator
WIDE 
NARROW 

Definition at line 98 of file rf_frontend.hpp.

◆ gain_mode

enum class satnogs::comms::lib::rf_frontend::gain_mode : uint8_t
strong

RX Gain mode

Enumerator
AUTO 

AGC enabled

MANUAL 

AGC bypassed

Definition at line 92 of file rf_frontend.hpp.

Constructor & Destructor Documentation

◆ rf_frontend()

satnogs::comms::lib::rf_frontend::rf_frontend ( const params & init_params,
io_conf && io,
power & pwr )

Definition at line 28 of file rf_frontend.cpp.

Member Function Documentation

◆ direction()

rf_frontend::dir satnogs::comms::lib::rf_frontend::direction ( ) const
Returns
rf_frontend::dir the direction that the RF-frontend currently operates

Definition at line 78 of file rf_frontend.cpp.

◆ enable()

virtual void satnogs::comms::lib::rf_frontend::enable ( bool set = true)
pure virtual

Enable/Disable the RF frontend and its associated components

Parameters
settrue to enable, false to disable

Implemented in satnogs::comms::lib::rf_frontend09, and satnogs::comms::lib::rf_frontend24.

◆ enabled()

virtual bool satnogs::comms::lib::rf_frontend::enabled ( ) const
pure virtual

◆ frequency_valid()

bool satnogs::comms::lib::rf_frontend::frequency_valid ( dir d,
uint32_t freq ) const

Checks if a frequency is within the permissible range.

Parameters
dthe direction (RX or TX)
freqthe desired frequency
Returns
true if the frequency is within the Permissible range, false otherwise

Definition at line 123 of file rf_frontend.cpp.

◆ get_filter()

rf_frontend::filter satnogs::comms::lib::rf_frontend::get_filter ( ) const
virtual
Returns
the selected RX hardware filter path

Definition at line 64 of file rf_frontend.cpp.

◆ set_direction()

virtual void satnogs::comms::lib::rf_frontend::set_direction ( dir d,
uint64_t lo_freq = 0 )
pure virtual

◆ set_filter()

void satnogs::comms::lib::rf_frontend::set_filter ( filter f)
virtual

Sets the RX hardware filter path

Parameters
fthe RF filter path (filter::NARROW or filter::WIDE)

Definition at line 45 of file rf_frontend.cpp.

◆ set_rx_gain()

void satnogs::comms::lib::rf_frontend::set_rx_gain ( const rx_gain_params & gain)

Sets the RX gain parameters.

Parameters
gainthe gain parameters. Only the first stage gain is used by the rf_frontend class

Definition at line 90 of file rf_frontend.cpp.

Member Data Documentation

◆ m_agc

ad8318 satnogs::comms::lib::rf_frontend::m_agc
protected

Definition at line 166 of file rf_frontend.hpp.

◆ m_dac

bsp::dac& satnogs::comms::lib::rf_frontend::m_dac
protected

Definition at line 164 of file rf_frontend.hpp.

◆ m_dir

dir satnogs::comms::lib::rf_frontend::m_dir
protected

Definition at line 167 of file rf_frontend.hpp.

◆ m_filt_sel

bsp::gpio& satnogs::comms::lib::rf_frontend::m_filt_sel
protected

Definition at line 163 of file rf_frontend.hpp.

◆ m_params

const params satnogs::comms::lib::rf_frontend::m_params
protected

Definition at line 162 of file rf_frontend.hpp.

◆ m_pwr

power& satnogs::comms::lib::rf_frontend::m_pwr
protected

Definition at line 165 of file rf_frontend.hpp.


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