diff options
Diffstat (limited to 'stm32/app/prototypes.h')
-rw-r--r-- | stm32/app/prototypes.h | 81 |
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); |