/* main.c */ extern int main(void); /* cdcacm.c */ extern ring_t cdcacm_rx_ring; extern ring_t cdcacm_tx_ring; extern uint8_t usbd_control_buffer[128]; extern usbd_device *usbd_dev; extern void cdcacm_tick(void); extern void usb_init(void); /* dfu.c */ extern const struct usb_dfu_descriptor dfu_function; extern const struct usb_interface_descriptor dfu_iface; 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); /* 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 unsigned led; extern void delay_us(uint32_t d); extern void sys_tick_handler(void); extern void ticker_init(void); /* timex.c */ extern ring_t timex_ring; extern void timex_tick(void); extern void timex_init(void);