NETSIM 1.2.0
Hardware-in-the-loop acoustic network simulator
 
Loading...
Searching...
No Matches
groups.h
Go to the documentation of this file.
1// Copyright 2017-2020:
2// GobySoft, LLC (2017-)
3// Massachusetts Institute of Technology (2017-)
4// File authors:
5// Toby Schneider <toby@gobysoft.org>
6// Henrik Schmidt <henrik@mit.edu>
7//
8//
9// This file is part of the NETSIM Libraries.
10//
11// The NETSIM Libraries are free software: you can redistribute them and/or modify
12// them under the terms of the GNU Lesser General Public License as published by
13// the Free Software Foundation, either version 2.1 of the License, or
14// (at your option) any later version.
15//
16// The NETSIM Libraries are distributed in the hope that they will be useful,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19// GNU Lesser General Public License for more details.
20//
21// You should have received a copy of the GNU Lesser General Public License
22// along with NETSIM. If not, see <http://www.gnu.org/licenses/>.
23
24#ifndef MODEMSIMGROUPS20170815H
25#define MODEMSIMGROUPS20170815H
26
27#include "goby/middleware/group.h"
28
29#include "netsim/core/common.h"
30
31namespace netsim
32{
33namespace groups
34{
35// published by netsim_core
36constexpr goby::middleware::Group impulse_request{"impulse_request"};
37constexpr goby::middleware::Group buffer_size_change{"buffer_size_change"};
38constexpr goby::middleware::Group logger_event{"logger_event"};
39
40template <int from_index> struct AudioIn
41{
42 static_assert(from_index < NETSIM_MAX_MODEMS,
43 "Max supported modems is NETSIM_MAX_MODEMS(set in CMake)");
44 constexpr static goby::middleware::Group group{"ain", from_index};
45};
46template <int from_index> constexpr goby::middleware::Group AudioIn<from_index>::group;
47
48template <int from_index, int to_index> struct AudioOut
49{
50 static_assert(from_index < NETSIM_MAX_MODEMS && to_index < NETSIM_MAX_MODEMS,
51 "Max supported modems is NETSIM_MAX_MODEMS (set in CMake)");
52 constexpr static goby::middleware::Group group{"aout",
53 from_index* NETSIM_MAX_MODEMS + to_index};
54};
55template <int from_index, int to_index>
57
58template <int from_index> struct DetectorAudio
59{
60 static_assert(from_index < NETSIM_MAX_MODEMS,
61 "Max supported modems is NETSIM_MAX_MODEMS(set in CMake)");
62 constexpr static goby::middleware::Group group{"detector_audio_from", from_index};
63};
64template <int from_index> constexpr goby::middleware::Group DetectorAudio<from_index>::group;
65
66template <int from_index> struct BridgeAudio
67{
68 static_assert(from_index < NETSIM_MAX_MODEMS,
69 "Max supported modems is NETSIM_MAX_MODEMS(set in CMake)");
70 constexpr static goby::middleware::Group group{"bridge_audio_from", from_index};
71};
72template <int from_index> constexpr goby::middleware::Group BridgeAudio<from_index>::group;
73
74// published by netsim_postprocess
75constexpr goby::middleware::Group post_process_event{"post_process_event"};
76
77// published by netsim_manager
78constexpr goby::middleware::Group env_nav_update{"environment_nav_update"};
79constexpr goby::middleware::Group env_impulse_req{"environment_impulse_request"};
80constexpr goby::middleware::Group env_bellhop_req{"environment_bellhop_request"};
81constexpr goby::middleware::Group env_performance_req{"environment_performance_request"};
82constexpr goby::middleware::Group configuration{"configuration"};
83constexpr goby::middleware::Group receive_stats{"receive_stats"};
84
85constexpr goby::middleware::Group gps_line_out{"gps_line_out"};
86constexpr goby::middleware::Group gps_line_in{"gps_line_in"};
87
88// published by netsim_liaison
89constexpr goby::middleware::Group config_request{"config_request"};
90constexpr goby::middleware::Group bellhop_request{"bellhop_request"};
91
92// published by netsim_udp
93constexpr goby::middleware::Group performance_request{"performance_request"};
94
95// published by goby_moos_gateway
96constexpr goby::middleware::Group impulse_response{"impulse_response"};
97constexpr goby::middleware::Group bellhop_response{"bellhop_response"};
98constexpr goby::middleware::Group performance_response{"performance_response"};
99
100// published by netsim_tool
101namespace tool
102{
103constexpr goby::middleware::Group receive_data{"tool::receive_data"};
104constexpr goby::middleware::Group ready{"tool::ready"};
105constexpr goby::middleware::Group transmit{"tool::transmit"};
106constexpr goby::middleware::Group rx_stats{"tool::rx_stats"};
107constexpr goby::middleware::Group raw_in{"tool::raw_in"};
108constexpr goby::middleware::Group raw_out{"tool::raw_out"};
109
110} // namespace tool
111
112} // namespace groups
113} // namespace netsim
114
115#endif
#define NETSIM_MAX_MODEMS
Definition common.h:34
constexpr const char * boost_serialization_type_name()
constexpr goby::middleware::Group ready
Definition groups.h:104
constexpr goby::middleware::Group raw_out
Definition groups.h:108
constexpr goby::middleware::Group rx_stats
Definition groups.h:106
constexpr goby::middleware::Group raw_in
Definition groups.h:107
constexpr goby::middleware::Group receive_data
Definition groups.h:103
constexpr goby::middleware::Group transmit
Definition groups.h:105
constexpr goby::middleware::Group logger_event
Definition groups.h:38
constexpr goby::middleware::Group post_process_event
Definition groups.h:75
constexpr goby::middleware::Group buffer_size_change
Definition groups.h:37
constexpr goby::middleware::Group impulse_response
Definition groups.h:96
constexpr goby::middleware::Group bellhop_request
Definition groups.h:90
constexpr goby::middleware::Group gps_line_in
Definition groups.h:86
constexpr goby::middleware::Group gps_line_out
Definition groups.h:85
constexpr goby::middleware::Group configuration
Definition groups.h:82
constexpr goby::middleware::Group env_performance_req
Definition groups.h:81
constexpr goby::middleware::Group config_request
Definition groups.h:89
constexpr goby::middleware::Group impulse_request
Definition groups.h:36
constexpr goby::middleware::Group env_nav_update
Definition groups.h:78
constexpr goby::middleware::Group receive_stats
Definition groups.h:83
constexpr goby::middleware::Group bellhop_response
Definition groups.h:97
constexpr goby::middleware::Group performance_response
Definition groups.h:98
constexpr goby::middleware::Group env_bellhop_req
Definition groups.h:80
constexpr goby::middleware::Group env_impulse_req
Definition groups.h:79
constexpr goby::middleware::Group performance_request
Definition groups.h:93
static constexpr goby::middleware::Group group
Definition groups.h:44
static constexpr goby::middleware::Group group
Definition groups.h:52
static constexpr goby::middleware::Group group
Definition groups.h:70
static constexpr goby::middleware::Group group
Definition groups.h:62