SatNOGS-COMMS
4.1.0
A COMMS subsystem for CubeSats
Toggle main menu visibility
Loading...
Searching...
No Matches
rf_frontend09.cpp
Go to the documentation of this file.
1
/*
2
* SatNOGS-COMMS control library
3
*
4
* Copyright (C) 2022-2023, Libre Space Foundation <http://libre.space>
5
*
6
* This program is free software: you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation, either version 3 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*
19
* SPDX-License-Identifier: GNU General Public License v3.0 or later
20
*/
21
22
#include <
satnogs-comms-lib/rf_frontend09.hpp
>
23
24
namespace
satnogs::comms::lib
25
{
26
37
rf_frontend09::rf_frontend09
(
const
params
&init_params,
io_conf
&
io
,
power
&pwr)
38
:
rf_frontend
(init_params, std::move(
io
), pwr)
39
{
40
}
41
52
void
53
rf_frontend09::enable
(
bool
set)
54
{
55
m_pwr
.enable(
power::subsys::UHF
, set);
56
}
57
64
bool
65
rf_frontend09::enabled
()
const
66
{
67
return
m_pwr
.enabled(
power::subsys::UHF
);
68
}
69
83
void
84
rf_frontend09::set_direction
(
dir
d, uint64_t lo_freq)
85
{
86
switch
(d) {
87
case
dir::RX
:
88
m_dir
= d;
89
break
;
90
case
dir::TX
:
91
m_dir
= d;
92
m_agc
.enable(
false
);
93
m_dac
.stop();
94
break
;
95
default
:
96
throw
inval_arg_exception
(__FILE__, __LINE__);
97
}
98
}
99
100
}
// namespace satnogs::comms::lib
satnogs::comms::io
Definition
io.hpp:47
satnogs::comms::lib::inval_arg_exception
Generic exception indicating an invalid argument.
Definition
exception.hpp:180
satnogs::comms::lib::power
Manages power supplies and monitors subsystem status.
Definition
power.hpp:43
satnogs::comms::lib::power::subsys::UHF
@ UHF
UHF subsystem.
Definition
power.hpp:57
satnogs::comms::lib::rf_frontend09::enabled
bool enabled() const
Checks if the UHF RF frontend is enabled.
Definition
rf_frontend09.cpp:65
satnogs::comms::lib::rf_frontend09::enable
void enable(bool set=true)
Definition
rf_frontend09.cpp:53
satnogs::comms::lib::rf_frontend09::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.
Definition
rf_frontend09.cpp:37
satnogs::comms::lib::rf_frontend09::set_direction
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 u...
Definition
rf_frontend09.cpp:84
satnogs::comms::lib::rf_frontend::io_conf
Definition
rf_frontend.hpp:72
satnogs::comms::lib::rf_frontend::params
RF frontend initialization settings.
Definition
rf_frontend.hpp:50
satnogs::comms::lib::rf_frontend::m_agc
ad8318 m_agc
Definition
rf_frontend.hpp:166
satnogs::comms::lib::rf_frontend::m_dac
bsp::dac & m_dac
Definition
rf_frontend.hpp:164
satnogs::comms::lib::rf_frontend::m_dir
dir m_dir
Definition
rf_frontend.hpp:167
satnogs::comms::lib::rf_frontend::m_pwr
power & m_pwr
Definition
rf_frontend.hpp:165
satnogs::comms::lib::rf_frontend::rf_frontend
rf_frontend(const params &init_params, io_conf &&io, power &pwr)
Definition
rf_frontend.cpp:28
satnogs::comms::lib::rf_frontend::dir
dir
Definition
rf_frontend.hpp:83
satnogs::comms::lib::rf_frontend::dir::TX
@ TX
Definition
rf_frontend.hpp:85
satnogs::comms::lib::rf_frontend::dir::RX
@ RX
Definition
rf_frontend.hpp:84
satnogs::comms::lib
Definition
ad8318.hpp:30
rf_frontend09.hpp
libsatnogs-comms
src
rf_frontend09.cpp
Generated by
1.17.0