Home | History | Annotate | Download | only in protos
      1 syntax = "proto2";
      2 
      3 package android.location.cts;
      4 // RPC service for providing ephemeris data
      5 
      6 
      7 message GpsTimeProto {
      8   optional int64 nanosecond = 1;
      9 }
     10 
     11 message GpsEphemerisProto {
     12   // Time used for generating this data (typically, the queried time).
     13   optional GpsTimeProto data_time = 1;
     14 
     15   // PRN.
     16   optional int32 prn = 2;
     17 
     18   // GPS week number.
     19   optional int32 week = 3;
     20 
     21   // Code on L2.
     22   optional int32 l2_code = 4;
     23 
     24   // L2 P data flag.
     25   optional int32 l2_flag = 5;
     26 
     27   // SV accuracy in meters.
     28   optional double sv_accuracy_m = 6;
     29 
     30   // SV health bits.
     31   optional int32 sv_health = 7;
     32 
     33   // Issue of data (ephemeris).
     34   optional int32 iode = 8;
     35 
     36   // Issue of data (clock).
     37   optional int32 iodc = 9;
     38 
     39   // Time of clock (second).
     40   optional double toc = 10;
     41 
     42   // Time of ephemeris (second).
     43   optional double toe = 11;
     44 
     45   // Transmission time of the message.
     46   optional double tom = 12;
     47 
     48   // Clock info (drift, bias, etc).
     49   optional double af0 = 13;
     50   optional double af1 = 14;
     51   optional double af2 = 15;
     52   optional double tgd = 16;
     53 
     54   // Orbital parameters.
     55   // Square root of semi-major axis
     56   optional double root_of_a = 17;
     57 
     58   // Eccentricity.
     59   optional double e = 18;
     60 
     61   // Inclination angle (radian).
     62   optional double i_0 = 19;
     63 
     64   // Rate of inclination angle (radians/sec).
     65   optional double i_dot = 20;
     66 
     67   // Argument of perigee.
     68   optional double omega = 21;
     69 
     70   // Longitude of ascending node of orbit plane at the beginning of week.
     71   optional double omega_0 = 22;
     72 
     73   // Rate of right ascension.
     74   optional double omega_dot = 23;
     75 
     76   // Mean anomaly at reference time.
     77   optional double m_0 = 24;
     78 
     79   // Mean motion difference from computed value.
     80   optional double delta_n = 25;
     81 
     82   // Amplitude of second-order harmonic perturbations.
     83   optional double crc = 26;
     84   optional double crs = 27;
     85   optional double cuc = 28;
     86   optional double cus = 29;
     87   optional double cic = 30;
     88   optional double cis = 31;
     89 
     90   // FIT interval.
     91   optional double fit_interval = 32;
     92 }
     93 
     94 // Klobuchar Ionospheric Model
     95 message IonosphericModelProto {
     96   // Time used for generating this data (typically, the queried time).
     97   optional GpsTimeProto data_time = 1;
     98 
     99   // Amplitude parameters
    100   repeated double alpha = 2;
    101 
    102   // Period parameters.
    103   repeated double beta = 3;
    104 }
    105 
    106 message UtcModelProto {
    107   optional double a_0 = 1;
    108   optional double a_1 = 2;
    109   optional int64 tow = 3;
    110   optional int32 leap_seconds = 4;
    111 }
    112 
    113 message GpsNavMessageProto {
    114   // Status for the RPC call.
    115   enum RpcStatus {
    116     UNKNOWN_RPC_STATUS = 0;
    117     SUCCESS = 1;
    118     SERVER_ERROR = 2;
    119   }
    120   optional RpcStatus rpc_status = 1;
    121   optional IonosphericModelProto iono = 2;
    122   optional UtcModelProto utc_model = 3;
    123   repeated GpsEphemerisProto ephemerids = 4;
    124 }
    125