SatNOGS-COMMS
4.1.0
A COMMS subsystem for CubeSats
Toggle main menu visibility
Loading...
Searching...
No Matches
startup.hpp
Go to the documentation of this file.
1
/*
2
* SatNOGS-COMMS MCU software
3
*
4
* Copyright (C) 2025, 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
#pragma once
23
24
#include "
bsp/bsp.hpp
"
25
#include "
callbacks.hpp
"
26
#include "
conf.hpp
"
27
#include "
error_handler.hpp
"
28
#include "
io.hpp
"
29
#include "
io_wdg.hpp
"
30
#include "
mission.hpp
"
31
#include "
msg_arbiter.hpp
"
32
#include "
overlays.hpp
"
33
#include "
settings.hpp
"
34
#include "
telemetry.hpp
"
35
#include "
tests/test.hpp
"
36
#include "
thermal.hpp
"
37
#include "
time.hpp
"
38
39
#include "
etl_profile.h
"
40
#include "
logger.hpp
"
41
42
#include <errno.h>
43
#include <
satnogs-comms-lib/board.hpp
>
44
#include <zephyr/devicetree.h>
45
#include <zephyr/kernel.h>
46
#include <zephyr/stats/stats.h>
47
#include <zephyr/sys/reboot.h>
48
#include <zephyr/sys/util.h>
49
#include <zephyr/task_wdt/task_wdt.h>
50
51
namespace
satnogs::comms
52
{
53
68
class
startup
69
{
70
public
:
79
static
startup
&
80
get_instance
()
81
{
82
static
startup
instance;
83
return
instance;
84
}
85
/* Singleton */
86
startup
(
startup
const
&) =
delete
;
87
void
88
operator=
(
startup
const
&) =
delete
;
89
90
void
91
prepare
();
92
93
void
94
start
();
95
96
int
97
wdg_id
()
const
;
98
99
struct
k_work_q *
100
workq
();
101
102
private
:
103
int
m_wdgid;
104
105
startup
();
106
};
107
108
}
// namespace satnogs::comms
board.hpp
bsp.hpp
callbacks.hpp
satnogs::comms::startup::workq
struct k_work_q * workq()
Definition
startup.cpp:588
satnogs::comms::startup::get_instance
static startup & get_instance()
Get a singleton access to the startup subsystem.
Definition
startup.hpp:80
satnogs::comms::startup::prepare
void prepare()
Prepares and initializes the transceiver.
Definition
startup.cpp:428
satnogs::comms::startup::operator=
void operator=(startup const &)=delete
satnogs::comms::startup::startup
startup(startup const &)=delete
satnogs::comms::startup::wdg_id
int wdg_id() const
Returns the Task Watchdog ID registered at the contructor.
Definition
startup.cpp:582
satnogs::comms::startup::start
void start()
Starts the execution of all the subsystems and their coressponding tasks.
Definition
startup.cpp:528
conf.hpp
error_handler.hpp
etl_profile.h
io.hpp
io_wdg.hpp
logger.hpp
mission.hpp
msg_arbiter.hpp
satnogs::comms
Definition
bsp.cpp:28
overlays.hpp
This file contains several helper macros that produce a compile-time error through the preprocessor,...
settings.hpp
telemetry.hpp
test.hpp
thermal.hpp
time.hpp
src
startup.hpp
Generated by
1.17.0