![]() |
SatNOGS-COMMS
4.1.0
A COMMS subsystem for CubeSats
|
RF-frontend for the UHF interface. More...
#include <rf_frontend09.hpp>
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::gpio & | m_filt_sel |
| bsp::dac & | m_dac |
| power & | m_pwr |
| ad8318 | m_agc |
| dir | m_dir |
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.
| 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.
| init_params | the initialization parameters |
| io | the IO configuration for controlling the RF-frontend first stage RX gain as well as the filter selection circuit |
| pwr | reference 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.
|
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.
| set | true to enable, false to disable. |
Implements satnogs::comms::lib::rf_frontend.
Definition at line 53 of file rf_frontend09.cpp.
|
virtual |
Checks if the UHF RF frontend is enabled.
Implements satnogs::comms::lib::rf_frontend.
Definition at line 65 of file rf_frontend09.cpp.
|
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.
| d | the desired direction |
| lo_freq | Not used by the UHF iinterface |
Implements satnogs::comms::lib::rf_frontend.
Definition at line 84 of file rf_frontend09.cpp.