summaryrefslogtreecommitdiffstats
path: root/stm32/app/prototypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'stm32/app/prototypes.h')
-rw-r--r--stm32/app/prototypes.h81
1 files changed, 81 insertions, 0 deletions
diff --git a/stm32/app/prototypes.h b/stm32/app/prototypes.h
new file mode 100644
index 0000000..751ba25
--- /dev/null
+++ b/stm32/app/prototypes.h
@@ -0,0 +1,81 @@
+/* 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 unsigned led2;
+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);