/* main.c */ extern int main(void); /* led.c */ extern void led_init(void); extern void led_clear(void); extern void led_set(void); extern void led_tick(void); /* i2c.c */ extern int i2c_lock(void); extern void i2c_unlock(void); /* usart.c */ extern ring_t rx1_ring; extern ring_t tx1_ring; extern void usart1_isr(void); extern int _write(int file, char *ptr, int len); extern void usart1_queue(uint8_t d); extern void usart1_drain(void); extern void usart_init(void); /* 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_read_byte(ring_t *r, uint8_t *c); extern int ring_write(ring_t *r, uint8_t *buf, size_t len); extern int ring_empty(ring_t *r); /* ticker.c */ 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); /* oled.c */ extern uint8_t dma_buf[(2 + ((128 * ((32 + 7) >> 3))))]; extern uint8_t update_buf[(2 + ((128 * ((32 + 7) >> 3))))]; extern int ssd1306_cmds(uint8_t *buf, size_t len, int delay); extern int ssd1306_cmd(uint8_t cmd, int delay); extern void dma1_channel6_isr(void); extern void oled_refresh_wdt(void); extern void oled_enable_refresh(void); extern void oled_disable_refresh(void); extern void oled_cls(void); extern void oled_on(void); extern void oled_off(void); extern void oled_squirt(void); extern void oled_reset(void); extern void oled_const_strip(int x, int xe, uint8_t and, uint8_t or); extern void oled_blit_strip(int x, int xe, uint8_t mask, int shift, uint8_t *src); extern void oled_init(void); extern void oled_shutdown(void); /* i2c_hw.c */ extern void i2c_clear_start(uint32_t i2c); extern void i2cp_start(void); extern void i2cp_abort_start(void); extern void i2cp_stop(void); extern void i2cp_abort_stop(void); extern int i2cp_send(uint8_t v); extern int i2cp_start_transaction(uint8_t a, int wnr); extern void i2cp_start_dma(uint8_t *buf, int len); extern int i2cp_dma_in_progress(void); extern void i2cp_stop_dma(void); extern void i2cp_reset(void); extern void i2cp_scan(void); extern void i2cp_init(void); /* i2c_bb.c */ extern uint8_t i2cb_send(uint8_t wot); extern uint8_t i2cb_send_addr(uint8_t addr, uint8_t rnw); extern uint8_t i2cb_read(uint8_t ack); extern void i2cb_start(void); extern void i2cb_stop(void); extern int i2cb_start_transaction(uint8_t a, uint8_t rnw); extern void i2cb_reset(void); extern void i2cb_scan(void); extern void i2cb_init(void); /* font8x8.c */ extern void font8x8_put_ch(unsigned ch, unsigned x, unsigned y); extern void font8x8_put_str(char *str, unsigned x, unsigned y); /* font8x16.c */ extern void font8x16_put_ch(unsigned ch, unsigned x, unsigned y); extern void font8x16_put_str(char *str, unsigned x, unsigned y);