SatNOGS-COMMS
4.1.0
A COMMS subsystem for CubeSats
Toggle main menu visibility
Loading...
Searching...
No Matches
f2972.cpp
Go to the documentation of this file.
1
/*
2
* SatNOGS-COMMS control library
3
*
4
* Copyright (C) 2021-2022, 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/board.hpp
>
23
#include <
satnogs-comms-lib/f2972.hpp
>
24
25
namespace
satnogs::comms::lib
26
{
27
38
f2972::f2972
(
const
etl::istring &
name
,
bsp::gpio
&en,
bsp::gpio
&ctl)
39
: m_name(
name
), m_en_gpio(en), m_ctrl_gpio(ctl), m_port(
port
::RF1)
40
{
41
enable
(
false
);
42
set_port
(m_port);
43
}
44
49
const
etl::istring &
50
f2972::name
()
const
51
{
52
return
m_name;
53
}
54
59
void
60
f2972::enable
(
bool
set)
61
{
62
m_en_gpio.set(set);
63
}
64
69
bool
70
f2972::enabled
()
const
71
{
72
return
m_en_gpio.get();
73
}
74
79
void
80
f2972::set_port
(
port
p)
81
{
82
switch
(p) {
83
case
port::RF1
:
84
m_ctrl_gpio.set(
false
);
85
break
;
86
case
port::RF2
:
87
m_ctrl_gpio.set(
true
);
88
break
;
89
default
:
90
throw
inval_arg_exception
(__FILE__, __LINE__);
91
}
92
m_port = p;
93
}
94
100
f2972::port
101
f2972::active_port
()
const
102
{
103
return
m_port;
104
}
105
106
}
// namespace satnogs::comms::lib
board.hpp
satnogs::comms::lib::bsp::gpio
GPIO device abstraction.
Definition
gpio.hpp:38
satnogs::comms::lib::f2972::name
const etl::istring & name() const
Definition
f2972.cpp:50
satnogs::comms::lib::f2972::active_port
port active_port() const
Definition
f2972.cpp:101
satnogs::comms::lib::f2972::port
port
Definition
f2972.hpp:38
satnogs::comms::lib::f2972::port::RF2
@ RF2
Definition
f2972.hpp:40
satnogs::comms::lib::f2972::port::RF1
@ RF1
Definition
f2972.hpp:39
satnogs::comms::lib::f2972::set_port
void set_port(port p)
Definition
f2972.cpp:80
satnogs::comms::lib::f2972::enable
void enable(bool set=true)
Definition
f2972.cpp:60
satnogs::comms::lib::f2972::f2972
f2972(const etl::istring &name, bsp::gpio &en, bsp::gpio &ctl)
Definition
f2972.cpp:38
satnogs::comms::lib::f2972::enabled
bool enabled() const
Definition
f2972.cpp:70
satnogs::comms::lib::inval_arg_exception
Generic exception indicating an invalid argument.
Definition
exception.hpp:180
f2972.hpp
satnogs::comms::lib
Definition
ad8318.hpp:30
libsatnogs-comms
src
f2972.cpp
Generated by
1.17.0