From 4ced1453cee7a3131459040efd57f73bfc77aece Mon Sep 17 00:00:00 2001 From: fishsoupisgood Date: Mon, 15 Jun 2020 14:02:42 +0100 Subject: guage code --- app/oled1.c | 55 ++++++++++++++++++++++++++----------------------------- 1 file changed, 26 insertions(+), 29 deletions(-) (limited to 'app/oled1.c') diff --git a/app/oled1.c b/app/oled1.c index 48c6167..cb1767d 100644 --- a/app/oled1.c +++ b/app/oled1.c @@ -24,17 +24,15 @@ start_dma (void) memcpy (dma_buf, vram_1, DMA_BUF_SZ); - if (ssd1306_cmds (I2C1, cmds, sizeof (cmds), 0)) - { - oled_sad++; - return; - } - - if (i2cp_start_transaction (I2C1, SSD1306_I2C_ADDRESS, I2C_WRITE)) - { - oled_sad++; - return; - } + if (ssd1306_cmds (I2C1, cmds, sizeof (cmds), 0)) { + oled_sad++; + return; + } + + if (i2cp_start_transaction (I2C1, SSD1306_I2C_ADDRESS, I2C_WRITE)) { + oled_sad++; + return; + } refresh_wdt = 0; dma_in_progress = 1; @@ -47,16 +45,15 @@ start_dma (void) void dma1_channel6_isr (void) { - if (dma_in_progress) - { - i2cp1_stop_dma (); + if (dma_in_progress) { + i2cp1_stop_dma(); - i2cp_stop (I2C1); - dma_in_progress = 0; - } + i2cp_stop (I2C1); + dma_in_progress = 0; + } if (refresh_enabled) - start_dma (); + start_dma(); } void @@ -72,19 +69,18 @@ oled1_ticker (void) refresh_wdt = 0; -/*No refresh for 1s, restart everything */ + /*No refresh for 1s, restart everything */ - i2cp1_stop_dma (); + i2cp1_stop_dma(); i2cp_stop (I2C1); dma_in_progress = 0; - if (oled_sad) - { - oled_sad = 0; - i2cp1_reset_sm (); - } + if (oled_sad) { + oled_sad = 0; + i2cp1_reset_sm(); + } - start_dma (); + start_dma(); } @@ -92,7 +88,7 @@ void oled1_enable_refresh (void) { refresh_enabled = 1; - start_dma (); + start_dma(); } @@ -100,6 +96,7 @@ void oled1_disable_refresh (void) { refresh_enabled = 0; + while (dma_in_progress); } @@ -115,13 +112,13 @@ oled1_init (void) oled_generate_stream (vram_1); nvic_enable_irq (NVIC_DMA1_CHANNEL6_IRQ); - oled1_enable_refresh (); + oled1_enable_refresh(); } void oled1_shutdown (void) { - oled1_disable_refresh (); + oled1_disable_refresh(); oled_off (I2C1); } -- cgit v1.2.3