CitraClient.Schemas.Telescope (citra_client v0.3.0)

View Source

Struct generated from the Telescope schema.

Fields

  • :angular_noisenumber() (API key: angularNoise) — Angular noise in arcseconds
  • :automated_schedulingboolean() (API key: automatedScheduling) — Whether the telescope is enabled for automated scheduling
  • :creation_epochDateTime.t() (API key: creationEpoch)
  • :field_of_viewnumber() (API key: fieldOfView) — Computed diagonal field of view in degrees from sensor specifications.

If all four sensor spec fields are present, this value takes precedence over legacy_field_of_view. Both may be stored simultaneously; legacy_field_of_view is only used by consumers when this computed value is None.

Returns None if any required sensor specification is missing.

  • :filter_change_time_secondsnumber() (API key: filterChangeTimeSeconds) — Time required to change filters in seconds
  • :focal_lengthnumber() (API key: focalLength) — Focal length of the optical system in millimeters
  • :focal_rationumber() (API key: focalRatio) — Focal ratio (f-number) of the optical system, unitless
  • :ground_station_id — UUID String.t() (API key: groundStationId) — Ground station this telescope is assigned to
  • :home_azimuthnumber() (API key: homeAzimuth) — Home azimuth position in degrees
  • :home_elevationnumber() (API key: homeElevation) — Home elevation position in degrees
  • :horizontal_pixel_countinteger() (API key: horizontalPixelCount) — Number of horizontal pixels in the sensor
  • :id — UUID String.t()
  • :image_circle_diameternumber() (API key: imageCircleDiameter) — Diameter of the usable image circle in millimeters
  • :last_connection_epochDateTime.t() (API key: lastConnectionEpoch) — Last time the telescope connected
  • :legacy_field_of_viewnumber() (API key: legacyFieldOfView) — Original FOV in degrees (pre-sensor specs migration)
  • :max_magnitudenumber() (API key: maxMagnitude) — Maximum detectable magnitude
  • :max_slew_ratenumber() (API key: maxSlewRate) — Maximum slew rate in degrees per second
  • :min_elevationnumber() (API key: minElevation) — Minimum elevation angle in degrees
  • :nameString.t() — Telescope name
  • :pixel_sizenumber() (API key: pixelSize) — Physical size of each pixel in micrometers
  • :satellite_id — UUID String.t() (API key: satelliteId) — Satellite this telescope is assigned to
  • :spectral_configany() (API key: spectralConfig) — Spectral configuration (discrete filters, tunable, or hyperspectral)
  • :spectral_max_wavelength_nmnumber() (API key: spectralMaxWavelengthNm) — Maximum wavelength coverage in nanometers (computed from spectral_config)
  • :spectral_min_wavelength_nmnumber() (API key: spectralMinWavelengthNm) — Minimum wavelength coverage in nanometers (computed from spectral_config)
  • :statusString.t() — Compute telescope status based on last_connection_epoch.

Returns 'online' if connected within SENSOR_ONLINE_TIMEOUT_MINUTES, otherwise 'offline'.

  • :user_id — UUID String.t() (API key: userId)
  • :usernameString.t()
  • :vertical_pixel_countinteger() (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

t()

@type t() :: %CitraClient.Schemas.Telescope{
  angular_noise: number() | nil,
  automated_scheduling: boolean() | nil,
  creation_epoch: DateTime.t() | nil,
  field_of_view: number() | 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: String.t() | nil,
  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(),
  spectral_max_wavelength_nm: number() | nil,
  spectral_min_wavelength_nm: number() | nil,
  status: String.t() | nil,
  user_id: String.t() | nil,
  username: String.t() | nil,
  vertical_pixel_count: integer() | nil
}

Functions

from_api(data)

Build this struct from a decoded JSON map received from the API. Unknown fields are ignored.

to_api(struct)

Convert this struct into a map with the API's camelCase keys, ready to be JSON-encoded. Fields whose value is nil are omitted.