summaryrefslogtreecommitdiffstats
path: root/stm32/app/prototypes.h
blob: 18106bc6fa5d0ac86f5a7319632eebbb26063cb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/* main.c */
extern int main(void);
/* cdcacm.c */
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 enum usbd_request_return_codes 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);
extern void cdcacm_set_config(usbd_device *usbd_dev, uint16_t wValue);
extern void cdcacm_rings_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 enum usbd_request_return_codes dfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, uint16_t *len, usbd_control_complete_callback *complete);
/* ring.c */
extern void ring_init(ring_t *r, uint8_t *buf, size_t len);
extern int ring_write_byte(ring_t *r, uint8_t c);
extern int ring_empty(ring_t *r);
extern int ring_read_byte(ring_t *r, uint8_t *c);
extern int ring_write(ring_t *r, uint8_t *buf, size_t len);
/* usart.c */
extern ring_t usart_rx_ring;
extern ring_t usart_tx_ring;
extern void usart1_isr(void);
extern void usart_kick(void);
extern int _write(int file, char *ptr, int len);
extern void usart_init(void);
/* ticker.c */
extern volatile uint32_t ticks;
extern void delay_us(uint32_t d);
extern void sys_tick_handler(void);
extern void ticker_init(void);
extern void delay_ms(uint32_t d);
/* dummy_kb.c */
extern const struct usb_interface_descriptor dummy_kb_iface;
extern const struct usb_iface_assoc_descriptor dummy_kb_iface_assoc;
/* usb.c */
extern uint8_t usbd_control_buffer[128];
extern usbd_device *usb_device;
extern void usb_hp_can_tx_isr(void);
extern void usb_lp_can_rx0_isr(void);
extern void usb_init(void);
/* rtc.c */
extern volatile unsigned rtc_ready;
extern void rtc_isr(void);
extern EPOCH rtc_get(void);
extern void rtc_init(void);
/* time_fn.c */
extern EPOCH time_epoch_sub(EPOCH a, EPOCH b);
extern EPOCH time_epoch_add(EPOCH a, EPOCH b);
extern UTC time_epoch_to_utc(EPOCH epoch);
extern EPOCH time_utc_to_epoch(UTC u);
extern void utc_to_str(char *dst, UTC *u);
extern void time_print_utc(const char *p, UTC *u, const char *t);
extern void time_print_epoch(const char *p, EPOCH e, const char *t);
extern double time_utc_to_tjd(UTC u);
extern EPOCH time_tjd_to_epoch(double tjd);
extern UTC time_tjd_to_utc(double tjd);
extern RA ra_normalize(RA r);
extern RA time_utc_to_ra(UTC u);
extern RA time_st_to_ra(ST st);
extern ST time_ra_to_st(RA r);
extern ST time_utc_to_lst(UTC u, double lon);
extern MTIME time_to_metric(EPOCH e, UTC u);
extern MTIME time_utc_to_metric(UTC u);
extern MTIME time_epoch_to_metric(EPOCH e);
extern void time_print_metric(const char *p, MTIME *m, const char *t);
/* events.c */
extern double autumnal_equinox(unsigned y);
/* hands.c */
extern unsigned hands_pos[2];
extern unsigned hands_ready;
extern void hands_tick(void);
/* motor.c */
extern void motor_tick(void);
extern void motor_init(void);
/* leds.c */
extern void led_tick(void);
extern void leds_init(void);