ZED-F9H - Integration manual
simplest case that may involve fetching the data from the AssistNow Online Service (by means of a
single HTTP or HTTPS GET request), and sending the resulting data to the receiver.
Depending on the circumstances, it may be beneficial for the host software to:
• Create an appropriate UBX-MGA-INI-TIME_UTC message to deliver a better estimation of the
current time to the receiver, especially if the host system has a very good estimation of the
current time and can deliver a time pulse to one of the receiver's EXTINT pins.
• Enable and use flow control to prevent loss of data due to buffer overflow in the receiver.
u-blox provides the source code for an example library, called libMGA, that provides all of the
functionality we expect in most host software.
3.9.4.2 AssistNow Online sequence
A typical sequence of use of the AssistNow Online Service comprises the following steps:
• Power up the u-blox receiver.
• Request data from the AssistNow Online Service.
• Optionally send UBX-MGA-INI-TIME_UTC followed by hardware time synchronization pulse.
• Send the UBX messages obtained from the AssistNow Online Service to the receiver.
3.9.4.3 Flow control
u-blox receivers aim to process incoming messages as quickly as possible, but there will always be
a small delay in processing each message. Uploading assistance data to the receiver can involve
sending as many as one hundred individual messages to the receiver, one after the other. If the
communication link is fast, and/or the receiver is busy (trying to acquire new signals), it is possible
that the internal buffers will overflow and some messages will be lost. In order to combat this, u-blox
receivers support an optional flow control mechanism for assistance.
Flow control is activated by setting the CFG-NAVSPG-ACKAIDING configuration item. As a result
the receiver will issue an acknowledgment message (UBX-MGA-ACK) for each assistance message
it successfully receives. The host software can examine these acknowledgments to establish
whether there were any problems with the data sent to the receiver and deduce (by the lack of
acknowledgment) if any messages have been lost. It may then be necessary to resend some of the
assistance messages.
The simplest way to implement flow control would be to send one UBX-MGA message at a time,
waiting for the acknowledgment, before sending the next. However, such a strategy is likely to
introduce significant delays into the whole assistance process. The best strategy depends on the
amount of assistance data being sent and the nature of the communications link (e.g. baud rate of
serial link). u-blox recommends that when customers are developing their host software they start
by sending all assistance messages and then analyze the resulting acknowledgments to see if any
messages have been lost. Adding small delays during the transmission may be a simple but effective
way to avoid loss of data.
3.9.4.4 Service parameters
The information exchange with the AssistNow Online Service is based on the HTTP protocol. The
u-blox MGA service supports encrypted HTTPS communication. Upon reception of an HTTP GET
request, the server will respond with the required messages in binary format or with an error string
in text format. After delivery of all data, the server will terminate the connection.
The HTTP GET request from the client to the server should contain a standard HTTP query string in
the request URL. The query string consists of a set of "key=value" parameters in the following form:
key=value;key=value;key=value;
UBX-19030120 - R04
3 Receiver functionality
Page 46 of 101
C1-Public