/* * File: epd.h * Author: se * * Created on June 3, 2018, 1:07 PM */ #ifndef EPD_H #define EPD_H #ifdef __cplusplus extern "C" { #endif #define EPD_WIDTH 200 #define EPD_HEIGHT 200 #define DRIVER_OUTPUT_CONTROL 0x01 #define BOOSTER_SOFT_START_CONTROL 0x0C #define GATE_SCAN_START_POSITION 0x0F #define DEEP_SLEEP_MODE 0x10 #define DATA_ENTRY_MODE_SETTING 0x11 #define SW_RESET 0x12 #define TEMPERATURE_SENSOR_CONTROL 0x1A #define MASTER_ACTIVATION 0x20 #define DISPLAY_UPDATE_CONTROL_1 0x21 #define DISPLAY_UPDATE_CONTROL_2 0x22 #define WRITE_RAM 0x24 #define WRITE_VCOM_REGISTER 0x2C #define WRITE_LUT_REGISTER 0x32 #define SET_DUMMY_LINE_PERIOD 0x3A #define SET_GATE_TIME 0x3B // nicht im Datenblatt... #define BORDER_WAVEFORM_CONTROL 0x3C #define SET_RAM_X_ADDRESS_START_END_POSITION 0x44 #define SET_RAM_Y_ADDRESS_START_END_POSITION 0x45 #define SET_RAM_X_ADDRESS_COUNTER 0x4E #define SET_RAM_Y_ADDRESS_COUNTER 0x4F #define TERMINATE_FRAME_READ_WRITE 0xFF extern void EpdSendCommand(uint8_t cmd); extern void EpdSendData(uint8_t dat); extern void EpdReset(void); extern void EpdWaitUntilIdle(void); extern void EpdSetLUT(const uint8_t * lut); extern void EpdSetMemoryArea(int16_t x_start, int16_t y_start, int16_t x_end, int16_t y_end); extern void EpdSetMemoryPointer(int16_t x, int16_t y) ; extern void EpdSetFrameMemory(const uint8_t* image_buffer, int16_t width, int16_t height); extern void EpdClearFrameMemory(uint8_t color); extern void EpdDisplayFrame(void); extern void EpdSleep(); extern void EpdInit(void); extern void EpdClear(void); extern const uint8_t lut_full_update[]; extern const uint8_t lut_partial_update[]; #ifdef __cplusplus } #endif #endif /* EPD_H */