Jump to content

SimTX API v24/Packets/TimedIqBlock

From SimTX Wiki
This page documents protocol v24, which current servers no longer accept. See SimTX API for v25.
TimedIqBlock
Packet ID 31(0x1F)
Direction Server → client
Session Receiver
Body size 20 + chunkSamples × 4 bytes (INT16)
Permission None
Answered by
Answers

TimedIqBlock is an IqBlock with a timestamp. Receiver sessions opened with role 6 (TIMESTAMPED_RECEIVER) receive these instead of plain IQ blocks. The timestamp is the UTC instant of the block's first sample on the server's simulated RF timeline.

Layout[edit | edit source]

Field Type Description
packetId u8 Always 31.
epochSecond i64 Seconds since 1970-01-01T00:00:00Z of the first sample.
nanos i32 Nanoseconds within that second, 0–999,999,999.
payloadLength i32 Length of the payload in bytes. At most 1 MiB.
payload u8[payloadLength] f32 blockScale followed by the samples, exactly as in IqBlock.

Usage[edit | edit source]

  • Sample k of a block was received at epochSecond + nanos / 109 + k / sampleRate.
  • Timestamps from different receivers on the same server share one timeline, so they can be compared directly. This enables time-difference-of-arrival measurements and alignment of several receivers.
  • A jump between consecutive blocks larger than chunkSamples / sampleRate indicates dropped blocks.
  • Comparing a block's timestamp with the local clock gives the end-to-end latency, provided both clocks are synchronised.

See also[edit | edit source]

SimTX API v24 reference (protocol v24, archived)
Start OverviewQuick startData typesLimits and errorsPacket list
Account service OverviewDevice loginServer directoryGame ticketsPermissionsPublic endpoints
Game protocol Connection and handshakeReceiver sessionTransmitter sessionControl sessionCatalogModeration
Handshake HandshakeHandshakeResult
Receiver ReceiverSessionRequestReceiverRetuneForwardedClientAddressIqStreamDescriptorIqBlockTimedIqBlock
Transmitter TransmitterSessionRequestSampleBlockTxModeInfoTxUpdateTxQueueTxAcceptTxRejectTxKickTxTelemetryTxUpdateAck
Control ControlAckBannerListStationsStationListServerHealthRequestServerHealthReportCoverageMapRequestCoverageMapResponseWeatherMapRequestWeatherMapResponseStartMonitorStopMonitorMonitorBlockMonitorEnd
Catalog CatalogListRequestCatalogListCatalogFetchCatalogEntryCatalogUploadCatalogUploadResultCatalogDeleteCatalogDeleteResult
Moderation KickRequestKickResultIpModerationRequestIpModerationResultBroadcastBannerModerationErrorStationImpactList
Current Protocol v25 reference