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

RF-frontend for the UHF interface. More...

#include <rf_frontend09.hpp>

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

Public Member Functions

 rf_frontend09 (const params &init_params, io_conf &io, power &pwr)
 Construct a new rf frontend09::rf frontend09 object that controls the UHF interface.
void enable (bool set=true)
bool enabled () const
 Checks if the UHF RF frontend is enabled.
void set_direction (dir d, uint64_t lo_freq=0)
 This method is used to change the direction (TX/RX) of the RF-frontend. Any components that are not used by a specific direction are disabled to reduce the power consumption footprint.
Public Member Functions inherited from satnogs::comms::lib::rf_frontend
 rf_frontend (const params &init_params, io_conf &&io, power &pwr)
virtual void set_filter (filter f)
virtual filter get_filter () const
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.

Additional Inherited Members

Public Types inherited from satnogs::comms::lib::rf_frontend
enum class  dir : uint8_t { RX , TX , INVALID }
enum class  gain_mode : uint8_t { AUTO , MANUAL }
enum class  filter : uint8_t { WIDE , NARROW }
Protected Attributes inherited from satnogs::comms::lib::rf_frontend
const params m_params
bsp::gpiom_filt_sel
bsp::dacm_dac
powerm_pwr
ad8318 m_agc
dir m_dir

Detailed Description

RF-frontend for the UHF interface.

This class provides methods to fully control the UHF frontend.

The control of the direction for this particular frontend is fully automatic utilizing the AT86RF215 capabilities. Users can control the reception filter (wideband vs narrowband) as well as the first stage variable gain amplifier (VGA) of the RX chain. This VGA can operate either in fixed gain mode, either as AGC.

The general architecture of the frontend is summarized in the schematic below.

Definition at line 50 of file rf_frontend09.hpp.

Constructor & Destructor Documentation

◆ rf_frontend09()

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

Construct a new rf frontend09::rf frontend09 object that controls the UHF interface.

Parameters
init_paramsthe initialization parameters
iothe IO configuration for controlling the RF-frontend first stage RX gain as well as the filter selection circuit
pwrreference to power subsystem, used to power up/down the various subsystems of the UHF RF frontend

Definition at line 37 of file rf_frontend09.cpp.

Member Function Documentation

◆ enable()

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

Enables the basic subsystems of the RF frontend. Subsystems that are used for a specific direction (RX or TX) are explicitly disabled to reduce power consumption.

Users may have to call the set_direction() method to enable the corresponding subsystems such as PA or LNA.

Parameters
settrue to enable, false to disable.

Implements satnogs::comms::lib::rf_frontend.

Definition at line 53 of file rf_frontend09.cpp.

◆ enabled()

bool satnogs::comms::lib::rf_frontend09::enabled ( ) const
virtual

Checks if the UHF RF frontend is enabled.

Returns
true if it is enabled
false if it is disabled

Implements satnogs::comms::lib::rf_frontend.

Definition at line 65 of file rf_frontend09.cpp.

◆ set_direction()

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

This method is used to change the direction (TX/RX) of the RF-frontend. Any components that are not used by a specific direction are disabled to reduce the power consumption footprint.

Parameters
dthe desired direction
lo_freqNot used by the UHF iinterface
Warning
When the RF frontend is set to TX mode all gain stages of the RX are disabled. Users should set again the proper gain settings. In other words, of set_direction(dir::RX) is called, it should be followed by an appropriate call of set_rx_gain()

Implements satnogs::comms::lib::rf_frontend.

Definition at line 84 of file rf_frontend09.cpp.


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