CitraClient.Schemas.TelescopeUpsert (citra_client v0.3.0)
View SourceSchema for telescope upsert operations (create or update)
Fields
:angular_noise—number()(API key:angularNoise) — Angular noise in arcseconds:automated_scheduling—boolean()(API key:automatedScheduling) — Whether this telescope is enabled for automated scheduling:filter_change_time_seconds—number()(API key:filterChangeTimeSeconds) — Time required to change filters in seconds (default: 5.0):focal_length—number()(API key:focalLength) — Focal length of the optical system in millimeters:focal_ratio—number()(API key:focalRatio) — Focal ratio (f-number) of the optical system, unitless:ground_station_id— UUIDString.t()(API key:groundStationId) — Ground station this telescope is assigned to:home_azimuth—number()(API key:homeAzimuth) — Home azimuth position in degrees:home_elevation—number()(API key:homeElevation) — Home elevation position in degrees:horizontal_pixel_count—integer()(API key:horizontalPixelCount) — Number of horizontal pixels in the sensor:id—any()— If provided, updates existing telescope. If not provided, creates new telescope.:image_circle_diameter—number()(API key:imageCircleDiameter) — Diameter of the usable image circle in millimeters:last_connection_epoch—DateTime.t()(API key:lastConnectionEpoch) — Last time the telescope connected:legacy_field_of_view—number()(API key:legacyFieldOfView) — Original FOV in degrees (pre-sensor specs migration):max_magnitude—number()(API key:maxMagnitude) — Maximum detectable magnitude:max_slew_rate—number()(API key:maxSlewRate) — Maximum slew rate in degrees per second:min_elevation—number()(API key:minElevation) — Minimum elevation angle in degrees:name—String.t()— Telescope name:pixel_size—number()(API key:pixelSize) — Physical size of each pixel in micrometers:satellite_id— UUIDString.t()(API key:satelliteId) — Satellite this telescope is assigned to:spectral_config—any()(API key:spectralConfig) — Spectral configuration: discrete filters, tunable, or hyperspectral. Example: {'type': 'discrete', 'filters': [{'name': 'Red', 'central_wavelength_nm': 630}]}:vertical_pixel_count—integer()(API key:verticalPixelCount) — Number of vertical pixels in the sensor
Summary
Functions
Build this struct from a decoded JSON map received from the API. Unknown fields are ignored.
Convert this struct into a map with the API's camelCase keys, ready
to be JSON-encoded. Fields whose value is nil are omitted.
Types
@type t() :: %CitraClient.Schemas.TelescopeUpsert{ angular_noise: number() | nil, automated_scheduling: boolean() | nil, filter_change_time_seconds: number() | nil, focal_length: number() | nil, focal_ratio: number() | nil, ground_station_id: String.t() | nil, home_azimuth: number() | nil, home_elevation: number() | nil, horizontal_pixel_count: integer() | nil, id: any(), image_circle_diameter: number() | nil, last_connection_epoch: DateTime.t() | nil, legacy_field_of_view: number() | nil, max_magnitude: number() | nil, max_slew_rate: number() | nil, min_elevation: number() | nil, name: String.t() | nil, pixel_size: number() | nil, satellite_id: String.t() | nil, spectral_config: any(), vertical_pixel_count: integer() | nil }