/* 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 int ssd1306_cmds(uint32_t i2c, uint8_t *buf, size_t len, int delay); extern int ssd1306_cmd(uint32_t i2c, uint8_t cmd, int delay); extern void oled_generate_stream(uint8_t *vram); extern void oled_cls(uint8_t *vram); extern void oled_on(uint32_t i2c); extern void oled_off(uint32_t i2c); extern void oled_reset(uint32_t i2c); extern void oled_const_strip(uint8_t *vram, int x, int xe, uint8_t and, uint8_t or); extern void oled_blit_strip(uint8_t *vram, int x, int xe, uint8_t mask, int shift, const uint8_t *src); /* i2c_hw.c */ extern void i2c_clear_start(uint32_t i2c); extern int i2cp_start(uint32_t i2c); extern void i2cp_abort_start(uint32_t i2c); extern void i2cp_stop(uint32_t i2c); extern void i2cp_abort_stop(uint32_t i2c); extern int i2cp_send(uint32_t i2c, uint8_t v); extern int i2cp_start_transaction(uint32_t i2c, uint8_t a, int wnr); extern void i2cp1_reset_sm(void); extern void i2cp2_reset_sm(void); extern void i2cp1_start_dma(uint8_t *buf, int len); extern void i2cp2_start_dma(uint8_t *buf, int len); extern int i2cp1_dma_in_progress(void); extern int i2cp2_dma_in_progress(void); extern void i2cp1_stop_dma(void); extern void i2cp2_stop_dma(void); extern void i2cp_reset(uint32_t i2c); extern void i2cp_scan(uint32_t i2c); extern void i2cp_init(void); /* font8x8.c */ extern void font8x8_put_ch(uint8_t *vram, unsigned ch, unsigned x, unsigned y); extern void font8x8_put_str(uint8_t *vram, char *str, unsigned x, unsigned y); /* font8x16.c */ extern void font8x16_put_ch(uint8_t *vram, unsigned ch, unsigned x, unsigned y); extern void font8x16_put_str(uint8_t *vram, char *str, unsigned x, unsigned y); /* tacho.c */ extern uint32_t raw_tacho; extern void exti3_isr(void); extern void tacho_init(void); /* oled1.c */ extern uint8_t vram_1[(2 + ((128 * ((32 + 7) >> 3))))]; extern void dma1_channel6_isr(void); extern void oled1_ticker(void); extern void oled1_enable_refresh(void); extern void oled1_disable_refresh(void); extern void oled1_init(void); extern void oled1_shutdown(void); /* oled2.c */ extern uint8_t vram_2[(2 + ((128 * ((32 + 7) >> 3))))]; extern void dma1_channel4_isr(void); extern void oled2_ticker(void); extern void oled2_enable_refresh(void); extern void oled2_disable_refresh(void); extern void oled2_init(void); extern void oled2_shutdown(void); /* font21x32.c */ extern void font21x32_put_ch(uint8_t *vram, unsigned ch, unsigned x); extern void font21x32_put_str(uint8_t *vram, char *str, unsigned x); /* gauge.c */ extern int gauge_target; extern void gauge_ticker(void); extern void gauge_test(void); extern void gauge_init(void);