FERS 0.1.0
The Flexible Extensible Radar Simulator
Loading...
Searching...
No Matches
vita49_types.h File Reference
#include <cstddef>
#include <cstdint>
#include <limits>
#include <span>
#include <string>
#include <vector>
#include "core/config.h"
#include "core/receiver_output.h"
+ Include dependency graph for vita49_types.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  serial::vita49::Timestamp
 
struct  serial::vita49::SignalDataPacket
 
struct  serial::vita49::ContextPacket
 
struct  serial::vita49::SerializedPacket
 
struct  serial::vita49::PacketizerResult
 
struct  serial::vita49::SignalDataSerializationResult
 
class  serial::vita49::PacketCountSequencer
 

Namespaces

namespace  serial
 
namespace  serial::vita49
 

Enumerations

enum class  serial::vita49::PacketType : std::uint8_t { serial::vita49::SignalDataWithStreamId = 0x1 , serial::vita49::Context = 0x4 }
 
enum class  serial::vita49::IntegerTimestampMode : std::uint8_t { serial::vita49::None = 0 , serial::vita49::Utc = 1 , serial::vita49::Gps = 2 , serial::vita49::Other = 3 }
 
enum class  serial::vita49::FractionalTimestampMode : std::uint8_t { serial::vita49::None = 0 , serial::vita49::SampleCount = 1 , serial::vita49::RealTimePicoseconds = 2 , serial::vita49::FreeRunning = 3 }
 
enum  serial::vita49::TrailerIndicator : std::uint32_t {
  serial::vita49::TrailerEnableCalibratedTime = 1u << 31u , serial::vita49::TrailerEnableValidData = 1u << 30u , serial::vita49::TrailerEnableReferenceLock = 1u << 29u , serial::vita49::TrailerEnableOverRange = 1u << 28u ,
  serial::vita49::TrailerEnableSampleLoss = 1u << 27u , serial::vita49::TrailerCalibratedTime = 1u << 15u , serial::vita49::TrailerValidData = 1u << 14u , serial::vita49::TrailerReferenceLock = 1u << 13u ,
  serial::vita49::TrailerOverRange = 1u << 12u , serial::vita49::TrailerSampleLoss = 1u << 11u
}
 
enum  serial::vita49::ContextIndicator0 : std::uint32_t {
  serial::vita49::Cif0StateIndicators = 1u << 31u , serial::vita49::Cif0PayloadFormat = 1u << 30u , serial::vita49::Cif0SampleRate = 1u << 29u , serial::vita49::Cif0ReferenceFrequency = 1u << 28u ,
  serial::vita49::Cif0IfOffset = 1u << 27u , serial::vita49::Cif0Bandwidth = 1u << 26u , serial::vita49::Cif0ReferenceLevel = 1u << 25u , serial::vita49::Cif0DeviceIdentifier = 1u << 24u ,
  serial::vita49::Cif0AsciiMetadata = 1u << 23u
}
 
enum  serial::vita49::ContextFlags : std::uint32_t {
  serial::vita49::ContextFlagDechirped = 1u << 0u , serial::vita49::ContextFlagIfResampled = 1u << 1u , serial::vita49::ContextFlagSampleLoss = 1u << 2u , serial::vita49::ContextFlagStreamOpen = 1u << 3u ,
  serial::vita49::ContextFlagStreamClose = 1u << 4u , serial::vita49::ContextFlagFmcwMetadataPresent = 1u << 5u , serial::vita49::ContextFlagCwMetadataPresent = 1u << 6u , serial::vita49::ContextFlagPulsedMetadataPresent = 1u << 7u
}
 

Functions

std::uint32_t serial::vita49::makeHeader (const PacketType type, const bool class_id_present, const bool trailer_present, const IntegerTimestampMode tsi, const FractionalTimestampMode tsf, const std::uint8_t packet_count, const std::uint16_t packet_size_words) noexcept
 
Timestamp serial::vita49::timestampFromEpoch (const std::uint64_t epoch_unix_nanoseconds, const RealType sample_time_seconds)
 
std::uint32_t serial::vita49::makeTrailer (const bool valid_data, const bool calibrated_time, const bool reference_lock, const bool over_range, const bool sample_loss) noexcept
 
std::uint32_t serial::vita49::makeContextStateIndicators (const bool valid_data, const bool calibrated_time, const bool reference_lock, const bool over_range, const bool sample_loss) noexcept
 
std::uint64_t serial::vita49::makeComplexInt16PayloadFormat () noexcept
 
std::size_t serial::vita49::maxComplexSamplesPerSignalPacket (const std::uint16_t max_udp_payload_bytes)
 

Variables

constexpr std::uint16_t serial::vita49::kDefaultMaxUdpPayloadBytes = 1400
 
constexpr std::uint32_t serial::vita49::kSignalDataFixedBytes = 32
 
constexpr std::uint32_t serial::vita49::kFersInternalOui = 0xFA5253u
 
constexpr std::uint16_t serial::vita49::kFersInformationClassIqStream = 0x0001u
 
constexpr std::uint16_t serial::vita49::kFersPacketClassV1 = 0x0001u
 
constexpr std::uint64_t serial::vita49::kFersVrtIqClassId
 
constexpr std::uint32_t serial::vita49::kFersContextCif0