SimTX API/Packets/PassPredictionResponse: Difference between revisions
Appearance
Protocol v25 reference |
Reconcile with the frozen v25 schema |
||
| Line 37: | Line 37: | ||
|} | |} | ||
Reserved, never reused: field number 4 and the name <code>error</code>. | |||
=== Pass === | === Pass === | ||
Revision as of 16:54, 24 October 2026
| Frame | ServerFrame, field 41
|
|---|---|
| Member | passes
|
| Direction | Server → client |
| Session | Control |
| Roles | ROLE_CONTROL.
|
| Permission | None |
| Answers | PassPredictionRequest |
| Defined in | control.proto
|
PassPredictionResponse lists the passes found for a PassPredictionRequest. Failures arrive as Error.
Definition
message PassPredictionResponse {
reserved 4;
reserved "error";
int64 request_id = 1;
bytes satellite_id = 2;
repeated Pass passes = 3;
}
Fields
| # | Field | Type | Description |
|---|---|---|---|
| 1 | request_id |
int64 |
The request this answers. |
| 2 | satellite_id |
bytes |
The satellite. |
| 3 | passes |
repeated Pass |
Passes in time order. Passes that overlap the window are clipped to it. |
Reserved, never reused: field number 4 and the name error.
Pass
message Pass {
int64 aos_ms = 1;
int64 tca_ms = 2;
int64 los_ms = 3;
double max_elevation_deg = 4;
double aos_azimuth_deg = 5;
double los_azimuth_deg = 6;
double max_doppler_hz = 7;
}
| # | Field | Type | Description |
|---|---|---|---|
| 1 | aos_ms |
int64 |
Acquisition of signal: elevation rises through the threshold, Unix ms. |
| 2 | tca_ms |
int64 |
Time of closest approach (highest elevation), Unix ms. |
| 3 | los_ms |
int64 |
Loss of signal, Unix ms. |
| 4 | max_elevation_deg |
double |
Highest elevation, degrees. |
| 5 | aos_azimuth_deg |
double |
Azimuth at AOS, degrees from north through east. |
| 6 | los_azimuth_deg |
double |
Azimuth at LOS, degrees. |
| 7 | max_doppler_hz |
double |
Largest absolute Doppler shift between AOS and LOS at frequency_hz, Hz, ≥ 0. 0 when no frequency was given.
|
Example
Complete frames, including the varint length prefix, from the protocol's golden test vectors (protocol/simtx/v25/testdata/frames.json).
pass_response (server to client, 83 bytes):
52 frame length 82
CA 02 4F passes (PassPredictionResponse), 79 bytes
08 16 request_id = 22
12 10 99 99 99 99 … satellite_id = 99999999-8888-4777-8666-555555555555
1A 39 passes (Pass), 57 bytes
08 C0 98 C0 B9 97 34 aos_ms = 1793001000000
10 A0 C0 D2 B9 97 34 tca_ms = 1793001300000
18 80 E8 E4 B9 97 34 los_ms = 1793001600000
21 00 00 00 00 00 40 4F 40 max_elevation_deg = 62.5
29 00 00 00 00 00 E0 75 40 aos_azimuth_deg = 350.0
31 00 00 00 00 00 40 65 40 los_azimuth_deg = 170.0
39 00 00 00 00 00 24 C3 40 max_doppler_hz = 9800.0