Solaris Software
Loading...
Searching...
No Matches
maxm10m20b.h
Go to the documentation of this file.
1/**
2 * @file MAX-M10M-20B.h
3 * @brief UBlox GNSS (MAX-M10M-20B) service.
4 */
5
6#ifndef SPP_MAXM10M20B_H
7#define SPP_MAXM102M0B_H
8
10#include "spp/core/packet.h"
11#include "spp/core/types.h"
13
14/* ----------------------------------------------------------------
15 * CONSTANTS
16 * ---------------------------------------------------------------- */
17
18/* Service */
19#define K_M10M_TASK_PRIO (0)
20#define K_M10M_TIMEOUT_MS (1000U)
21#define K_M10M_SERVICE_PAYLOAD_LEN (12U)
22#define K_M10M_LOG_TAG "MAX-M10M-20B"
23
24/* UBX MESSAGES */
25// Structure: Header (Sync) | Class | ID | Length | (Payload) | Cheksum
26// Header 0xb5 0x62
27
29 0xB5, 0x62, // Sync
30 0x06, 0x04, // UBX-CFG-RST
31 0x04, 0x00, // Length = 4
32 0x00, 0x00, // navBbrMask = 0x0000 (Hot start)
33 0x01, // resetMode = Controlled software reset
34 0x00, // Reserved
35 0x0F, 0x66 // Checksum
36};
37
38static const spp_uint8_t K_M10M_ID_OUT[] = {
39 0xB5, 0x62, // Sync
40 0x27, 0x03, // UBX-SEC-UNIQID
41 0x00, 0x00, // Length = 0 (poll request)
42 0x2A, 0xA5 // Checksum
43};
44
45// Layer (bitfield): RAM (0000 0001 = 0x01) BBR (0000 0010 = 0x02) FLASH (0000 0100 = 0x04)
47 0xB5, 0x62, // Sync
48 0x06, 0x8A, // UBX-CFG-VALSET
49 0x09, 0x00, // Length = 9
50 0x00, // version
51 0x01, // layer = RAM
52 0x00, 0x00, // reserved
53 0x21, 0x00, 0x11, 0x20, // CFG-NAVSPG-DYNMODEL
54 0x08, // Airborne <4g
55 0xF4, 0x51 // Checsum
56};
57
58// Layer: RAM (0x00) BBR (0x01) FLASH (0x02) DFEAULT (0x07)
60 0xB5, 0x62, // Sync
61 0x06, 0x8B, // UBX-CFG-VALGET
62 0x08, 0x00, // Length = 8
63 0x00, // version
64 0x00, // layer = RAM
65 0x00, 0x00, // position
66 0x21, 0x00, 0x11, 0x20, // CFG-NAVSPG-DYNMODEL
67 0xEB, 0x57 // Checksum
68};
69
71 0xB5, 0x62, // Sync
72 0x05, 0x01, // UBX-ACK-ACK
73 0x02, 0x00, // Length
74 0x06, 0x8A, // clsID, msdID <-> UBX-CFG-VALSET
75 0x98, 0xC1 // Checksum
76};
77
79 0xB5, 0x62, // Sync
80 0x05, 0x00, // UBX-ACK-NAK
81 0x02, 0x00, // Length
82 0x06, 0x8A, // clsID, msdID <-> UBX-CFG-VALSET
83 0x97, 0xBC // Checksum
84};
85/* ----------------------------------------------------------------
86* PUBLIC FUNCTIONS
87* ---------------------------------------------------------------- */
89
90#endif /* SPP_MAXM1020B_H */
const SPP_SERVICE_ProducerContract_t * SPP_SERVICES_M10M_getProducerContract(void)
Definition maxm10m20b.c:45
static const spp_uint8_t K_M10M_CTRL_RST_CMD[]
Definition maxm10m20b.h:28
static const spp_uint8_t K_M10M_ID_OUT[]
Definition maxm10m20b.h:38
static const spp_uint8_t K_M10M_DYNMODEL_ACK_OUT[]
Definition maxm10m20b.h:70
static const spp_uint8_t K_M10M_AIR4_DYNMODEL_GET[]
Definition maxm10m20b.h:59
static const spp_uint8_t K_M10M_AIR4_DYNMODEL_SET[]
Definition maxm10m20b.h:46
static const spp_uint8_t K_M10M_DYNMODEL_NAK_OUT[]
Definition maxm10m20b.h:78
Solaris Packet Protocol (SPP) packet structure definitions.
Standard return-value type used across all SPP modules.
SPP module descriptor and registry API.
Describes the contract of a producer module. This module needs to have:
Definition service.h:28
Portable integer types and SPI/storage configuration types for SPP.
uint8_t spp_uint8_t
Definition types.h:27