SimTX API v24/Packets/TxUpdate
Appearance
| Packet ID | 19(0x13)
|
|---|---|
| Direction | Client → server |
| Session | Transmitter |
| Body size | 1 + 9 × count bytes |
| Permission | None |
| Answered by | TxUpdateAck |
TxUpdate changes transmitter settings while the station is on air, without reconnecting. It uses the same field IDs as the TransmitterSessionRequest, restricted to numeric fields. The server answers every TxUpdate with a TxUpdateAck.
Layout[edit | edit source]
| Field | Type | Description |
|---|---|---|
packetId |
u8 |
Always 19.
|
count |
u8 |
Number of fields, 1–64. |
fields |
count × { u8 fieldId, i32 length, f32 value } |
length must be 4. A field with any other length (up to 1,024) is skipped.
|
Live fields[edit | edit source]
| ID | Field | Accepted values |
|---|---|---|
| 5 | frequencyHz |
1,000 Hz to 3 GHz. Outside: refused. |
| 6 | powerWatts |
≥ 0. Reduced to at most 1,000,000 W and to the account's tx.pa_limit. Negative: refused.
|
| 10 | txBandwidthHz |
10 Hz to 10 MHz. Outside: refused. |
| 11 | audioLowCutHz |
≥ 0; values above 5,000 are reduced to 5,000. Negative: refused. |
| 14 | finalDriveDb |
−40 to 40 (clamped). |
| 15 | paHeadroomDb |
0.1 to 40. |
| 16 | audioCompressionDb |
0 to 30. |
Any other field ID is refused in the acknowledgement. Changing the modulation, sample rate, source, location or antenna requires a new session.
Rate limits[edit | edit source]
- If any update was applied less than 250 ms earlier, the whole packet is refused.
- A frequency change is refused if the previous frequency change was less than 1 second earlier.
- Refused fields are reported in the ack with
accepted = false. They are not queued; send them again later. - At most 16 acknowledgements may be outstanding. A client that keeps sending updates without reading acks is disconnected.
Example[edit | edit source]
Set power to 50 W and frequency to 7.074 MHz:
13 packetId 19
02 count 2
06 00 00 00 04 42 48 00 00 field 6, length 4, 50.0
05 00 00 00 04 4A D7 E1 A0 field 5, length 4, 7074000.0