HLCC Documentation 3.0.1
Loading...
Searching...
No Matches
ccsinsdetifLlnetio.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2020-2025 European Southern Observatory (ESO)
2//
3// SPDX-License-Identifier: LGPL-3.0-only
4
5#ifndef CCSINSDETIFLLNETIO_HPP
6#define CCSINSDETIFLLNETIO_HPP
7
8#include <boost/endian/arithmetic.hpp>
9#include <array>
10#include <llnetio/mudpi/io.hpp>
11#include <llnetio/udpSocket.hpp>
12#include <llnetio/rtms/io.hpp>
13#include <llnetio/rtms/rtms.hpp>
14
15namespace ccsinsdetifllnetio
16{
17
19
20 boost::endian::big_float64_t time_tai; //TODO ecos::TransportTimepoint
21 boost::endian::big_float64_t time_dut1;
22 boost::endian::big_float64_t target_observed_alt;
23 boost::endian::big_float64_t target_observed_az;
24 boost::endian::big_float64_t north_angle;
25 boost::endian::big_float64_t pupil_angle;
26 boost::endian::big_float64_t elevation_direction_angle;
27 boost::endian::big_float64_t parallactic_angle;
28
29 };
31
32 public:
33
34 const boost::endian::little_uint8_at padding_pdu{};
35
36 std::unique_ptr<llnetio::UdpRxSocket::Config> receiver_udp_cfg;
37 std::unique_ptr<llnetio::mudpi::Receiver::Config> receiver_mudpi_cfg;
38 std::unique_ptr<llnetio::rtms::Receiver::Config> receiver_rtms_cfg;
39 std::unique_ptr<llnetio::UdpTxSocket::Config> sender_udp_cfg;
40 std::unique_ptr<llnetio::mudpi::Sender::Config> sender_mudpi_cfg;
41 std::unique_ptr<llnetio::rtms::Sender::Config> sender_rtms_cfg;
42
50 void ReceiverConfig(unsigned short udp_listen = 10001, llnetio::Ipv4 ip_listen = llnetio::Ipv4 {"239.128.7.1"}, const std::string& iface_name = "lo");
58 void SenderConfig(unsigned short dst_port = 10001, std::string dst_ip = "239.128.7.1", std::string src_ip = "127.0.0.1");
59
60 };
61
62}
63
64#endif // HLCC-IF_CCSINSCIF_CCSINSDETIFLLNETIO_HPP
Definition ccsinsdetifLlnetio.hpp:30
void SenderConfig(unsigned short dst_port=10001, std::string dst_ip="239.128.7.1", std::string src_ip="127.0.0.1")
Setting llnetio sender configuration.
Definition ccsinsdetifLlnetio.cpp:44
const boost::endian::little_uint8_at padding_pdu
Definition ccsinsdetifLlnetio.hpp:34
std::unique_ptr< llnetio::UdpRxSocket::Config > receiver_udp_cfg
Definition ccsinsdetifLlnetio.hpp:36
std::unique_ptr< llnetio::mudpi::Receiver::Config > receiver_mudpi_cfg
Definition ccsinsdetifLlnetio.hpp:37
std::unique_ptr< llnetio::mudpi::Sender::Config > sender_mudpi_cfg
Definition ccsinsdetifLlnetio.hpp:40
void ReceiverConfig(unsigned short udp_listen=10001, llnetio::Ipv4 ip_listen=llnetio::Ipv4 {"239.128.7.1"}, const std::string &iface_name="lo")
Setting llnetio receiver configuration.
Definition ccsinsdetifLlnetio.cpp:8
std::unique_ptr< llnetio::rtms::Receiver::Config > receiver_rtms_cfg
Definition ccsinsdetifLlnetio.hpp:38
std::unique_ptr< llnetio::UdpTxSocket::Config > sender_udp_cfg
Definition ccsinsdetifLlnetio.hpp:39
std::unique_ptr< llnetio::rtms::Sender::Config > sender_rtms_cfg
Definition ccsinsdetifLlnetio.hpp:41
Definition ccsinsdetifLlnetio.cpp:7
Definition ccsinsdetifLlnetio.hpp:18
boost::endian::big_float64_t north_angle
Definition ccsinsdetifLlnetio.hpp:24
boost::endian::big_float64_t elevation_direction_angle
Definition ccsinsdetifLlnetio.hpp:26
boost::endian::big_float64_t target_observed_az
Definition ccsinsdetifLlnetio.hpp:23
boost::endian::big_float64_t target_observed_alt
Definition ccsinsdetifLlnetio.hpp:22
boost::endian::big_float64_t parallactic_angle
Definition ccsinsdetifLlnetio.hpp:27
boost::endian::big_float64_t pupil_angle
Definition ccsinsdetifLlnetio.hpp:25
boost::endian::big_float64_t time_dut1
Definition ccsinsdetifLlnetio.hpp:21
boost::endian::big_float64_t time_tai
Definition ccsinsdetifLlnetio.hpp:20