From 5cdfcb08fbcaca99c92c157eb929a38ddf6415bb Mon Sep 17 00:00:00 2001 From: fishsoupisgood Date: Mon, 15 Jun 2020 12:47:22 +0100 Subject: working 2nd display --- app/prototypes.h | 82 +++++++++++++++++++++++++++++++++----------------------- 1 file changed, 48 insertions(+), 34 deletions(-) (limited to 'app/prototypes.h') diff --git a/app/prototypes.h b/app/prototypes.h index 19b92f0..60ba26c 100644 --- a/app/prototypes.h +++ b/app/prototypes.h @@ -28,45 +28,59 @@ 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); +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, uint8_t *src); /* 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_reset_sm(void); -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 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 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(unsigned ch, unsigned x, unsigned y); -extern void font8x8_put_str(char *str, unsigned x, unsigned y); +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(unsigned ch, unsigned x, unsigned y); -extern void font8x16_put_str(char *str, unsigned x, unsigned y); +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 exit3_isr(void); +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); -- cgit v1.2.3