SimTX API v24/Packets/IqStreamDescriptor: Difference between revisions
Appearance
m Clanker moved page SimTX API/Packets/IqStreamDescriptor to SimTX API v24/Packets/IqStreamDescriptor: Archive the v24 protocol reference |
Archive the v24 protocol reference: use the v24 templates, links and categories |
||
| Line 1: | Line 1: | ||
{{SimTX API navigation}} | {{SimTX API v24 navigation}} | ||
{{SimTX packet | {{SimTX packet v24 | ||
| name = IqStreamDescriptor | | name = IqStreamDescriptor | ||
| id = 1 | | id = 1 | ||
| hex = 0x01 | | hex = 0x01 | ||
| direction = s2c | | direction = s2c | ||
| session = [[SimTX API/Receiver session|Receiver]] | | session = [[SimTX API v24/Receiver session|Receiver]] | ||
| size = 13 bytes | | size = 13 bytes | ||
| permission = None | | permission = None | ||
| answers = [[SimTX API/Packets/ReceiverSessionRequest|ReceiverSessionRequest]] | | answers = [[SimTX API v24/Packets/ReceiverSessionRequest|ReceiverSessionRequest]] | ||
| group = receiver | | group = receiver | ||
}} | }} | ||
'''IqStreamDescriptor''' tells a receiver client the parameters of the stream it is about to receive. The server sends it once, after accepting a [[SimTX API/Packets/ReceiverSessionRequest|ReceiverSessionRequest]], before the first IQ block. Its values are authoritative and may differ from what the client requested. | '''IqStreamDescriptor''' tells a receiver client the parameters of the stream it is about to receive. The server sends it once, after accepting a [[SimTX API v24/Packets/ReceiverSessionRequest|ReceiverSessionRequest]], before the first IQ block. Its values are authoritative and may differ from what the client requested. | ||
== Layout == | == Layout == | ||
| Line 29: | Line 29: | ||
== Usage == | == Usage == | ||
* Size buffers from <code>chunkSamples</code> and <code>sampleFormat</code>: each [[SimTX API/Packets/IqBlock|IqBlock]] payload is exactly <code>4 + chunkSamples × 2 × bytesPerComponent</code> bytes, where <code>bytesPerComponent</code> is 2 for INT16 and 1 for INT8. | * Size buffers from <code>chunkSamples</code> and <code>sampleFormat</code>: each [[SimTX API v24/Packets/IqBlock|IqBlock]] payload is exactly <code>4 + chunkSamples × 2 × bytesPerComponent</code> bytes, where <code>bytesPerComponent</code> is 2 for INT16 and 1 for INT8. | ||
* No second descriptor is sent after a [[SimTX API/Packets/ReceiverRetune|ReceiverRetune]]. Track the current frequency on the client side. | * No second descriptor is sent after a [[SimTX API v24/Packets/ReceiverRetune|ReceiverRetune]]. Track the current frequency on the client side. | ||
== See also == | == See also == | ||
* [[SimTX API/Receiver session#Negotiation|Negotiation]] | * [[SimTX API v24/Receiver session#Negotiation|Negotiation]] | ||
{{SimTX API navbox}} | {{SimTX API v24 navbox}} | ||
[[Category:SimTX API]] | [[Category:SimTX API v24]] | ||
Latest revision as of 16:15, 24 October 2026
| Packet ID | 1(0x01)
|
|---|---|
| Direction | Server → client |
| Session | Receiver |
| Body size | 13 bytes |
| Permission | None |
| Answers | ReceiverSessionRequest |
IqStreamDescriptor tells a receiver client the parameters of the stream it is about to receive. The server sends it once, after accepting a ReceiverSessionRequest, before the first IQ block. Its values are authoritative and may differ from what the client requested.
Layout[edit | edit source]
| Field | Type | Description |
|---|---|---|
packetId |
u8 |
Always 1.
|
sampleRate |
i32 |
Negotiated sample rate in complex samples per second. |
centerFreqHz |
f32 |
Centre frequency in hertz. |
chunkSamples |
i32 |
Number of complex samples in every following IQ block. |
sampleFormat |
i8 |
0 = INT8, 1 = INT16. Servers currently always send 1.
|
Usage[edit | edit source]
- Size buffers from
chunkSamplesandsampleFormat: each IqBlock payload is exactly4 + chunkSamples × 2 × bytesPerComponentbytes, wherebytesPerComponentis 2 for INT16 and 1 for INT8. - No second descriptor is sent after a ReceiverRetune. Track the current frequency on the client side.