lattice_sdk/api/types/
signal.rs

1pub use crate::prelude::*;
2
3/// A component that describes an entity's signal characteristics.
4#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
5pub struct Signal {
6    #[serde(rename = "frequencyCenter")]
7    #[serde(skip_serializing_if = "Option::is_none")]
8    pub frequency_center: Option<Frequency>,
9    #[serde(rename = "frequencyRange")]
10    #[serde(skip_serializing_if = "Option::is_none")]
11    pub frequency_range: Option<FrequencyRange>,
12    /// Indicates the bandwidth of a signal (Hz).
13    #[serde(rename = "bandwidthHz")]
14    #[serde(skip_serializing_if = "Option::is_none")]
15    pub bandwidth_hz: Option<f64>,
16    /// Indicates the signal to noise (SNR) of this signal.
17    #[serde(rename = "signalToNoiseRatio")]
18    #[serde(skip_serializing_if = "Option::is_none")]
19    pub signal_to_noise_ratio: Option<f64>,
20    #[serde(rename = "lineOfBearing")]
21    #[serde(skip_serializing_if = "Option::is_none")]
22    pub line_of_bearing: Option<LineOfBearing>,
23    #[serde(skip_serializing_if = "Option::is_none")]
24    pub fixed: Option<Fixed>,
25    /// Emitter notations associated with this entity.
26    #[serde(rename = "emitterNotations")]
27    #[serde(skip_serializing_if = "Option::is_none")]
28    pub emitter_notations: Option<Vec<EmitterNotation>>,
29    /// length in time of a single pulse
30    #[serde(rename = "pulseWidthS")]
31    #[serde(skip_serializing_if = "Option::is_none")]
32    pub pulse_width_s: Option<f64>,
33    /// length in time between the start of two pulses
34    #[serde(rename = "pulseRepetitionInterval")]
35    #[serde(skip_serializing_if = "Option::is_none")]
36    pub pulse_repetition_interval: Option<PulseRepetitionInterval>,
37    /// describes how a signal is observing the environment
38    #[serde(rename = "scanCharacteristics")]
39    #[serde(skip_serializing_if = "Option::is_none")]
40    pub scan_characteristics: Option<ScanCharacteristics>,
41}