/* led.c */ extern void led_init(void); extern void led_clear(void); extern void led_set(void); extern void led_slow_tick(void); /* ticker.c */ extern volatile uint32_t ticks; extern void delay_us(uint32_t d); extern void sys_tick_handler(void); extern void delay_ms(uint32_t d); extern void ticker_init(void); /* ring.c */ extern void ring_init(volatile ring_t *r, uint8_t *buf, size_t len); extern int ring_write_byte(volatile ring_t *r, uint8_t c); extern int ring_read_byte(volatile ring_t *r, uint8_t *c); extern int ring_write(volatile ring_t *r, uint8_t *buf, size_t len, int blocking); extern int ring_empty(volatile ring_t *r); /* usart.c */ extern volatile ring_t rx6_ring; extern volatile ring_t tx6_ring; extern void usart6_isr(void); extern void usart6_queue(uint8_t d); extern void usart6_drain(void); extern int usart6_write(char *ptr, int len, int blocking); extern void usart_init(void); /* stdio.c */ extern int _open(const char *name, int flags, int mode); extern int _close(int file); extern int _write(int file, char *buf, int nbytes); extern int _read(int file, char *buf, int nbytes); extern int _fstat(int file, struct stat *st); extern int _lseek(int file, int offset, int whence); extern int isatty(int file); extern void stdio_drain(void); /* lwip_glue.c */ extern struct netif if0; extern uint32_t sys_now(void); extern void dispatch_lwip(void); extern void start_lwip(void); /* steth.c */ extern _Bool phy_link_an_done(uint8_t phy); extern void eth_isr(void); extern void steth_isr(void); extern err_t steth_lwip_init(struct netif *netif); extern void steth_init(void); extern void steth_dispatch(void); /* msf.c */ extern void exti0_isr(void); extern void radio_init(void); /* abs.c */ extern uint64_t abs_extend(uint32_t now); extern uint64_t abs_get(void); extern void abs_slow_tick(void); /* pll.c */ extern void pll_dispatch(uint64_t edge); extern void pll_set_offset(EPOCH epoch, uint64_t abs); extern EPOCH pll_decompose(uint64_t abs); /* main.c */ extern int main(void); /* time_fn.c */ extern UTC time_epoch_to_utc(EPOCH epoch); extern EPOCH time_utc_to_epoch(UTC u); extern void time_print_utc(UTC u); extern void time_print_epoch(EPOCH e);