#include "odroid/display.h" #include "odroid/input.h" #include "macros.h" #include #include #include #include static const char* LOG_TAG = "Main"; static uint16_t gFramebuffer[LCD_WIDTH * LCD_HEIGHT]; void app_main(void) { Odroid_InitializeInput(); Odroid_InitializeDisplay(); ESP_LOGI(LOG_TAG, "Odroid initialization complete - entering main loop"); int x = 0; int y = 0; uint16_t color = 0xffff; for (;;) { memset(gFramebuffer, 0, 320 * 240 * 2); Odroid_Input input = Odroid_PollInput(); if (input.left) { x -= 20; } else if (input.right) { x += 20; } if (input.up) { y -= 20; } else if (input.down) { y += 20; } if (input.a) { color = SWAP_ENDIAN_16(RGB565(0xff, 0, 0)); } else if (input.b) { color = SWAP_ENDIAN_16(RGB565(0, 0xff, 0)); } else if (input.start) { color = SWAP_ENDIAN_16(RGB565(0, 0, 0xff)); } else if (input.select) { color = SWAP_ENDIAN_16(RGB565(0xff, 0xff, 0xff)); } for (int row = y; row < y + 50; ++row) { for (int col = x; col < x + 50; ++col) { gFramebuffer[LCD_WIDTH * row + col] = color; } } Odroid_DrawFrame(gFramebuffer); } // Should never get here esp_restart(); }