blob: a771db7352ed8b8b82604dcc2029610ee0166c89 [file] [log] [blame]
Sylvain Munaute76b6432022-01-12 22:41:01 +01001/*
2 * gpsdo.h
3 *
4 * Copyright (C) 2019-2022 Sylvain Munaut <tnt@246tNt.com>
5 * SPDX-License-Identifier: GPL-3.0-or-later
6 */
7
8#pragma once
9
10enum gpsdo_vctxo_model {
11 VCTXO_TAITIEN_VT40 = 0, /* VTEUALJANF-30.720000 */
12 VCTXO_SITIME_SIT3808_E = 1, /* SIT3808AI-D2-33EE-30.720000T */
13};
14
Sylvain Munautc3083342022-01-13 00:50:10 +010015struct e1usb_gpsdo_status;
16
17
18void gpsdo_get_status(struct e1usb_gpsdo_status *status);
19
20void gpsdo_enable(bool enable);
21bool gpsdo_enabled(void);
22
23void gpsdo_set_tune(uint16_t coarse, uint16_t fine);
24void gpsdo_get_tune(uint16_t *coarse, uint16_t *fine);
25
Sylvain Munaute76b6432022-01-12 22:41:01 +010026void gpsdo_poll(void);
27void gpsdo_init(enum gpsdo_vctxo_model vctxo);