diff --git a/src/calc/calc.c b/src/calc/calc.c new file mode 100644 index 0000000..e69de29 diff --git a/src/calc/calc.h b/src/calc/calc.h new file mode 100644 index 0000000..e69de29 diff --git a/src/input/input.c b/src/input/input.c new file mode 100644 index 0000000..e69de29 diff --git a/src/input/input.h b/src/input/input.h new file mode 100644 index 0000000..e69de29 diff --git a/src/led/led.c b/src/led/led.c new file mode 100644 index 0000000..e69de29 diff --git a/src/led/led.pio b/src/led/led.pio new file mode 100644 index 0000000..e69de29 diff --git a/src/main.c b/src/main.c index 54f15db..5acc467 100644 --- a/src/main.c +++ b/src/main.c @@ -43,21 +43,14 @@ int main() sleep_ms(100); tft_start_pixels(lcd_config.pio, lcd_config.sm); while (true){ - for(size_t i = 0; i < 8; i++) { - tft_fill(0); - dma_channel_wait_for_finish_blocking(dma_chan); - } tft_start_pixels(lcd_config.pio, lcd_config.sm); - absolute_time_t start = get_absolute_time(); - for(size_t i = 0; i < 8; i++) { - tft_fill(31807); - dma_channel_wait_for_finish_blocking(dma_chan); - } - absolute_time_t end = get_absolute_time(); - volatile int64_t diff = absolute_time_diff_us(start, end); + tft_fill(0); + dma_channel_wait_for_finish_blocking(dma_chan); + sleep_ms(1000); + tft_start_pixels(lcd_config.pio, lcd_config.sm); tft_fill(31807); dma_channel_wait_for_finish_blocking(dma_chan); - // actual refresh rate ~25hz + sleep_ms(1000); } return 0; } diff --git a/src/tft.c b/src/tft/tft.c similarity index 81% rename from src/tft.c rename to src/tft/tft.c index c6a66cc..78960fa 100644 --- a/src/tft.c +++ b/src/tft/tft.c @@ -60,13 +60,17 @@ void tft_init(const struct tft_config* config, int dma_channel) { gpio_put(tft_cfg.gpio_bl, 1); } void tft_fill(uint16_t color) { - uint32_t color_left = ((uint32_t)color) << 16; - uint32_t two = 0; - two |= color_left; - two |= color; - uint32_t pix_buf[320*480/4]; - for(size_t i = 0; i < 320*480/4; i++) { - pix_buf[i] = two; + for(size_t i = 0; i < 8; i++) { + dma_channel_wait_for_finish_blocking(dma_chan); + uint32_t color_left = ((uint32_t)color) << 16; + uint32_t two = 0; + two |= color_left; + two |= color; + uint32_t pix_buf[320*480/4]; + for(size_t i = 0; i < 320*480/4; i++) { + pix_buf[i] = two; + } + dma_channel_set_read_addr(dma_chan, pix_buf, true); } - dma_channel_set_read_addr(dma_chan, pix_buf, true); + } \ No newline at end of file diff --git a/src/tft.h b/src/tft/tft.h similarity index 100% rename from src/tft.h rename to src/tft/tft.h diff --git a/src/tft.pio b/src/tft/tft.pio similarity index 100% rename from src/tft.pio rename to src/tft/tft.pio diff --git a/src/ui/ui.c b/src/ui/ui.c new file mode 100644 index 0000000..e69de29 diff --git a/src/ui/ui.h b/src/ui/ui.h new file mode 100644 index 0000000..e69de29