MRTKLIB 0.7.14
Modernized GNSS Positioning Library
Loading...
Searching...
No Matches
mrtk_madoca.h
Go to the documentation of this file.
1/*------------------------------------------------------------------------------
2 * mrtk_madoca.h : MADOCA-PPP processing functions
3 *
4 * Copyright (C) 2026 H.SHIONO (MRTKLIB Project)
5 * Copyright (C) 2023-2025 Cabinet Office, Japan
6 * Copyright (C) 2024-2025 Lighthouse Technology & Consulting Co. Ltd.
7 * Copyright (C) 2023-2025 Japan Aerospace Exploration Agency
8 * Copyright (C) 2023-2025 TOSHIBA ELECTRONIC TECHNOLOGIES CORPORATION
9 * Copyright (C) 2015- Mitsubishi Electric Corp.
10 * Copyright (C) 2014 Geospatial Information Authority of Japan
11 * Copyright (C) 2014 T.SUZUKI
12 * Copyright (C) 2007-2023 T.TAKASU
13 *
14 * SPDX-License-Identifier: BSD-2-Clause
15 *----------------------------------------------------------------------------*/
16/**
17 * @file mrtk_madoca.h
18 * @brief MRTKLIB MADOCA-PPP Module — QZSS L6E CSSR message decode functions.
19 *
20 * This header provides functions for decoding QZSS L6E (MADOCA-PPP) Compact
21 * SSR messages and converting them to RTCM SSR format, extracted from
22 * mdccssr.c with zero algorithmic changes.
23 *
24 * @note Functions declared here are implemented in mrtk_madoca.c.
25 */
26#ifndef MRTK_MADOCA_H
27#define MRTK_MADOCA_H
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
35#include "mrtklib/mrtk_nav.h"
36#include "mrtklib/mrtk_obs.h"
37#include "mrtklib/mrtk_rtcm.h"
38#include "mrtklib/mrtk_rtkpos.h"
39#include "mrtklib/mrtk_time.h"
40
41/*============================================================================
42 * MADOCA-PPP Functions
43 *===========================================================================*/
44
45/**
46 * @brief Set MADOCA-PPP CSSR channel index for multi-L6E.
47 * @param[in] ch Channel index (0 or 1)
48 */
49void set_mcssr_ch(int ch);
50
51/**
52 * @brief Get current MADOCA-PPP CSSR channel index.
53 * @return Current channel index
54 */
55int get_mcssr_ch(void);
56
57/**
58 * @brief Initialize MADOCA-PPP CSSR control struct for current channel.
59 * @param[in] gt GPST for week number determination
60 */
61void init_mcssr(const gtime_t gt);
62
63/**
64 * @brief Decode QZSS L6E message and convert to RTCM SSR.
65 * @param[in,out] rtcm RTCM control struct
66 * @return Status (-1: error, 0: no message, 10: input SSR messages)
67 * @note Before calling this function, call init_mcssr().
68 */
70
71/**
72 * @brief Stack QZSS L6E message and synchronize frame with L6 preamble.
73 * @param[in,out] rtcm RTCM control struct
74 * @param[in] data L6E 1-byte data
75 * @return Status (-1: error, 0: no message, 10: input CSSR messages)
76 * @note Before calling this function, call init_mcssr().
77 */
78int input_qzssl6e(rtcm_t* rtcm, const uint8_t data);
79
80/**
81 * @brief Fetch next QZSS L6E message and input a message from file.
82 * @param[in,out] rtcm RTCM control struct
83 * @param[in] fp File pointer
84 * @return Status (-2: end of file, -1...10: same as input_qzssl6e())
85 * @note Same as input_qzssl6e().
86 */
87int input_qzssl6ef(rtcm_t* rtcm, FILE* fp);
88
89/**
90 * @brief Select MADOCA-PPP code/phase bias code from observation code.
91 * @param[in] sys Navigation system
92 * @param[in] code Observation code
93 * @return MADOCA-PPP CB/PB code
94 */
95int mcssr_sel_biascode(const int sys, const int code);
96
97#ifdef __cplusplus
98}
99#endif
100
101#endif /* MRTK_MADOCA_H */
MRTKLIB Context — runtime context for processing, trace, and error handling.
MRTKLIB Foundation — Common types, standard includes, and system constants (MAXSAT,...
int decode_qzss_l6emsg(rtcm_t *rtcm)
Decode QZSS L6E message and convert to RTCM SSR.
int get_mcssr_ch(void)
Get current MADOCA-PPP CSSR channel index.
int input_qzssl6ef(rtcm_t *rtcm, FILE *fp)
Fetch next QZSS L6E message and input a message from file.
int mcssr_sel_biascode(const int sys, const int code)
Select MADOCA-PPP code/phase bias code from observation code.
void init_mcssr(const gtime_t gt)
Initialize MADOCA-PPP CSSR control struct for current channel.
void set_mcssr_ch(int ch)
Set MADOCA-PPP CSSR channel index for multi-L6E.
int input_qzssl6e(rtcm_t *rtcm, const uint8_t data)
Stack QZSS L6E message and synchronize frame with L6 preamble.
MRTKLIB Navigation Module — Navigation data types and satellite/nav utility functions.
MRTKLIB Observation Module — Observation data types and utility functions.
static rtcm_t * rtcm
MRTKLIB RTCM Module — RTCM message types and functions.
MRTKLIB RTK Positioning Module — relative and precise positioning.
MRTKLIB Time Module — GNSS time types and conversion functions.
GNSS time representation.
Definition mrtk_time.h:49
RTCM control struct type.
Definition mrtk_rtcm.h:50