NEO-M9N - Integration manual
Where circumstance prevent the provision of all three of these pieces of data, providing some is
likely to be better than none at all, as this helps to lower the TTFF.
3.9.3.3 Flash-based AssistNow Offline
Flash-based
AssistNow Offline functionality means that AssistNow Offline data is stored in the flash
memory connected to the chip.
The user's host system must download the data from the AssistNow Offline service when an
internet connection is available, and then deliver all of that data to the u-blox receiver. As the total
amount of data to be uploaded is large (typically around 100 kbytes) and writing to flash memory is
slow, the upload must be done in blocks of up to 512 bytes, one at a time. The UBX-MGA-FLASH-
DATA message is used to transmit each block to the receiver.
AssistNow Offline data stored in flash memory is not affected by any reset of the receiver.
The only simple ways to clear it are to completely erase the whole flash memory or to
overwrite it with a new set of AssistNow Offline data. Uploading a dummy block of data (e.g.
all zeros) will also have the effect of deleting the data, although a small amount of flash
storage will be used.
3.9.3.3.1 Flash-based storage procedure
The following steps are a typical sequence for transferring AssistNow Offline data into the receiver's
flash memory:
• The host downloads a copy of a latest data from the AssistNow Offline service and stores it
locally.
• It sends the first 512 bytes of that data using the UBX-MGA-FLASH-DATA message.
• It awaits a UBX-MGA-FLASH-ACK message in reply.
• Based on the contents of the UBX-MGA-FLASH-ACK message it sends the next block, resends
the last block or aborts the whole process.
• The above three steps are repeated until all the rest of the data has been successfully
transferred (or the process has been aborted).
• The host sends a UBX-MGA-FLASH-STOP message to indicate completion of the upload.
• It awaits the final UBX-MGA-FLASH-ACK message in reply. Background processing in the
receiver prepares the downloaded data for use at this stage. Particularly if the receiver is
currently busy, this may take quite a few seconds, so the host has to be prepared for a delay
before the UBX-MGA-FLASH-ACK is seen.
Note that the final block may be smaller than 512 bytes (where the total data size is not perfectly
divisible by 512). Also, the UBX-MGA-FLASH-ACK messages are distinct from the UBX-MGA-ACK
messages used for other AssistNow functions.
Any existing data will be deleted as soon as the first block of new data arrives, so no useful data
will be available till the completion of the data transfer. Each block of data has a sequence number,
starting at zero for the first block. In order to guard against invalid partial data downloads the
receiver will not accept blocks which are out of sequence.
3.9.3.4 Host-based AssistNow Offline
Host-based
AssistNow Offline involves AssistNow Offline data being stored until it is needed by the
user's host system in whatever memory it has available.
The user's host system must download the data from the AssistNow Offline service when an
internet connection is available, but retain it until the time the u-blox receiver needs it. At this point,
the host must upload just the relevant portion of the data to the receiver, so that the receiver can
start using it. This is achieved by parsing all the data and selecting for upload to the receiver only
those UBX-MGA-ANO messages with a date-stamp nearest the current time. As each is a complete
UBX-19014286 - R07
3 Receiver functionality
Page 36 of 95
C1-Public