#include <SPI.h>
#include "epd1in54_V2.h"
#include "imagedata.h"
#include "epdpaint.h"
#include <stdio.h>
Epd epd ;
unsigned char image [ 1024 ];
Paint paint ( image , 0 , 0 );
unsigned long time_start_ms ;
unsigned long time_now_s ;
#define COLORED 0
#define UNCOLORED 1
void setup () {
SerialUSB . begin ( 9600 );
while ( ! SerialUSB ) { }
SerialUSB . println ( "e-Paper init and clear!" );
epd . LDirInit ();
epd . Clear ();
paint . SetWidth ( 200 );
paint . SetHeight ( 24 );
SerialUSB . println ( "e-Paper paint" );
paint . Clear ( COLORED );
paint . DrawStringAt ( 30 , 4 , "Hello world!!" , & Font16 , UNCOLORED );
epd . SetFrameMemory (
paint . GetImage (), 0 , 10 , paint . GetWidth (), paint . GetHeight ());
paint . Clear ( UNCOLORED );
paint . DrawStringAt ( 30 , 4 , "e-Paper Demo" , & Font16 , COLORED );
epd . SetFrameMemory (
paint . GetImage (), 0 , 30 , paint . GetWidth (), paint . GetHeight ());
paint . SetWidth ( 64 );
paint . SetHeight ( 64 );
paint . Clear ( UNCOLORED );
paint . DrawRectangle ( 0 , 0 , 40 , 50 , COLORED );
paint . DrawLine ( 0 , 0 , 40 , 50 , COLORED );
paint . DrawLine ( 40 , 0 , 0 , 50 , COLORED );
epd . SetFrameMemory (
paint . GetImage (), 16 , 60 , paint . GetWidth (), paint . GetHeight ());
paint . Clear ( UNCOLORED );
paint . DrawCircle ( 32 , 32 , 30 , COLORED );
epd . SetFrameMemory (
paint . GetImage (), 120 , 60 , paint . GetWidth (), paint . GetHeight ());
paint . Clear ( UNCOLORED );
paint . DrawFilledRectangle ( 0 , 0 , 40 , 50 , COLORED );
epd . SetFrameMemory (
paint . GetImage (), 16 , 130 , paint . GetWidth (), paint . GetHeight ());
paint . Clear ( UNCOLORED );
paint . DrawFilledCircle ( 32 , 32 , 30 , COLORED );
epd . SetFrameMemory (
paint . GetImage (), 120 , 130 , paint . GetWidth (), paint . GetHeight ());
epd . DisplayFrame ();
delay ( 2000 );
SerialUSB . println ( "e-Paper show pic" );
epd . HDirInit ();
// Part display
epd . HDirInit ();
epd . DisplayPartBaseImage ( IMAGE_DATA );
paint . SetWidth ( 50 );
paint . SetHeight ( 60 );
paint . Clear ( UNCOLORED );
char i = 0 ;
char str [ 10 ][ 10 ] = { "0" , "1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" };
for ( i = 0 ; i < 10 ; i ++ ) {
paint . Clear ( UNCOLORED );
paint . DrawStringAt ( 10 , 10 , str [ i ], & Font24 , COLORED );
epd . SetFrameMemoryPartial (
paint . GetImage (), 80 , 70 , paint . GetWidth (), paint . GetHeight ());
epd . DisplayPartFrame ();
delay ( 100 );
}
SerialUSB . println ( "e-Paper clear and goto sleep" );
epd . HDirInit ();
epd . Clear ();
epd . Sleep ();
}
void loop () { }