HLCC Documentation 2.2.0
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 std::array<boost::endian::big_float64_t,2> target_observed_altaz;
21 std::array<boost::endian::big_float64_t,2> current_observed_altaz;
22 boost::endian::big_float64_t time_lst;
23 boost::endian::big_float64_t time_tai; //TODO ecos::TransportTimepoint
24 boost::endian::big_float64_t time_utc;
25 boost::endian::big_float64_t north_angle;
26 boost::endian::big_float64_t pupil_angle;
27 boost::endian::big_float64_t elevation_direction_angle;
28 std::array<boost::endian::big_float64_t,2> radec_at_xy_from_guide_stars;
29 std::array<boost::endian::big_float64_t,2> observed_altaz_at_requested_xy;
30 boost::endian::big_float64_t parallactic_angle;
31
32 };
34
35 public:
36
37 const boost::endian::little_uint8_at padding_pdu{};
38
39 std::unique_ptr<llnetio::UdpRxSocket::Config> receiver_udp_cfg;
40 std::unique_ptr<llnetio::mudpi::Receiver::Config> receiver_mudpi_cfg;
41 std::unique_ptr<llnetio::rtms::Receiver::Config> receiver_rtms_cfg;
42 std::unique_ptr<llnetio::UdpTxSocket::Config> sender_udp_cfg;
43 std::unique_ptr<llnetio::mudpi::Sender::Config> sender_mudpi_cfg;
44 std::unique_ptr<llnetio::rtms::Sender::Config> sender_rtms_cfg;
45
53 void ReceiverConfig(unsigned short udp_listen = 10001, llnetio::Ipv4 ip_listen = llnetio::Ipv4 {"239.128.7.1"}, const std::string& iface_name = "lo");
61 void SenderConfig(unsigned short dst_port = 10001, llnetio::Ipv4 src_ip = llnetio::IPV4_LOOPBACK, llnetio::Ipv4 dst_ip = llnetio::Ipv4 {"239.128.7.1"});
62
63 };
64
65}
66
67#endif // HLCC-IF_CCSINSCIF_CCSINSDETIFLLNETIO_HPP
Definition ccsinsdetifLlnetio.hpp:33
void SenderConfig(unsigned short dst_port=10001, llnetio::Ipv4 src_ip=llnetio::IPV4_LOOPBACK, llnetio::Ipv4 dst_ip=llnetio::Ipv4 {"239.128.7.1"})
Setting llnetio sender configuration.
Definition ccsinsdetifLlnetio.cpp:44
const boost::endian::little_uint8_at padding_pdu
Definition ccsinsdetifLlnetio.hpp:37
std::unique_ptr< llnetio::UdpRxSocket::Config > receiver_udp_cfg
Definition ccsinsdetifLlnetio.hpp:39
std::unique_ptr< llnetio::mudpi::Receiver::Config > receiver_mudpi_cfg
Definition ccsinsdetifLlnetio.hpp:40
std::unique_ptr< llnetio::mudpi::Sender::Config > sender_mudpi_cfg
Definition ccsinsdetifLlnetio.hpp:43
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:41
std::unique_ptr< llnetio::UdpTxSocket::Config > sender_udp_cfg
Definition ccsinsdetifLlnetio.hpp:42
std::unique_ptr< llnetio::rtms::Sender::Config > sender_rtms_cfg
Definition ccsinsdetifLlnetio.hpp:44
Definition ccsinsdetifLlnetio.cpp:7
Definition ccsinsdetifLlnetio.hpp:18
boost::endian::big_float64_t north_angle
Definition ccsinsdetifLlnetio.hpp:25
boost::endian::big_float64_t elevation_direction_angle
Definition ccsinsdetifLlnetio.hpp:27
std::array< boost::endian::big_float64_t, 2 > radec_at_xy_from_guide_stars
Definition ccsinsdetifLlnetio.hpp:28
boost::endian::big_float64_t time_utc
Definition ccsinsdetifLlnetio.hpp:24
std::array< boost::endian::big_float64_t, 2 > target_observed_altaz
Definition ccsinsdetifLlnetio.hpp:20
boost::endian::big_float64_t parallactic_angle
Definition ccsinsdetifLlnetio.hpp:30
boost::endian::big_float64_t pupil_angle
Definition ccsinsdetifLlnetio.hpp:26
boost::endian::big_float64_t time_lst
Definition ccsinsdetifLlnetio.hpp:22
std::array< boost::endian::big_float64_t, 2 > observed_altaz_at_requested_xy
Definition ccsinsdetifLlnetio.hpp:29
std::array< boost::endian::big_float64_t, 2 > current_observed_altaz
Definition ccsinsdetifLlnetio.hpp:21
boost::endian::big_float64_t time_tai
Definition ccsinsdetifLlnetio.hpp:23