Out-of-office display, GFX
 All Classes Files Functions Variables Enumerations Enumerator Groups
HardwareProfile.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2013 Andreas Misje
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
26 #ifndef HARDWARE_PROFILE_H
27 #define HARDWARE_PROFILE_H
28 
29 //#include <Compiler.h>
30 
31 /* 8 MHz * 4 PLL = 32 MHz: */
32 #define GetSystemClock() 32000000UL
33 #define GetPeripheralClock() ( GetSystemClock() / 2 )
34 #define GetInstructionClock() ( GetSystemClock() / 2 )
35 #define FCY GetInstructionClock()
36 
37 /* Configure graphics library: */
38 #define GFX_USE_DISPLAY_CONTROLLER_MCHP_DA210
39 #define USE_16BIT_PMP
40 #define GFX_GCLK_DIVIDER 80
41 #define GFX_EPMP_CS1_BASE_ADDRESS 0x20000ul
42 #define GFX_DISPLAY_BUFFER_START_ADDRESS 0x20000ul
43 /* 480 x 272 * 16 / 8 * 2 = 522,240 = 0x7f800 (double buffering): */
44 #define GFX_DISPLAY_BUFFER_LENGTH 0x7f800ul
45 /* 1 MB (16-bit) SRAM: */
46 #define GFX_EPMP_CS1_MEMORY_SIZE 0x100000ul
47 
48 #define USE_GFX_EPMP
49 
50 /* EPMP timing and polarity configuration: */
51 #define EPMPCS1_CS_POLARITY GFX_ACTIVE_LOW
52 #define EPMPCS1_WR_POLARITY GFX_ACTIVE_LOW
53 #define EPMPCS1_RD_POLARITY GFX_ACTIVE_LOW
54 #define EPMPCS1_BE_POLARITY GFX_ACTIVE_LOW
55 #define EPMPCS1_ACCESS_TIME 55
56 
57 #define GFX_DISPLAYENABLE_ENABLE
58 #define GFX_HSYNC_ENABLE
59 #define GFX_VSYNC_ENABLE
60 #define GFX_DISPLAYPOWER_ENABLE
61 #define GFX_CLOCK_POLARITY GFX_ACTIVE_LOW
62 #define GFX_DISPLAYENABLE_POLARITY GFX_ACTIVE_HIGH
63 #define GFX_HSYNC_POLARITY GFX_ACTIVE_LOW
64 #define GFX_VSYNC_POLARITY GFX_ACTIVE_LOW
65 #define GFX_DISPLAYPOWER_POLARITY GFX_ACTIVE_HIGH
66 
67 /* Configure glass (NHD-4.3-480272EF-ATXL-CTP): */
68 #define DISP_ORIENTATION 0
69 #define DISP_HOR_RESOLUTION 480
70 #define DISP_VER_RESOLUTION 272
71 #define DISP_DATA_WIDTH 24
72 #define DISP_HOR_PULSE_WIDTH 41
73 #define DISP_HOR_BACK_PORCH 2
74 #define DISP_HOR_FRONT_PORCH 2
75 #define DISP_VER_PULSE_WIDTH 10
76 #define DISP_VER_BACK_PORCH 2
77 #define DISP_VER_FRONT_PORCH 2
78 #define GFX_LCD_TYPE GFX_LCD_TFT
79 
80 #define BACKLIGHT_ENABLE_LEVEL 1
81 #define BACKLIGHT_DISABLE_LEVEL 0
82 
83 /* Definitions for POWER ON pin: */
84 #define DisplayPowerConfig()
85 #define DisplayPowerOn()
86 #define DisplayPowerOff()
87 
88 /* Definitions for backlight control pin: */
89 #define DisplayBacklightConfig()
90 #define DisplayBacklightOn()
91 #define DisplayBacklightOff()
92 
93 /* External flash configuration: */
94 #define GFX_EPMP_CS2_BASE_ADDRESS ( GFX_EPMP_CS1_BASE_ADDRESS + \
95  GFX_EPMP_CS1_MEMORY_SIZE / 2 )
96 #define GFX_EPMP_CS2_MEMORY_SIZE 0x200000ul
97 #define EPMPCS2_CS_POLARITY GFX_ACTIVE_LOW
98 #define EPMPCS2_WR_POLARITY GFX_ACTIVE_LOW
99 #define EPMPCS2_RD_POLARITY GFX_ACTIVE_LOW
100 #define EPMPCS2_BE_POLARITY GFX_ACTIVE_LOW
101 #define EPMPCS2_ACCESS_TIME 70
102 
103 #endif // HARDWARE_PROFILE_H