1 /*****************************************************************************
3 * | Author : Waveshare team
4 * | Function : 2.9inch e-paper
10 * -----------------------------------------------------------------------------
13 * lut_full_update[] => EPD_2IN9_lut_full_update[]
14 * lut_partial_update[] => EPD_2IN9_lut_partial_update[]
15 * EPD_Reset() => EPD_2IN9_Reset()
16 * EPD_SendCommand() => EPD_2IN9_SendCommand()
17 * EPD_SendData() => EPD_2IN9_SendData()
18 * EPD_WaitUntilIdle() => EPD_2IN9_ReadBusy()
19 * EPD_SetLut() => EPD_2IN9_SetLut()
20 * EPD_SetWindow() => EPD_2IN9_SetWindow()
21 * EPD_SetCursor() => EPD_2IN9_SetCursor()
22 * EPD_TurnOnDisplay() => EPD_2IN9_TurnOnDisplay()
23 * EPD_Init() => EPD_2IN9_Init()
24 * EPD_Clear() => EPD_2IN9_Clear()
25 * EPD_Display() => EPD_2IN9_Display()
26 * EPD_Sleep() => EPD_2IN9_Sleep()
27 * 2.remove commands define:
28 * #define DRIVER_OUTPUT_CONTROL 0x01
29 * #define BOOSTER_SOFT_START_CONTROL 0x0C
30 * #define GATE_SCAN_START_POSITION 0x0F
31 * #define DEEP_SLEEP_MODE 0x10
32 * #define DATA_ENTRY_MODE_SETTING 0x11
33 * #define SW_RESET 0x12
34 * #define TEMPERATURE_SENSOR_CONTROL 0x1A
35 * #define MASTER_ACTIVATION 0x20
36 * #define DISPLAY_UPDATE_CONTROL_1 0x21
37 * #define DISPLAY_UPDATE_CONTROL_2 0x22
38 * #define WRITE_RAM 0x24
39 * #define WRITE_VCOM_REGISTER 0x2C
40 * #define WRITE_LUT_REGISTER 0x32
41 * #define SET_DUMMY_LINE_PERIOD 0x3A
42 * #define SET_GATE_TIME 0x3B
43 * #define BORDER_WAVEFORM_CONTROL 0x3C
44 * #define SET_RAM_X_ADDRESS_START_END_POSITION 0x44
45 * #define SET_RAM_Y_ADDRESS_START_END_POSITION 0x45
46 * #define SET_RAM_X_ADDRESS_COUNTER 0x4E
47 * #define SET_RAM_Y_ADDRESS_COUNTER 0x4F
48 * #define TERMINATE_FRAME_READ_WRITE 0xFF
49 * -----------------------------------------------------------------------------
51 * 1.Remove:ImageBuff[EPD_2IN9_HEIGHT * EPD_2IN9_WIDTH / 8]
52 * 2.Change:EPD_Display(UBYTE *Image)
53 * Need to pass parameters: pointer to cached data
55 * EPD_RST -> EPD_RST_PIN
56 * EPD_DC -> EPD_DC_PIN
57 * EPD_CS -> EPD_CS_PIN
58 * EPD_BUSY -> EPD_BUSY_PIN
60 # Permission is hereby granted, free of charge, to any person obtaining a copy
61 # of this software and associated documnetation files (the "Software"), to deal
62 # in the Software without restriction, including without limitation the rights
63 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
64 # copies of the Software, and to permit persons to whom the Software is
65 # furished to do so, subject to the following conditions:
67 # The above copyright notice and this permission notice shall be included in
68 # all copies or substantial portions of the Software.
70 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
71 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
72 # FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
73 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
74 # LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
75 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
78 ******************************************************************************/
82 #include "DEV_Config.h"
85 #define EPD_2IN9_WIDTH 128
86 #define EPD_2IN9_HEIGHT 296
88 #define EPD_2IN9_FULL 0
89 #define EPD_2IN9_PART 1
91 void EPD_2IN9_Init(UBYTE Mode
);
92 void EPD_2IN9_Clear(void);
93 void EPD_2IN9_Display(UBYTE
*Image
, UBYTE
*Image2
);
94 void EPD_2IN9_Sleep(void);