Jump to content

SimTX API/Packets/TxTelemetry

From SimTX Wiki
TxTelemetry
Frame ServerFrame, field 17
Member tx_telemetry
Direction Server → client
Session Transmitter
Roles ROLE_TX_AUDIO, ROLE_TX_GENERATED.
Permission None
Answered by
Answers
Defined in session.proto

TxTelemetry reports the state of a transmitter on air: power at each point of the chain, standing-wave ratio, amplifier compression and temperature, and the server's playout buffer. The server sends it about every 50 ms from TxAccept until the session ends.

Definition[edit | edit source]

message TxTelemetry {
  int64 sequence = 1;
  int64 server_time_ms = 2;
  double actual_frequency_hz = 3;
  float requested_power_watts = 4;
  float forward_power_watts = 5;
  float delivered_power_watts = 6;
  float reflected_power_watts = 7;
  float vswr = 8;
  float mismatch_loss_db = 9;
  float transformer_loss_db = 10;
  float foldback_loss_db = 11;
  float alc_db = 12;
  float buffer_seconds = 13;
  float finals_temperature_c = 14;
  float thermal_foldback_db = 15;
  float pa_compression_db = 16;
  float pa_heat_watts = 17;
  float pa_efficiency_percent = 18;
  bool pa_thermal_fault_active = 19;
}

Fields[edit | edit source]

# Field Type Description
1 sequence int64 Increments with each telemetry frame. Telemetry is coalesced, so values may be skipped.
2 server_time_ms int64 Server wall clock, Unix ms.
3 actual_frequency_hz double Frequency on air in Hz: the requested frequency plus the frequency offset.
4 requested_power_watts float Power requested, after the PA cap.
5 forward_power_watts float Power leaving the amplifier towards the antenna.
6 delivered_power_watts float Power accepted by the antenna.
7 reflected_power_watts float Power reflected by the mismatch.
8 vswr float Voltage standing-wave ratio at the feed point.
9 mismatch_loss_db float Loss due to the mismatch, dB.
10 transformer_loss_db float Loss in the matching transformer, dB.
11 foldback_loss_db float Power reduction by SWR protection, dB.
12 alc_db float Automatic level control reduction, dB.
13 buffer_seconds float Samples waiting in the server's playout buffer, seconds.
14 finals_temperature_c float Temperature of the final amplifier, °C.
15 thermal_foldback_db float Power reduction by thermal protection, dB.
16 pa_compression_db float Amplifier gain compression, dB.
17 pa_heat_watts float Heat dissipated in the amplifier, W.
18 pa_efficiency_percent float Amplifier efficiency, percent.
19 pa_thermal_fault_active bool True while the amplifier is in thermal fault.

Usage[edit | edit source]

  • Pacing: buffer_seconds is the most useful field for a streaming client. Keep it above zero (otherwise listeners hear gaps) and below about two seconds (otherwise latency grows and input may be discarded).
  • Antenna match: a high vswr with large reflected_power_watts and foldback_loss_db means the antenna is not resonant on the frequency. See SWR and Transmitter Protection.
  • Heat: finals_temperature_c, thermal_foldback_db and pa_thermal_fault_active follow the amplifier model in Power Amplifier Behaviour.
  • Telemetry is coalesced. A slow reader gets the most recent values rather than a backlog; sequence may skip.
  • Keep reading. A client that does not read for 5 seconds is disconnected.

Example[edit | edit source]

Complete frames, including the varint length prefix.

tx_telemetry (server to client, 90 bytes):

59                            frame length 89
8A 01 56                      tx_telemetry (TxTelemetry), 86 bytes
  08 2A                       sequence = 42
  10 FA 95 83 B9 97 34        server_time_ms = 1793000000250
  19 00 00 00 00 34 FC 5A 41  actual_frequency_hz = 7074000.0
  25 00 00 C8 42              requested_power_watts = 100
  2D 00 00 C4 42              forward_power_watts = 98
  35 00 00 C1 42              delivered_power_watts = 96.5
  3D 00 00 C0 3F              reflected_power_watts = 1.5
  45 66 66 A6 3F              vswr = 1.3
  4D 29 5C 8F 3D              mismatch_loss_db = 0.07
  55 CD CC 4C 3E              transformer_loss_db = 0.2
  65 00 00 80 BF              alc_db = -1
  6D 00 00 80 3E              buffer_seconds = 0.25
  75 00 00 34 42              finals_temperature_c = 45
  85 01 9A 99 99 3F           pa_compression_db = 1.2
  8D 01 00 00 F0 41           pa_heat_watts = 30
  95 01 00 00 7A 42           pa_efficiency_percent = 62.5

See also[edit | edit source]

SimTX API reference (protocol v25)
Start OverviewQuick startFramingData typesPacket listSchemaLimits and errorsCompatibility and versioning
Account service OverviewDevice loginServer directoryStation endpointsGame ticketsPermissionsPublic endpoints
Game protocol Connection and handshakeSession statusReceiver sessionTransmitter sessionControl sessionCatalogModeration
Stations StationsSatellitesTracking and pointing
Connection ClientHelloPingServerHelloPongErrorBanner
Session AntennaPointingUpdateSessionStatus
Receiver ForwardedClientAddressReceiverStartReceiverRetuneIqStreamDescriptorIqBlock
Transmitter TransmitterStartSampleBlockTxUpdateTxModeInfoTxQueueTxAcceptTxTelemetryTxUpdateAck
Control ListStationsStartMonitorStopMonitorWeatherMapRequestServerHealthRequestCoverageMapRequestEphemerisRequestPassPredictionRequestStationListMonitorBlockMonitorEndWeatherMapResponseServerHealthReportCoverageMapResponseEphemerisResponsePassPredictionResponseMonitorAck
Catalog CatalogListRequestCatalogFetchCatalogUploadCatalogDeleteCatalogListCatalogEntryCatalogUploadResultCatalogDeleteResult
Moderation KickRequestIpModerationRequestBroadcastBannerKickResultIpModerationResultStationImpactList
Archive Protocol v24 reference