RTI on Android

This section discusses about some Android OS specific RTI information.

RTI stand for Real Time Integrity. The purpose of this feature is to compensate incorrect information in the signal being transmitted by GLONASS satellites. Sometimes, Glonass satellites become unhealthy, but are not reported as such until a few hours later. The GPS engine has the ability to request for RTI information to be downloaded to be able to validate if a GLONASS satellite can be trusted or not and used in a FIX. The GPS engine requests for RTI (and other assistance) based on GL_AID_RTI_RQD bit of mask in GlAidRequest structure.

RTI download URL cannot be configured in the XML.

There are some cases where the GPS engine should not download RTI, in particular when using a simulator. The proper way to configure the engine is by setting the IgnoreAidingMask.

    GL_AID_ACQ_RQD  = (1 << 0),  ///< Acquisition assistance 
    . . .
    GL_AID_RTI_RQD  = (1 << 5),  ///< Real time integrity

    In this case we only set GL_AID_RTI_RQD bit to ignore RTI 
    
    <hal
        IgnoreAidingMask="32"
    />
  

GPS LOG on Android with BAD RTI for GLONASS Satellite SVID 8

BAD RTI will result in a longer TTFF but the TTFF will still be shorter than the case where the bad satellite would have been used to compute the position

02-14 19:07:07.988   129   129 D slog    : #127112D REQ_RTI
02-14 19:07:07.988   129   129 D slog    : GlGpsdInterface::OnAsstStatus
02-14 19:07:07.988   129   129 D slog    : RTI domain=gllto.glpals.com, port=80, file=/rtistatus.dat
02-14 19:07:07.988   129   129 D slog    : Dns::SetFqdn(this=0x40276ef8, name=gllto.glpals.com, port=80)
02-14 19:07:07.988   129   129 D slog    : Dns::Resolve(this=0x40276ef8)
02-14 19:07:07.988   129   129 D slog    : TIMER RtiStatus-connection ARM 20000 ms
02-14 19:07:10.343   129   129 D slog    : Connection::OnSelect(fd=22, rd=1, wr=0, err=0, user_data)
02-14 19:07:10.343   129   129 D slog    : Content-Length: 109
02-14 19:07:10.343   129   129 D slog    : RTI download OK (109 bytes)
02-14 19:07:10.343   129   129 I slog    : $129474I GlEngine::SetRealTimeIntegrity
02-14 19:07:10.344   129   129 I slog    : $129474I GPS RTI ffffffff:00000000
02-14 19:07:10.344   129   129 I slog    : $129474I SBAS RTI ffffffff:80000000
02-14 19:07:10.344   129   129 I slog    : $129474I QZSS RTI ffffffff:80000000
02-14 19:07:10.344   129   129 I slog    : $129474I GLONASS RTI ffffffff:80000080
02-14 19:07:10.344   129   129 I slog    : $129474I SVHM: Health(GLNS, 8):  State:BAD_BY_RTI
02-14 19:07:10.345   129   129 D slog    : TIMER RtiStatus-connection DISARM
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines