summaryrefslogtreecommitdiffstats
path: root/app/prototypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'app/prototypes.h')
-rw-r--r--app/prototypes.h68
1 files changed, 46 insertions, 22 deletions
diff --git a/app/prototypes.h b/app/prototypes.h
index 4b20c86..e6b631b 100644
--- a/app/prototypes.h
+++ b/app/prototypes.h
@@ -21,10 +21,10 @@ extern int ring_read_byte(volatile ring_t *r, uint8_t *c);
extern int ring_write(volatile ring_t *r, uint8_t *buf, size_t len, int blocking);
extern int ring_empty(volatile ring_t *r);
/* usart.c */
-extern volatile ring_t rx2_ring;
-extern volatile ring_t tx2_ring;
-extern volatile ring_t rx1_ring;
-extern volatile ring_t tx1_ring;
+extern volatile ring_t usart2_rx_ring;
+extern volatile ring_t usart2_tx_ring;
+extern volatile ring_t usart1_rx_ring;
+extern volatile ring_t usart1_tx_ring;
extern void usart2_isr(void);
extern void usart2_queue(uint8_t d);
extern void usart2_drain(void);
@@ -62,22 +62,10 @@ extern void exti1_isr(void);
extern void msf_dispatch(void);
extern void msf_init(void);
/* abs.c */
-extern uint64_t abs_extend(uint32_t now);
-extern void abs_meh(void);
-extern uint64_t abs_get(void);
-extern void abs_slow_tick(void);
/* pll.c */
-extern int64_t pll_freq;
-extern uint64_t pll_last_update;
-extern int pll_valid;
-extern int pll_ready;
-extern void pll_meh(void);
-extern uint64_t make_happy(uint64_t abs, int64_t shift);
-extern void pll_dispatch(uint64_t happy, uint64_t edge, const char *src);
-extern void pll_set_offset(EPOCH epoch, uint64_t abs);
-extern EPOCH _pll_decompose(uint64_t abs);
-extern EPOCH pll_decompose_diff(int64_t diff);
-extern EPOCH pll_decompose(uint64_t abs);
+extern void pll_set_offset(EPOCH epoch, uint64_t abs, uint64_t ptp);
+extern void pll_dispatch(uint64_t happy, uint64_t edge, uint64_t ptp_edge, const char *src);
+extern void pll_check(void);
/* main.c */
extern int time_known;
extern int main(void);
@@ -104,6 +92,11 @@ extern unsigned bcd(uint8_t *d, unsigned s, unsigned e);
extern unsigned le_bcd(uint8_t *d, unsigned s, unsigned e);
/* stats.c */
/* gps.c */
+extern unsigned gps_sats_searching;
+extern unsigned gps_sats_inop;
+extern unsigned gps_sats_locked;
+extern unsigned gps_sats_with_e;
+extern int gps_initting;
extern uint64_t gps_last_happy;
extern void exti9_5_isr(void);
extern double gps_lat;
@@ -121,12 +114,10 @@ extern void hexdump(void *_d, int len);
/* bits.c */
extern void dump_bits(char *wot, uint8_t *bits);
/* max7219.c */
-extern unsigned fix_dots;
-extern unsigned fix_dots_even;
+extern void max7219_init(int on);
extern void max7219_report_fix(char fix, char fix2);
extern void max7219_report_svin(int valid, int active);
extern void max7219_dispatch(void);
-extern void max7219_init(int on, int brightness);
/* report.c */
extern void report_time(const char *src, EPOCH e, uint64_t abs, const char *info);
/* sysclk.c */
@@ -138,6 +129,8 @@ extern ring_t cdcacm_rx_ring;
extern ring_t cdcacm_tx_ring;
extern const struct usb_interface_descriptor comm_iface;
extern const struct usb_interface_descriptor data_iface;
+extern const struct usb_iface_assoc_descriptor cdc_iface_assoc;
+extern int cdcacm_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, uint16_t *len, usbd_control_complete_callback *complete);
extern void cdcacm_tick(void);
extern int cdcacm_write(char *ptr, int len, int blocking);
extern void cdcacm_set_config(usbd_device *usbd_dev, uint16_t wValue);
@@ -150,4 +143,35 @@ extern void usb_init(void);
/* dfu.c */
extern const struct usb_dfu_descriptor dfu_function;
extern const struct usb_interface_descriptor dfu_iface;
+extern const struct usb_iface_assoc_descriptor dfu_iface_assoc;
extern int dfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, uint16_t *len, usbd_control_complete_callback *complete);
+/* adc.c */
+extern uint8_t pot_brightness;
+extern void adc_dispatch(void);
+extern void adc_init(void);
+/* dummy_kb.c */
+extern const struct usb_interface_descriptor dummy_kb_iface;
+extern const struct usb_iface_assoc_descriptor dummy_kb_iface_assoc;
+/* ref.c */
+extern uint64_t ref_last_update;
+extern int ref_valid;
+extern int ref_offset_known;
+extern uint64_t ref_extend_irq(uint32_t now);
+extern uint64_t ref_extend(uint32_t now);
+extern uint64_t ref_get_irq(void);
+extern uint64_t ref_get(void);
+extern void ref_slow_tick(void);
+extern uint64_t make_happy(uint64_t abs, int64_t shift);
+extern void ref_dispatch(uint64_t edge, const char *src);
+extern void ref_set_offset(EPOCH epoch, uint64_t abs);
+extern EPOCH ref_decompose_diff(int64_t diff);
+extern EPOCH ref_decompose(uint64_t abs);
+/* ptp.c */
+extern int ptp_offset_known;
+extern uint64_t ptp_to_u64(uint32_t l, uint32_t h);
+extern uint64_t ptp_get(void);
+extern void ptp_dispatch(uint64_t edge, const char *src);
+extern void ptp_set_offset(EPOCH epoch, uint64_t abs);
+extern EPOCH ptp_decompose_diff(int64_t diff);
+extern EPOCH ptp_decompose(uint64_t abs);
+extern void ptp_slow_tick(void);