eink/eink/main.cpp

52 lines
969 B
C++

#include "clock.hpp"
#include "flash/flash.hpp"
#include "io/io.hpp"
#include "spi/spi.hpp"
#include "uart/uart.hpp"
#include "eink/epd1in54b_V2.h"
#include "eink/imagedata.h"
using uart_t = uart::Uart0<>;
REGISTER_UART0_INT_VECTORS(uart_t);
//////////////////////////////////////////////////////////////////////////
int main()
{
using spi_t = spi::Hardware<spi::Config<>>;
uart_t serial;
serial.init();
sei();
serial << F("e-Paper demo") << F("\r\n");
Epd<spi_t> epd;
if (epd.Init() != 0) {
serial << F("e-Paper init failed") << F("\r\n");
serial.flushTx();
_delay_ms(1000);
return 0;
}
serial << F("e-Paper init") << F("\r\n");
serial << F("e-Paper clear") << F("\r\n");
epd.DisplayClear();
serial << F("e-Paper draw") << F("\r\n");
epd.DisplayFrame(IMAGE_BLACK, IMAGE_RED);
serial << F("e-Paper sleep") << F("\r\n");
epd.Sleep();
while (true) {
serial << F("e-Paper running") << F("\r\n");
_delay_ms(1000);
}
return 0;
}