FERS
0.1.0
The Flexible Extensible Radar Simulator
Loading...
Searching...
No Matches
vita49_packetizer.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: GPL-2.0-only
2
//
3
// Copyright (c) 2026-present FERS Contributors (see AUTHORS.md).
4
//
5
// See the GNU GPLv2 LICENSE file in the FERS project root for more information.
6
7
#pragma once
8
9
#include <cstdint>
10
11
#include "
serial/vita49/vita49_types.h
"
12
13
namespace
serial::vita49
14
{
15
class
Vita49Packetizer
16
{
17
public
:
18
Vita49Packetizer
(std::uint64_t epoch_unix_nanoseconds,
RealType
adc_fullscale,
19
std::uint16_t
max_udp_payload_bytes
=
kDefaultMaxUdpPayloadBytes
);
20
21
[[
nodiscard
]] std::uint64_t
epochUnixNanoseconds
()
const
noexcept
;
22
[[
nodiscard
]]
RealType
adcFullscale
()
const
noexcept
;
23
[[
nodiscard
]] std::uint16_t
maxUdpPayloadBytes
()
const
noexcept
;
24
[[
nodiscard
]] std::size_t
maxComplexSamplesPerPacket
()
const
noexcept
;
25
26
[[
nodiscard
]]
PacketizerResult
packetize
(
const
core::ReceiverSampleBlock
&
block
, std::uint32_t stream_id,
27
PacketCountSequencer
& packet_counts,
bool
sample_loss_pending)
const
;
28
29
[[
nodiscard
]]
SerializedPacket
makeContextPacket
(
const
ContextPacket
& context)
const
;
30
31
private
:
32
std::uint64_t _epoch_unix_nanoseconds = 0;
33
RealType
_adc_fullscale = 1.0;
34
std::uint16_t _max_udp_payload_bytes =
kDefaultMaxUdpPayloadBytes
;
35
std::size_t _max_complex_samples_per_packet = 0;
36
};
37
}
serial::vita49::PacketCountSequencer
Definition
vita49_types.h:168
serial::vita49::Vita49Packetizer
Definition
vita49_packetizer.h:16
serial::vita49::Vita49Packetizer::packetize
PacketizerResult packetize(const core::ReceiverSampleBlock &block, std::uint32_t stream_id, PacketCountSequencer &packet_counts, bool sample_loss_pending) const
Definition
vita49_packetizer.cpp:40
serial::vita49::Vita49Packetizer::makeContextPacket
SerializedPacket makeContextPacket(const ContextPacket &context) const
Definition
vita49_packetizer.cpp:104
serial::vita49::Vita49Packetizer::adcFullscale
RealType adcFullscale() const noexcept
Definition
vita49_packetizer.cpp:31
serial::vita49::Vita49Packetizer::maxUdpPayloadBytes
std::uint16_t maxUdpPayloadBytes() const noexcept
Definition
vita49_packetizer.cpp:33
serial::vita49::Vita49Packetizer::maxComplexSamplesPerPacket
std::size_t maxComplexSamplesPerPacket() const noexcept
Definition
vita49_packetizer.cpp:35
serial::vita49::Vita49Packetizer::epochUnixNanoseconds
std::uint64_t epochUnixNanoseconds() const noexcept
Definition
vita49_packetizer.cpp:29
RealType
double RealType
Type for real numbers.
Definition
config.h:27
serial::vita49
Definition
paced_sender.cpp:19
serial::vita49::kDefaultMaxUdpPayloadBytes
constexpr std::uint16_t kDefaultMaxUdpPayloadBytes
Definition
vita49_types.h:21
max
math::Vec3 max
Definition
sim_threading.cpp:233
core::ReceiverSampleBlock
Definition
receiver_output.h:117
serial::vita49::ContextPacket
Definition
vita49_types.h:115
serial::vita49::PacketizerResult
Definition
vita49_types.h:155
serial::vita49::SerializedPacket
Definition
vita49_types.h:142
vita49_types.h
packages
libfers
src
serial
vita49
vita49_packetizer.h
Generated by
1.9.8