aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gdisp/PCF8812/PCF8812.h
blob: c2695b71516b63462eeba5936476038d7e7e86c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
 * This file is subject to the terms of the GFX License. If a copy of
 * the license was not distributed with this file, you can obtain one at:
 *
 *              http://ugfx.org/license.html
 */

#ifndef _PCF8812_H
#define _PCF8812_H

#define PCF8812_SET_FUNC				0x20  // Function set
#define PCF8812_H 					0x01
#define PCF8812_V 					0x02
#define PCF8812_PD					0x04

#define PCF8812_SET_DISPLAY				0x08
#define PCF8812_DISPLAY_MODE_BLANK			0x00  // bit D = 0, E = 0
#define PCF8812_DISPLAY_MODE_FILL			0x01  // bit D = 0, E = 1
#define PCF8812_DISPLAY_MODE_NORMAL			0x04  // bit D = 1, E = 0
#define PCF8812_DISPLAY_MODE_INVERT			0x05  // bit D = 1, E = 1

#define PCF8812_SET_PRS					0x10  // Set Vop range, VLCD programming range select

#define PCF8812_SET_Y					0x40  // 0 0  1  0  0 Y3 Y2 Y1 Y0
#define PCF8812_SET_X					0x80  // 0 1 X6 X5 X4 X3 X2 X1 X0

// =========================================

#define PCF8812_SET_TEMP				0x04  // set temperature coefficient (TCx)
#define PCF8812_TEMP_MODE_0				0x00  // TC1 = 0, TC0 = 0
#define PCF8812_TEMP_MODE_1				0x01  // TC1 = 0, TC0 = 1
#define PCF8812_TEMP_MODE_2				0x02  // TC1 = 1, TC0 = 0
#define PCF8812_TEMP_MODE_3				0x03  // TC1 = 1, TC0 = 1

#define PCF8812_SET_VMULT				0x08  // Set voltage multiplier factor
#define PCF8812_VMULT_MODE_0				0x00  // S1 = 0, S0 = 0 - 2 × voltage multiplier
#define PCF8812_VMULT_MODE_1				0x01  // S1 = 0, S0 = 1 - 3 × voltage multiplier
#define PCF8812_VMULT_MODE_2				0x02  // S1 = 1, S0 = 0 - 4 × voltage multiplier
#define PCF8812_VMULT_MODE_3				0x03  // S1 = 1, S0 = 1 - 5 × voltage multiplier
 
#define PCF8812_SET_BIAS				0x10  // set bias system (BSx)
#define PCF8812_BIAS_MODE_7				0x00  // 1 to 100
#define PCF8812_BIAS_MODE_6				0x01  // 1 to 80
#define PCF8812_BIAS_MODE_5				0x02  // 1 to 65
#define PCF8812_BIAS_MODE_4				0x03  // 1 to 48
#define PCF8812_BIAS_MODE_3				0x04  // 1 to 40 or 1 to 34
#define PCF8812_BIAS_MODE_2				0x05  // 1 to 24
#define PCF8812_BIAS_MODE_1				0x06  // 1 to 18 or 1 to 16
#define PCF8812_BIAS_MODE_0				0x07  // 1 to 10 or 1 to 9 or 1 to 8

#define PCF8812_SET_VOP					0x80  // write VOP to register, 1 VOP6 VOP5 VOP4 VOP3 VOP2 VOP1 VOP0

#endif /* _PCF8812_H */