SimTX API v24/Packets/TxUpdate
Appearance
| Frame | {{{frame}}}, field {{{field}}}
|
|---|---|
| Member | {{{member}}}
|
| Direction | Client → server |
| Session | Transmitter |
| Roles | |
| Permission | None |
| Answered by | TxUpdateAck |
| Defined in |
|
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
| 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
| 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
- 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
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