Line data Source code
1 0 : /*
2 : * Copyright (c) 2023 Trackunit Corporation
3 : * Copyright (c) 2025 Croxel Inc.
4 : * Copyright (c) 2025 CogniPilot Foundation
5 : *
6 : * SPDX-License-Identifier: Apache-2.0
7 : */
8 :
9 : #ifndef ZEPHYR_INCLUDE_GNSS_RTK_RTK_H_
10 : #define ZEPHYR_INCLUDE_GNSS_RTK_RTK_H_
11 :
12 : #ifdef __cplusplus
13 : extern "C" {
14 : #endif
15 :
16 : #include <stdint.h>
17 : #include <stddef.h>
18 :
19 0 : struct gnss_rtk_data {
20 0 : const uint8_t *data;
21 0 : size_t len;
22 : };
23 :
24 0 : typedef void (*gnss_rtk_data_callback_t)(const struct device *dev,
25 : const struct gnss_rtk_data *data);
26 :
27 0 : struct gnss_rtk_data_callback {
28 0 : const struct device *dev;
29 0 : gnss_rtk_data_callback_t callback;
30 : };
31 :
32 : #if CONFIG_GNSS_RTK
33 : #define GNSS_RTK_DATA_CALLBACK_DEFINE(_dev, _callback) \
34 : static const STRUCT_SECTION_ITERABLE(gnss_rtk_data_callback, \
35 : _gnss_rtk_data_callback__##_callback) = { \
36 : .dev = _dev, \
37 : .callback = _callback, \
38 : }
39 : #else
40 0 : #define GNSS_RTK_DATA_CALLBACK_DEFINE(_dev, _callback)
41 : #endif
42 :
43 : #ifdef __cplusplus
44 : }
45 : #endif
46 :
47 : #endif /* ZEPHYR_INCLUDE_GNSS_RTK_RTK_H_ */
|