/* bootloader.c */ extern int main(void); /* usb.c */ extern uint8_t usbd_control_buffer[1024]; extern const struct usb_device_descriptor dev; extern const struct usb_interface ifaces[]; extern const struct usb_config_descriptor config; extern void usb_set_config(usbd_device *usbd_dev, uint16_t wValue); extern void usb(void); /* dfu.c */ extern const struct usb_dfu_descriptor dfu_function; extern const struct usb_interface_descriptor dfu_iface; extern enum usbd_request_return_codes usbdfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, uint16_t *len, usbd_control_complete_callback *complete); /* delay.c */ extern void sys_tick_handler(void); extern void ticker_on(void); extern void ticker_off(void); extern void delay_ms(uint32_t d); /* usart.c */ extern void usart2_xmit_chr(char d); extern void usart2_xmit_str(const char *s); extern void usart2_xmit_nl(void); extern void usart2_xmit_xdigit(unsigned d); extern void usart2_xmit_uint32(uint32_t v); extern void usart_init(void); /* max7219.c */ extern void max7219_report_addr(uint32_t baseaddr); extern void max7219(const char *str);