LR1110
User Manual Rev.1.0
UM.LR1110.W.APP March 2020
103 of 130
Semtech
www.semtech.com
11.5.1 Almanac Full Update
The Almanac data for all the satellites can be updated using the command GnssAlmanacFullUpdate( ) :
• AlmanacFullUpdatePayload: defined as in Table 11-17: AlmanacFullUpdatePayload
:
• With the AlmanacHeader defined as in Table 11-18: AlmanacHeader:
Table 11-18: AlmanacHeader
• Each SvAlmanac being a 20 Bytes structure, defined as Table 11-19: SvAlmanac Format:
It is up to the user to ensure that the list of almanacs and the list of satellites ids are coherent. The Almanac data must be
provided in the same order as satellite ids.
The AlmanacFullUpdatePayload takes 20 Bytes (Header) +128 (number of SV) * 20 Bytes =2580 Bytes.
The maximum number of Bytes that can be send from the host MCU is 1020 Bytes. Therefore, the Almanac Full Update shall
be handled in multiple SPI transactions. For example, the two following approaches are possible:
• minimum memory overhead:
The AlmanacFullUpdatePayload can be sent in 129 successive SPI transactions of 20 data Bytes each.
• minimum number of SPI transactions:
The AlmanacFullUpdatePayload can be sent in 2 SPI transactions of 1020 data Bytes each, and a third SPI transaction of
540 Bytes.
Table 11-16: GnssAlmanacFullUpdate
Byte 0 1 2 ...
Data from Host 0x04 0x0E AlmanacFullUpdatePayload
Data to Host Stat1 Stat2 IrqStatus(31:24) ...
Table 11-17: AlmanacFullUpdatePayload
Byte (0:19) (20:39) (40:56) ... (2560:2579)
Field AlmanacHeader SV1 Almanac SV2 Almanac ... SV128 Almanac
Byte 0 (1:2) (3:6) (7:19)
Field 128 AlmanacDate Global CRC RFU
Table 11-19: SvAlmanac Format
Byte 0 (1:15) (16:17) 18 19
Field SV id Almanac Content CA code
Modulation bit
mask
Constellation Id