Landzo_K60Z_Hello/src/main.c

65 lines
1.4 KiB
C

/* 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] = 0xFF0000;
}
lcd_generic_ssd1289_init(&lcd);
epd_coord_t coord;
coord.x_start = 0;
coord.x_end = 319;
for (uint32_t i = 0; i < 239; i++) {
coord.y_start = i;
coord.y_end = i;
lcd_generic_ssd1289_upload(&lcd, &coord, (uint8_t *)disp_data);
}
for (;;) {
__WFI();
}
}