/* Board */ #include "board.h" #include "clock_config.h" #include "peripherals.h" #include "pin_mux.h" /* Utilities */ #include "system_utilities.h" /* SDK debug console */ #include "fsl_debug_console.h" /* LCD */ #include "epd-spi/panel/lcd_generic_ssd1289.h" epd_ret_t epd_impl_write_command(void *handle, uint8_t *command, uint32_t len); epd_ret_t epd_impl_write_data(void *handle, uint8_t *data, uint32_t len); epd_ret_t epd_impl_reset(void *handle); lcd_generic_ssd1289_t lcd = { .cb = { .write_command_cb = epd_impl_write_command, .write_data_cb = epd_impl_write_data, .reset_cb = epd_impl_reset, }, .mode = LCD_GENERIC_SSD1289_MODE_XBRG8888, .dir = LCD_GENETIC_SSD1289_DIR_HORIZONTAL, }; uint32_t disp_data[320]; int main(void) { BOARD_InitBootPins(); BOARD_BootClockRUN(); BOARD_InitBootPeripherals(); BOARD_InitDebugConsole(); BOARD_EnableRTC(); BOARD_EnableLCD(); print_hardware(); sram_test(); for (uint32_t i = 0; i < 320; i++) { disp_data[i] = 0x00FFFF; } lcd_generic_ssd1289_init(&lcd); epd_coord_t coord; coord.x_start = 0; coord.x_end = 319; for (uint32_t i = 0; i < 240; i++) { coord.y_start = i; coord.y_end = i; lcd_generic_ssd1289_upload(&lcd, &coord, (uint8_t *)disp_data); } for (;;) { __WFI(); } }